Software Estimates: No Longer an Engineering Problem
In this talk, we examined common pitfalls in IT project estimates and discussed how communication gaps between engineers and clients often lead to inaccuracies. We also explored strategies to bridge these gaps, such as using the Cone of Uncertainty and offering ranges instead of fixed deadlines. Additionally, we clarified the distinctions between predictions, estimations, and forecasts in software engineering to provide a comprehensive understanding of each concept's role in project management.
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.