Getting software schedules right
As a software company without any external investment and focused on organically growing at this moment, hedgehog lab faces the constant dilemma of balancing revenue with driving innovation and the development of our products. Although we like to think of ourselves as a “product company”, all our current revenue stems from service work on client projects. The need to deliver on client projects while catering time for our in-house products creates a lot of pressure on the schedule available for our products. This is apparently not bad, as many good software products were created with the same constraints. However, the key difference is that we are a start-up that needs nurturing and has high cash demands.
Given these constraints, it is no surprise that getting our product delivery schedule right has been a painful learning process. We have had to constantly revise deadlines, reduce scope and re-visit our estimates. There is nothing wrong with our estimates; we usually get these spot on in client projects. However, the demands of client work means that scheduled product tasks get postponed indefinitely and without working over-time (which is evil), there is just not the possibility to squeeze a set of tasks into a time period. The result of all this is that we were never able to accurately predict our product milestones and the elusive launch date.
In light of this, the article by Joel Spolsky (our un-official mentor) on evidence based scheduling comes as a breath of fresh air. Being able to estimate an approximate release date based on evidence is not a new thing. In fact, it is common sense. What makes this method the crown jewel in scheduling is the fact that it combines facts with a clever algorithm and probability theory to deliver some interesting probabilities of when you can expect to deliver a version of your software. The coolest feature of this (in Fogbugz) has to be the slider that allows you to predict a date by selecting the priority of the features you want to ship. It just makes sense.
Although EBS (Evidence Based Scheduling) has been built into Fogbugz, you don’t necessarily need Fogbugz to implement this. The method is relatively easy to even implement on paper and I presume would be pretty accurate even if you do not take the complex algorithm and factors like velocity into account.
This is something we will be trying at hedgehog lab (we might even customise it to suit our approach) and who knows, it might even turn up in fixx in the future.
posted by Sarat Pediredla on November 10, 2007 at 10:06 a.m.
Who are the team members of Hedgehog lab? Who did the design? Is Gareth Rushgrove involved in some way?
AD