The Reality of Software Project Estimation: Why Accurate Predictions Are Impossible
By
mattjhall
Master baker tier. Every paragraph earns its place on the tray.
Summary
The article challenges the conventional wisdom in software engineering that accurate project estimation is possible. The author, a staff software engineer, argues that software estimation is fundamentally impossible due to the inherent unpredictability of creative work, unknown unknowns, and the complex nature of software development. Instead of trying to provide precise estimates, the author advocates for a more honest approach: acknowledging uncertainty, using ranges rather than single-point estimates, focusing on risk identification, and communicating clearly with stakeholders about the realities of software development. The piece offers practical advice for engineers on how to navigate estimation conversations while maintaining professional integrity.
Key quotes
· 4 pulledEstimating how long software projects will take is very hard, but not impossible. A skilled engineering team can, with time and effort, learn how long it will take for them to deliver work, which will in turn allow their organization to make good business plans. This is, of course, false.
As every experienced software engineer knows, it is not possible to accurately estimate software projects. The tension between this polite fiction and its well-understood falseness causes a lot of strange ac
Software estimation is not a technical problem to be solved, but a social problem to be managed.
The best we can do is to be honest about our uncertainty, to communicate clearly, and to focus on the things we can control rather than pretending we can predict the unpredictable.
You might also wanna read
The Skyscraper vs. Shed Metaphor in Software Engineering Approaches
The article uses the metaphor of constructing a skyscraper versus building a backyard shed to discuss software engineering approaches. It co
The Impact of AI-Generated Code on Programming Skill Development
The article argues that using AI to generate code for programming tasks makes developers worse programmers by preventing them from developin
Understanding Dangerous Advice in Software Engineering: The Parallels Between Sharp Tools and Risky Guidance
The article discusses the concept of "dangerous advice" in software engineering, comparing it to "sharp tools" like production access that c
A critique of misusing "backpressure" in AI code-generation system design
This article critiques Lucas Costa's piece on building systems for code-generating AI robots, arguing that Costa misuses the term "backpress
Three Years In: A Senior Engineer's Reflection on AI's Impact on the Software Development Role
A senior engineer reflects on the long-term sustainability of AI tools in software development, three years into deep organizational adoptio
Three Years In: A Senior Engineer's Reflection on AI's Impact on the Software Development Role
A senior engineer reflects on the long-term sustainability of AI tools in software development, three years into deep organizational adoptio
