It is notoriously difficult to estimate how long something will take to do. Take, for example, travel. A car journey to London from Brighton should be easy to estimate based on the distance divided by a reasonable average speed. But what is a reasonable average speed? Traffic should also be considered if the estimate is to be accurate and, for the same reason, roadworks. There are other considerations that would affect the estimate but what is obvious from this small set is that it is not possible to guarantee an estimate’s accuracy at this stage.
If we take the example further, and look at how such an estimate would change over the duration of the journey, we can see that the only time the estimate can be guaranteed as 100% accurate is once the journey is complete – when the estimate is an actual.
The situation is no different in software development and the accuracy of the estimation of software tasks also increases over time. This change in accuracy over time often referred to as the ‘Cone of Uncertainty’.
The Cone of Uncertainty shows how an estimate will start with a high degree of uncertainty – either over-estimated or under-estimated – which then improves over time as more is known about the task(s). The diagram shows several common stages within a project and shows how accuracy will be increased as the project progresses.
If, therefore, it is not possible to guarantee the accuracy of an estimate, then another approach is required.
It is reasonable to assume that an estimate for completion of a single task could be bounded by a range of best and worst possible cases. If such a range is further defined as having a most likely completion point, an estimation profile for the task can be demonstrated.
Program Evaluation and Review Technique
The Program Evaluation and Review Technique (PERT) for software estimations requires developers to provide a range of estimates for a task. PERT requests a best (B), likely (L) and worst (W) case for each task with which one can plot a probability curve for the task. The probability curve plots the probability of completion against the completion time.
From the ranged estimate an expected case (E) can be calculated that has a probability of 50%. As can be seen in the graph there are a number of ways of calculating the expected case, based on a weighted average of the best, likely and worst estimates for the task. The weights selected for the expected case should ideally be based on historical data from previous actuals and estimates. In the absence of such historic data, the E=(B+4L+W)/6 equation is the prudent choice.
Another benefit of the ranged estimation approach is that it highlights tasks that have a high risk. These can be seen as tasks with the largest range. Where such tasks are identified action can be taken to further understand their nature and therefore provide a more accurate estimation. This can be done through:
- research and analysis
- prototyping
- additional requirements workshops
Combining multiple tasks
As multiple tasks are estimated a number of task probability profiles will be created. The tasks can be combined to produce an overall project profile that describes the full project.
Understanding the project profile is useful but the practicalities of project scheduling and costing dictate that a single figure is produced. As has been demonstrated, completely accurate single estimates are not possible. However, with the application of some basic statistical methods, it is possible to produce estimates at known probability or confidence levels.
The importance of selecting the right confidence level can be seen in the chart below which shows how the confidence level and break-even point for a project define whether the project is likely to be profitable or loss-making.
Understand that estimates have two dimensions
Effective delivery of projects on time and on budget requires the application of a clear risk management approach throughout the whole project life cycle. The key learning from this approach is that any project estimate is meaningless without an accompanying confidence level. Applying this principle allows the management of both dimensions in project estimation, which in turn improves the identification and mitigation of risks throughout the project life cycle.






Very interesting. I’ve been away from project management for a while and found your article when looking for information on the Cone of Uncertainty.
I now have responsibility for the performance of project requirements teams and ant to use this approach to start putting some science and structure into our resource estimates.
Will this technique be appropriate for estimating the time it takes to deliver any aspect of a project – including the requirements artefacts that my team will be accountable for?
Hi Stuart,
There’s a great book called Software Estimation by Steve McConnell that goes into a lot more detail on this. I’d definitely recommend it.
The cone of uncertainty demonstrates how estimation accuracy increases throughout a project. As you will always start a project from the most uncertain point, it makes sense to try to incorporate that uncertainty into the estimates. The PERT approach takes into account the uncertainty, modelling it through the three best, likely, worst parameters. In addition, the 50% Expected point can be pushed towards the ‘worst’ estimate to model for unknown and unexpected tasks.
The technique is suitable for all types of estimations not just software so should work well for your requirements artefacts. The knack is in gathering information about previous, similar activities and using them to feedback into the model, increasing the accuracy of the model.
The real feature of the process is that it lets you specify a particular single duration with a calculated confidence. A confidence which can be selected based on the inherent risk within a project or the sensititivity to deadlines and completion points.
Pingback: Should story points be a measure of complexity or effort? | Michael Tang's Blog – Keep'in Agile in the World of IT
Thanks for the informative post..All my confusion about the cone of uncertainty are cleared..Thanks again.
Hi Pravin,
Thanks for the comments. Glad the article helped.
Liam