The Cone of Uncertainty is a useful approach to defining the expected range of uncertainty at specific stages in a project.
The primary purpose of software estimation is not to predict a project’s outcome; it is to determine whether a project’s targets are realistic enough to allow the project to be controlled to meet them ‒ Steve McConnell
The beginning of all business critical software development projects is the point in time when performing organizations are least certain about the project, yet it is also the time when top management expects to be delivered project estimates that are very precise. The difficulty of accurate size estimation is compounded especially at the time of inception when very little information is available. This problem is visually depicted in the “cone of uncertainty” diagram which was initially conceived by Boehm
The cone says the effort estimate determined in earlier phases of the project, such as the definition of the initial concepts, might differ up to four times from the final one. This variation can be explained by the fact that initial concepts do not describe the final software system accurate enough. As more details get developed, the Cone converges to the actual value.
If the project estimate is NOT being reduced in some manner - inside the Cone's Upper and Lower bounds, then it is not likely the project will be able to stay on plan.
Project Management Institute (PMI) [8] presents similar results about uncertainty, except that their results introduce an asymmetric cone where initial estimates vary between
+75% and –25%, budgetary estimate between +25% and -10%, and the final estimate between +10% and -5%.
Little [8] makes the claim that agile methods don't follow the Cone - that is the uncertainty doesn't reduce as the project proceeds. But no root cause of this failure in the increasing understanding of the deliverables of the project is provided. This cone has the overestimate portion but not the underestimate portion of a cone. No definitive cause is provided for this behavior other than the corporate culture does not provide the means to underestimate and the 4 other managerial and market impacts in the business area the paper examines. No suggested corrective actions are provided to reduce the estimating error as well, it's an observation with no underlying cause for the observed data. Without the cause for the observation, no corrective or preventive actions can take place is move or keep the performance of the project inside the cone of uncertanty.
The program management processes should seek to reduce uncertainty in the variable of the project. If there is no process in place to reduce these variables, the probability of project success is reduced.
Here's a very short reading list for this topic (88 more items on Request)
- "A Quick Estimation Approach to Software Cost Estimation," Leckraj Nagowah, Hajrah BibiBenazir, and Bachun, African Conference on Software Engineering and Applied Computing,
- "A Probabilistic Method for Predicting Software Code Growth," Michael Ross, Journal of Cost Analysis and Parametrics 4:127-147, 2011.
- "10 Deadly Sins of Software Estimation, Steve McConnell, Construx, 2002.
- "A Comparative Evaluation of Effort Estimation Methods for the Software Lifecycle," Jovan Popovic and Dragan Bojic, ComSIS, Vol. 9, No. 1, January 2011.
- "A hybrid software cost estimation approach utilizing decision trees and fuzzy logic," Efi Papatheocharous and Andreas Andreou, International Journal of Software Engineering and Knowledge Engineering, May 2012.
- “Coping with the Cone of Uncertainty: An Empirical Study of the SAIV Process Model,” Da Yang, Barry Boehm, Qing Wang, and Mingshu Li, ICSP 2007, LNCS 4470, pp. 37–48, 2007
- “Reducing Estimation Uncertainty with Continuous Assessment: Tracking the 'Cone of Uncertainty’” Pongtip Aroonvatanaporn, Chatchai Sinthop and Barry Boehm, Center for Systems and Software Engineering University of Southern California, Los Angeles, CA 90089, ASE’10, September 20–24, 2010, Antwerp, Belgium, 2010.
- “Shrinking The Cone Of Uncertainty With Continuous Assessment For Software Team Dynamics In Design And Development,” Pongtip Aroonvatanaporn,” PhD Thesis, University of Southern California, August 2012.
- “Improving Software Development Tracking and Estimation Inside the Cone of Uncertainty,” Pongtip Aroonvatanaporn, Thanida Hongsongkiat, and Barry Boehm, Center for Systems and Software Engineering, University of Southern California.
- “Quantifying IT Forecast Quality,” J. L. Eveleens and C. Verhoef, Science of Computer Programming, Volume 74, Issues 11–12, November 2009, Pages 934-988.
- “Effort Estimation in Agile Software Development using Story Points,” Evita Coelho and Anirban Basu, International Journal of Applied Information Systems (IJAIS), Volume 3, Number 7, August 2012.
- "GAO Cost Estimating and Assessment Guide," GAO-09-3SP.
- "Schedule Estimation and Uncertainty Surrounding the Cone of Uncertainty," Todd Little, IEEE Software, May/June 2006
- “Uncertainty in through-life costing-review and perspectives,” Yee Mey Goh, Linda Newnes, Anthony Mileham, Charis McMahon, and Mohammad Saravi, IEEE Transactions on Engineering Management, 57(4), pp. 689-701
- “Domain-Based Effort Distribution Model for Software Cost Estimation,” Thomas Tan, University of Southern California, 2012.