If there were one topic that seems to dominate all others in agile software development, I’d say its estimation.
Every team seems to struggle with it and I’m always being asked for “silver bullet” solutions that might make it easier. And of course, there are none.
I do think there is some guidance I can provide that might help you to improve your estimation understanding, confidence, and results. Or at least that’s my intent. So let’s try…
2-Phased Estimation
The first thing I’d like to make clear is the nature of most agile estimation & planning approaches. I like to think of them as a 2-phased approach versus the 1-phase, plan everything down to the single molecule in advance approaches typically used in waterfall projects.
As an agile coach, it seems one of the areas that teams struggle with the most is in estimation. And by estimation I’m implying some of the following:
- When do you “task out” the story? Who provides estimates for the tasks? And in what units?
- How do you breakdown, estimate, and re-estimate user stories? When are you “done” estimating them?
- Story points are relative and high level – should we convert them to hours or time?
- At scale, let’s say 10-20 teams, the estimates are interconnected across some teams. How do we handle dependencies and integration?
Mishkin Berteig has published a nice overview of 9 estimation techniques. As part of this article, I will review each one from my own perspective. Some I’ve used and others I’ve not. I’ll share my own stories to compliment the techniques.