Profile picture of Jim Pruetting

Software Estimation Without Guessing

Estimation and Its Challenges

The Purpose of Estimation

Estimating Size

Forecasting with Data

Estimating Time

Estimation in Agile Contexts

Planning with Estimates

Communicating Estimates

Improving Estimate Quality

Estimation in Complex Organizations

Addressing Common Estimation Problems

Key Takeaways

  1. Match estimation technique to purpose: Choose estimation methods based on whether you’re forecasting, making commitments, or coordinating
  2. Focus on accuracy over precision: Prioritize estimates that are roughly right rather than precisely wrong
  3. Use relative sizing: Implement story points or t-shirt sizing to estimate relative size instead of absolute time
  4. Make uncertainty explicit: Express estimates as ranges or with confidence levels rather than single points
  5. Base estimates on data: Use historical performance data to create and validate estimates
  6. Break work into small pieces: Decompose work into small, estimable units to improve accuracy
  7. Create collaborative estimates: Generate estimates as a team rather than individually
  8. Communicate appropriately: Present estimates with the right level of detail and precision for the audience
  9. Improve continuously: Regularly review estimation process and results to get better over time
  10. Balance predictability and adaptability: Find the right mix of reliable forecasting and ability to respond to change