29 Sep 2010
When Will This Project Be Done?
I’m in the process of figuring out the best way to estimate time and cost on a proposal for an agile project. It’s always a tricky thing. Agile, by nature, is constantly embracing change and harnessing it for the good of the product and the client. So how do you communicate when it will be done or for that matter estimate how much it will cost?
I came across this quote from Ron Jeffries. It was so well put, I developed a giddy little grin and shouted out “AMEN”!
So here’s an example of how he answers the question, “So when will this project be done?”.
Right now, this appears to be a 200-point project. Based on our performance on other projects (or a random guess), with N programmers on it, and your intimate involvement in the project, a project of this size will take between 4 and 6 months. However, we will be shipping software to you every two weeks, and we’ll be ticking off these feature stories to your satisfaction. The good news is that if you’re not satisfied, you can stop. The better news is that if you become satisfied before all the features are done, you can stop. The bad news is that you need to work with us to make it clear just what your satisfaction means. The best news is that whenever there are enough features working to make the program useful, you can ask us to prepare it for deployment, and we’ll do that. As we go forward, we’ll all see how fast we’re progressing, and our estimate of the time needed will improve. In every case, you’ll see what is going on, you’ll see concrete evidence of useful software running the tests that you specify, and you’ll know everything as soon as I know it. (emphasis mine)
Ron Jeffries, as quoted in Mike Cohn’s book “Agile Estimating and Planning”, Upper Saddle River, N.J.: Prentice Hall PTR – 2006
Now that is well put!