Simplicity is the ultimate sophistication.
My company recently decided to update our project management software. Being an Agile development team we evaluated a number of Agile products. Leading up to our decision, we ran a small number of mini-pilots on several products. From a feature, functionality perspective, especially in the area of Sprint management reporting, Rally is the best product. So why didn’t we select it?
To digress; the primary business purposes of project management software are as follows:
- to synchronize stakeholders expectations on the project by organizing and succinctly communicating the requirements, resources, and timeframes.
- to reduce complexity for the project team by decomposing a big project into smaller, prioritized, actionable tasks.
- to provide near real-time feedback on project progress, so that adjustments can be executed in a relevant timeframe to stay on track.
- to provide long-term trend reporting to affect macro decisions to adjust best practices and organizational effectiveness.
So, what did we choose? One of the SaaS products we evaluated was Basecamp. We almost didn’t do our mini-pilot with Basecamp, except that the simple elegance of its user experience really enticed us to try it out. The amazing thing is how easy it is to use and collaborate. The team immediately latched on in a natural way. Basecamp allowed us to cleanly synthesize communications, specifications and clarifications into the project management tasks. Using the project management features of the other products was an “additional task” that the team had to do. Using Basecamp was a natural reduction in tasks that the team did on a daily basis – in both task management and communications. I cannot emphasize this enough. Basecamp passed the litmus test of development team acceptance; it is easier to get your daily work done using Basecamp than it is to not use Basecamp.
Ok, ok, what about the negatives. Those of you somewhat familiar with Basecamp may be saying, “Basecamp is not an Agile product. How could you select that over Rally?” I am sympathetic with this viewpoint. There a few areas where Basecamp does fall short. The most notable shortcomings are as follows:
- the taxonomy is not Agile. Basecamp is about Milestones, To-do Lists and To-do Items, not Sprints, Stories, and Tasks. The workaround on this shortcoming is really simple. We instructed our team; Sprint=Milestone, Story=To-do List, and Task=To-do Item. Training time was about 30 seconds. Basecamp could improve their product by making these field labels user configurable.
- for complex projects, less hierarchy exists. Basecamp doesn’t really support a project organization hierarchy as complex as Agile. For a big software project the conceptual hierarchy is Vision, Epic, Theme, Story+Tasks. While the execution hierarchy is Roadmap, Product, Release, Sprint, Story+Tasks. With the common linkage between concept and execution being at the Story+Tasks level. Basecamp does not directly support some of these higher level concepts – for instance, there is no construct called an “Epic”. Our workaround, is to implement these structures through our best practices Convention-over-Configuration techniques. We have found this effective, but not really optimal.
- no built-in concept of task sizing. Perhaps the biggest surprise to me is that Basecamp does not directly support task estimation. This seems strange since it does directly support assignment of a task to a specific person and the entry of actual time against a task. We have solved this shortcoming via convention. At the end of every task name we include the sizing estimate. We support Units, Hours, or Days with all the common abbreviations. For example, a task named “Some detailed task 6h” would have a 6 hour scope associated with it. Once again effective, but not optimal. I am hopeful that this enhancement is high on the Basecamp new feature request list.
- no built-in Agile reporting. Certain Agile reporting is necessary to drive both real-time feedback and long-term trend analysis – such as the Sprint Burndown Chart and the Velocity Trends by Sprint Graph. We have solved this shortcoming by using the Basecamp web services (actually REST based) to retrieve the data and build our own reporting. This reporting is secure and web based, with additions on the way for iPhone reporting.
In short, we selected Basecamp because it embodies our motto; Keep the simple things easy. Make the complex things possible. It is a natural extension of how we work today, actually reducing our daily developer burden. Management feels more in control, development feels more in-sync. Basecamp’s does have some shortcomings, but these can be effectively overcome but developing and using well defined best practices with a disciplined approach.