Mike Cohns post prompted me to blog on what my team has been practicing for the last few iterations.
For quite some time (over a year) our team had not been very good at delivering on our iteration commitments, and frequently started new iterations with hangover from the previous iteration, creating a snow ball effect of hangover leading to further hangover. We tried flagging stories at risk of expanding (green monsters) but it didn’t have any noticeable affect on delivery or reduce typical hangover.
For the last 4-5 iterations we’ve followed a couple of simple rules:
- Limit the size of stories
- Play stories in order of size, biggest first
Limiting the size of stories
Important for a couple of reasons:
- Bigger stories tend to be riskier and hence more likely to slip.
- Larger estimates are more likely to be out by a larger amount in actual terms than smaller estimates
Typically we used a max points value about half of what a pair could deliver in an iteration, and stories over this size would be split.
Playing stories on order of size, biggest first
Generally it’s easier for the team to pick up small stories towards the end of the iteration and still deliver them. The Rocks, Gravel, Sand and Water analogy to filling a container in the comments in Mike’s post is useful. On the last day I can fit some sand and water in, but rocks and gravel don’t fit. I feel deferring larger stories later in an iteration increases the risk of hangover.
So far after 2-3 months of applying these rules whilst the team haven’t always delivered everything committed to, hangover is certainly less of an issue.