Software Estimates - A Necessary Evil - Article Recap
A recap of Erik Thorsell's article on the tension between product owners who need estimates for planning and developers who find estimation difficult, and how to create healthier estimation practices.
- The central tension: Product owners ask developers for time estimates on features without enough context, while developers find estimating difficult and sometimes pointless—yet POs see estimates as essential for planning.
- Why POs value estimates: Product owners use estimates to prioritize backlogs because demand (feature requests) almost always exceeds development capacity, helping make informed decisions about what gets done and when.
- Business criticality: Estimation helps POs balance market needs and customer expectations; unprioritized or poorly estimated backlogs can lead to wasted resources, user attrition, or financial loss.
- External pressures: POs often face pressure beyond user needs—pre-communicated release dates and content commitments make reliable estimates crucial for managing stakeholder expectations.
- Developer perspective: Developers dislike estimation because it's hard to predict unknowns, especially with legacy systems or complex features, and estimating can feel like a setup for failure.
- Estimates as deadlines: When estimates are treated as hard deadlines rather than best guesses, it creates unhealthy pressure and reduces psychological safety.
- Sandbagging and silence: Misused estimates harm psychological safety, increasing stress and discouraging transparency—developers pad estimates or under-communicate genuine risks to avoid repercussions.
- The middle ground: Healthier environments encourage developers to communicate about changes and uncertainties as projects evolve, with estimates being updated accordingly.
- Inherent difficulty: Software estimation is challenging due to unknowns, evolving requirements, and differences between projects and people—even experienced developers struggle with accuracy.
- Balancing act: Estimation requires balancing business needs (cost and time) with technical realities; scope creep and unforeseen challenges are common.
- Necessary for success: Accurate estimation enables resource allocation, timeline planning, and budget management—vital for project success.
- Modern methods: Story points, range-based forecasting (P50, P90 confidence levels), historical data comparison, parametric models, and team-based approaches like Planning Poker.
- Continuous re-estimation: Updating estimates as new information emerges is increasingly considered an industry best practice.
- Empathy is essential: POs must appreciate developers' challenges, and developers need to understand business needs for effective collaboration.
- Key takeaway: Estimates are a pragmatic necessity, not a perfect science—they're required for planning but must be understood as fluid predictions, not rigid commitments.
- Healthiest approach: Communicate openly about changes and re-estimate as new information emerges, improving psychological safety and outcome predictability.
The full article is available here.