Chapter 14. Estimating at the right level with the right people

 

Estimating software is a mystery for most teams. Teams can spend huge amounts of time breaking down features to create their estimates, but the actual time needed is usually a vastly different number. The issue lies in two areas: techniques and expectations.

Most teams use traditional estimation and capacity-planning techniques. Traditional techniques are dependent on constants and repetitive work. A traditional planning process wants to know how much time it takes to build a widget, how many machines are available to build the widgets, and how many hours a day the machines can be used for building the widgets.

As you probably know, each piece of software is unique, and it’s difficult to estimate something that is being built for the first time. We never build the same widget twice. It’s also hard to treat a developer like a machine and predict their output on a daily basis. Communicating this to sponsors and stakeholders is also challenging; many experienced software professionals still believe incorrect estimates are more closely tied to incompetence than to the realities of software development.

14.1. Contrasting traditional and agile estimation techniques

14.2. The importance of whole-team estimation

14.3. A step toward agility: estimating size, not effort

14.4. Estimating story points at Acme Media

14.5. Key points

14.6. Looking forward