This is the “Cone of Uncertainty.” The numbers behind the cone are based upon surveys of thousands of software projects and the differences between their estimated and actual schedules. As you travel into the cone, you are travelling further into the project’s timeline. Estimates made later in a project are base upon more data and more accurate. So far, all of this is common sense.
Two things most people don’t understand about the cone:
- It’s a best case scenario
- It expects the teams to re-evaluate estimates at each step
The cone represents the BEST CASE SCENARIO, you live OUTSIDE of the cone. At a project’s initial concept, the best estimator should expect to be off by AT LEAST a factor of 4.
Second, the estimates do no magically get more accurate. This is where you get to the “Wormhole of Uncertainty,” where you find a whole other project hiding in the last 10% of your current project.
It is this second point where most teams miss the point. The cone narrows because at each phase the teams take what they have learned and re-evaluate the estimate. That means that previous estimates are off the table in doing the next estimate. A team may have initially estimated 1 month, and come back in a later phase estimating 5 months.
Most managers would howl that this estimate has increased from the original, so it is rejected. This is how you guarantee a continued stream of bad estimates. A more realistic project would recheck their estimates at each phase so that they can provide a continued stream of the most accurate data. At each phase, the accuracy of the estimates should increase:
|Estimate||Factor||Low End||High end|
|Initial Concept||1 month||0.25x – 4.00x||1 wk||4 months|
|Approved Product Definition||2 month||0.50x – 2.00x||1 month||2 month|
|Complete Requirements||10 wks||0.67x – 1.50x||7wks||15 wks|
|UI Design Complete||11 wks||0.80x – 0.125x||9 wks||14 wks|
|Detailed Design||11 wks||0.94x – 1.19x||10 wks||13 wks|
As a developer, expect someone to bust out the cone at sometime. Usually they do this to claim some level of accuracy, or limit on how much “padding” they will accept. The cone is the exact opposite. The cone serve to tell you the upper limit of your accuracy, not the lower limit.
Most importantly, the model states that projects get better and better estimates as they go on. This means that you HAVE to keep redoing estimates. That does not mean “validating” previous estimates. It mean using all of your new information to get a new estimate.