The project I'm running is very exploratative in that I don't know very much detail about features in advance. My boss will tell me that he wants feature A and that after feature A is finished, he'll come up with say a dozen refinements, A1 - A12.
I'm now trying to plan our second 3 month release. The first release went very well and we learnt a ton about running an agile project, but this refinements mess things up in terms of a longer term plan.
My thoughts for this next release follows some ideas from Mike Cohn's Agile Estimating and Planning whereby, say 30% of a release plan will a feature buffer. So as refinements come in, they we will decide whether they are more important than things in the feature buffer and either swap something out with the equivalent story points or leave the refinement out of the release.
My problem is that before we can decide whether a refinement goes in the release or not, we need an estimate of its story points. So far we'd only been estimating new stuff in the interation planning meetings, but this means:
- We can have up to 2 weeks delay before we know the estimate
- If we estimate in the same meeting as the iteration plan, I don't have any time to work with my boss to figure out the priority based on the estimate.
- The refinements start adding up and we could end up spending way too long just estimating for hours on end.
I had two ideas to deal with this:
- Put some time aside to estimate each day for any new stories that might have come in. Possibly during the standup, but perhaps as a separate event. I like this because planning poker has been working really well for us, but I don't want developers to spend any more time in meetings than they have to.
- Have a planning poker system, i.e. a web page or something where developers can put in their estimates for a story in their own time. This would only work for very simple tasks where everyone agrees. As soon as people's estimates diverge, we'd do it in person. I like this because it removes the need for more meetings. But I don't like that we're not talking about stories in person, so there's much more potential for misunderstanding etc.
So my question is, how and when do you guys estimate story points (or whatever measure you use) after you receive a new story?