How Software Estimates Fail Part 2: Estimating Once

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.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s