Optimise for Productivity, not Predictability

In software teams, stakeholders often complain that estimates are bad.

What should we do about it? Well, we can improve our estimation skills which, like any investment in improving our skills, is good. But that will take you only so far. Estimates still won’t be precise, say to within 20%, as non-technical people who think they’re being reasonable ask.

To improve estimates further, you have to spend significantly more time estimating each task. Say that extra time is 25 minutes for each task. But if there are 10 engineers in the team, and each does 10 tasks in a sprint, then we’re wasting 50 hours trying to improve estimates! That’s more than a person-week of time, which could have been spent on the actual work. Don’t spend it to please non-technical stakeholders and satisfy their preconceived notions of how work should happen, because you’re then increasing the overhead of your time. Project management should be driven by outcomes, not appearances. Optimise for productivity, not predictability.