Steve McConnell has a new book out, Software Estimation – Demystifying the Black Art. While I’ve only read the first chapter, I found some interesting content.
Say you’ve estimated and planned a project to complete in 20 weeks. Twenty weeks later, your team successfully delivers the project – woo hoo! Sounds like you and your team have done a great job of estimating – but have you?
In a typical 20 week software project, how much will change? A lot in my experience – requirements change as you learn more, some staff leaves and new staff comes, priorities change and re-focus your team, and more. So how many of the estimate assumptions and inputs are still valid at the end of a 20 week project? How can a team possibly say that it accurately predicted how much it would take to complete the project?
This scenario leads to McConnell’s main point of the first chapter of his book. I quote, “The primary purpose of software estimation is not to predict the project’s outcome; it is to determine whether a project’s targets are realistic enough to allow the project to be controlled to meet them”.
Back to the 20 week project scenario, the estimate must have been a good one even though many of the assumptions and inputs have changed. Why? Because the project was able to be controlled to a successful conclusion. McConnell’s definition of a “Good Estimate” supports this –
“A good estimate is an estimate that provides a clear enough view of the project reality to allow the project leadership to make good decisions about how to control the project to hit its targets.”
Thinking about estimation like this is a subtle, yet very useful, mind shift. Think about what you are doing with your estimates. Is the accuracy of your estimate good enough to plan against? Are you planning with the appropriate amount of detail given the accuracy of your estimate? Are the estimate inputs (requirements, analysis, etc) good enough to create a ‘good estimate’ to control your project?
I would recommend this book based on the ideas of the first chapter alone, but the rest of the book also looks good. Check it out!