Secret ingredients to quality software


Do you explain the 'Cone of Uncertainty' to people on the fence about Agile?

Created on 14 Jul 2011 | Last updated by Ulysses Maclaren on 04 Feb 2014 05:22 AM (about 7 years ago)

Giving fixed features and a fixed delivery date is very hard. Giving a fixed price is hard too... this is because of the 'Cone of Uncertainty'.

The basic reason is...

Over time, our ability to accurately predict a project's remaining time estimates gets better.

As a team, our understanding of the amount of work remaining on a project becomes more accurate as the project moves along.

At the project’s initial conception, there is a lot to be learnt and consequently the estimates are likely to be inaccurate by a large margin. Half way through, however, the team has a much better idea of what will and will not be in scope, the technical issues are starting to get ironed out, and the estimates of the work now remaining become far more accurate.

396294 Cone of Uncertainty
Figure: The further away an event is (task, user story, job), the harder it is to know how big (effort, time) it is

Bad example: Waterfall project.

Estimating everything up front, when you know the least about what you will be doing (potentially 6 months of work).

Good example: Scrum Project.

Only estimating the top items in the backlog, that could be reasonably done in the next sprint (1-4 weeks of work)

We open source. This page is on GitHub