Strong opinions, weakly held

I am a long-time fan of bug tracking applications. One day I’ll post my basic toolkit for setting up a new development team, but suffice it to say, a good bug tracking application is a key part of the picture. Obviously this isn’t revolutionary — most software development teams use a bug tracking tool of some kind or another.

Lately, though, I’ve been using Pivotal Tracker, a project planning tool that resides somewhere between Microsoft Project and your favorite bug tracking application. The idea behind it is that it allows you to enter all of the tasks associated with a project, put them in order, chunk them into iterations, and then track your progress toward milestones.

Bug tracking tools are great for dealing with tasks, and are usually OK when it comes to grouping those tasks into releases, but what Pivotal Tracker provides beyond that is the ability to easily keep track of how quickly you’re completing tasks and how that pace affects the project calendar.

To set up a project in Pivotal Tracker, you tell it how long your iterations are (one week, two weeks, or longer), enter your tasks, and then add estimates for each of those tasks. Pivotal Tracker’s idea of estimates is very simple — you give tasks one to three points. It keeps track of how many points you’re finishing per iteration, and then estimates how long it will take to finish your project based on your historical performance. So if you have an 80 points left on your project and you’re finishing 20 points a week, it calculates that you’ll be done in a month. If your progress slows to 10 points a week, it’ll spread the remaining tasks out over two months. This sounds really simple but the fact that it all works without requiring the administrator to manually move tasks from one release to the next is a huge convenience. In fact, it’s the key convenience that sets Pivotal Tracker apart.

This addresses the largest difficulty I’ve run into in building software — catching schedule problems early in the process. All too often, projects get behind early but the impact of being behind isn’t felt until it’s too late to do much about it other than push back the delivery date. This is what processes like Scrum are really about — shrinking the feedback loop to catch problems early. Pivotal Tracker is the tool that makes those kinds of processes easier to implement.

I have a lot more to say about Pivotal Tracker that I’ll be writing up soon, but I wanted to just introduce it first. If you’re managing software development projects, I strongly encourage you to check it out.