Software Estimation: Demystifying Challenges Beyond Engineering
Discover why IT project estimates often fail, with insights from a McKinsey study and expert Philip E. Tetlock. Learn how communication gaps between engineers and clients contribute to estimation challenges and explore strategies for improved understanding and setting realistic expectations, such as using the Cone of Uncertainty and providing ranges instead of fixed deadlines. Understand the differences between predictions, estimations, and forecasts in software engineering.
The talk discusses the persistent challenges and inherent issues faced by software engineering in the realm of estimation for IT projects. It refers to a McKinsey study that found IT projects to be 45% over budget and 7% behind schedule on average, as well as research by Philip E. Tetlock, who found that expert predictions across various fields were often no better than random guesses.
The author suggests that despite having sophisticated estimation techniques in engineering, the recurring problems with estimates might not be solely due to technical or mathematical challenges. Barry Boehm is quoted emphasizing that an estimation technique cannot compensate for a lack of understanding of the software work to be done.
The author then speculates that the root cause of estimation issues might lie in communication and understanding between engineers and clients. The talk points out how clients often don't know how to interpret estimates or don't fully understand what they want, which leads to inaccurate estimations.
To address this, the author suggests looking at other professions (like architecture, retail, and medicine) where professionals adjust their communication methods to help clients understand complex information. The author recommends using estimates as a means of fostering client participation in the process and setting realistic expectations through continuous communication.
Moreover, the talk advises explaining where one stands in terms of uncertainty using tools like the Cone of Uncertainty and employing ranges rather than fixed time frames when making estimates. It underscores that deadlines imply commitments while ranges set expectations.
The talk concludes by differentiating between predictions, estimations, and forecasts—each with its own context and application—and highlights common pitfalls when individuals provide their own estimates without considering all aspects of project work.