Here at RJMetrics, 2011 was full of growth: we went from a few employees to a dozen, and more than tripled our customer base. We moved into our new Center City, Philadelphia office on January 1st, and promptly outgrew the space. We’ve hired developers, analysts and designers, and although we’re far from a big company, we aren’t a couple of guys in an attic anymore either. Over the course of the year, we evolved a handful of traits in response to problems caused by this growth. These are a handful of the lessons we’ve learned:

Email is not an organization tool

E-mail was always our default medium for getting feedback from our customers and product. Customer has a problem? E-mail our support team. Code ran into an unusual exception? Send an automated e-mail to warn the dev team.

This approach has a number of problems. E-mails don’t have an owner so much as a number of contributors – how do we know who is responsible for this support request? How can we see all of the pending requests? Automated e-mails inevitably lead to a filtering problem – once I receive three automated e-mails with the exact same information, I ignore them going forward.

We have been transitioning our e-mail based processes onto more suitable platforms. Zendesk allows us to assign requests to team members, see all outstanding requests at a glance, and maintain a knowledge base of answers to commonly asked questions. Instead of e-mailing the team when our code does something unexpected, we automatically generate high priority Fogbugz tickets for our development team to investigate further.

Anything we can do, our customers can do better

In the early versions of RJMetrics, customers were unable to edit anything beyond the level of charts and dashboards – modifications to the actual data set had to be performed by an RJMetrics analyst. The stated reason for this was that the tools we had to perform these changes were powerful and confusing, a mix that we were afraid might lead customers to make irreversible changes accidentally.

But, as our customer base has matured, we have felt more demand for data warehouse management tools, and as our product development team has matured, we have recognized that the above reasons are really just lame excuses. We can build tools that aren’t confusing, and we can build in protections for reversing accidental changes – and that’s what we’re going to do. In 2011 we began by exposing a Trend editor, restriction set editor, and connection manager into the settings page, and we are planning to continue to continue to build out this tool set in 2012.

Bug tracking != Product Management

Just about a year ago we started using 2 week long sprints to organize development tasks and track progress. As our team and backlog grew, though, there was also a growing disconnect between small implementation tasks and our higher level goals for the product and company. Too often we would prioritize one or two of the most urgent tasks across dozens of projects into the sprint, and then feel disappointed when we didn’t have much tangible forward progress to show at the end.

To address this we created a road map of prioritized projects and categorized every task by project. Now we plan sprints by looking at the highest priority projects, and allocating enough time for each project to hit its predetermined milestones.

We are our own best critics

The most important change we made in 2011 was to introduce processes for giving ourselves feedback. Our code review system now ensures that poor programming practices are squeezed out, and best practices dispersed through our development team.

More generally, every month we conduct mini-review sessions to encourage our team to step back from their day-to-day work and discuss what they think is and isn’t working at RJMetrics on a strategic level. In fact, most of the changes listed above came out of these review sessions. This feedback mechanism will help us evolve and face the new problems that will arise as the team and company continue to grow.

These are a few of the most valuable lessons we learned this year – what did your company learn in 2011? Happy holidays from the RJMetrics team.