Making Better Estimates, Part 1: Decomposition

This is part of a series on Making better estimates.

Decomposition, breaking big things into multiple small things, is a critical element to improving your estimates.

Decomposition refers to breaking something large (a project, a feature, an interface) into multiple, smaller things (tasks, stories, widgets, phases, etc). Rather than estimate the big thing, we estimate all the small things and add them up.

The smaller the chunks, the more accurate the estimate. I don’t know who’s proved this, or who observed it first, but it’s certainly true in our experience. Partly it’s the conversation you have, as a team, in decomposing a problem for estimation. That work, the beginning of a shared mental model for the project, reveals misunderstandings, hidden features, requirements, dependencies and constraints, and creates a set of smaller estimation problems.

It’s not lots of fun, so we “share the pain” and do it in at least a pair, if not the whole team. The positive side effect of this approach is that you build responsibility and buy-in from the team for the estimate. On the other hand, doing it with the whole team certainly increases the cost of the estimate. The tradeoff between improved accuracy and decreased cost differs by context.

Divide and conquer.

Next post: Team Estimates

Previous post: Making better estimates