Mastering the Black Art of Software Project Estimation
It was Steve McConnell who first compared estimation to the black arts, and McConnell is also credited for the thought behind the “cone of uncertainty.” The concept is pretty simple: At the earliest stages in a software project, the uncertainty relating to time and cost is greater. Over time, as the project becomes closer to being completed, a lot more is known and estimations, cost, and the time to delivery theoretically should be a lot more accurate.
The problem with this cone and the above picture—taken from the blog, Agile In a Nutshell—is that customers want promises to be made early in the development process so they know what they’re getting into. How can organizations please their customers? By flattening the cone of uncertainty.
Agile In a Nutshell's Jonathan Rasmusson explains that one of the first steps to take in dealing with the cone is to simply be “upfront and honest” with customers. Explain to them that there are a lot of unknowns at the beginning of any project, and because of this, it’s simply not the time for promises, and that anyone making promises is setting up himself and the customer for disappointment.
Another option for flattening the cone of uncertainty and thereby allowing your customers to be a bit more at ease early in the game is by creating an estimation center of excellence (COE).
QSM's Larry Putnam, a project estimation and benchmarking software provider, explains that a failure to deliver is not always the fault of the execution of the development itself but is often a failure to simply meet the customer’s expectations. In a recent webinar, Putnam listed five striking reasons for failure, all of which can occur in the early days of a project—and at the cone of uncertainty’s widest point.
- Accepting a forced schedule or mandated completion/milestone dates without substantiated data and analysis
- Adding excessive personnel to achieve unrealistic schedule compression
- Failing to account for and justify requirements growth or a change in the schedule and budget forecasts
- Emotional or "intuition-based" stakeholder negotiation that ignores facts and statistics
- False but common belief that the proverbial IT silver bullet alone can solve project throughput or process issues
Putnam also explains that in order for an estimation COE to be successful, the leadership of the organization needs to be completely on board, as is the case anytime agile development is used.
No one can deny that we’re living in a data-driven world, and vast resources are being spent on using data for everything from requirements elicitation to retrospectives during and after a project’s completion.
And as any tester or developer can attest: Convincing your customers to perhaps spend a little more money upfront so that they can save money down the road is a lot easier when there’s data and honesty from day one to prove your point.