How do we put a Story Point estimate on a Spike (Enabler) Story?
Short answer: Use the Story Point estimate to specify how much capacity (the budget) you want to allocate to resolving the Spike.
In some ways we feel a little strange. After all, we often define a Spike because we don't know the answer to some key questions which will enable us to deliver value. How do we estimate what we don't know?
The approach we take in these situations is a little different. Rather than say how big this effort is, we ask ourselves “How much of the capacity of the Team do we want to dedicate to getting the answers we need?” In other words, we establish a budget for the effort. For example, if our Team velocity is 50 points, we might say to ourselves that we are interested in “spending” about 10% of our capacity to get to the answers needed. The estimate for this Spike would be 5 (10% of 50) points.
How do we use this information during the Iteration? As the Team works on the Spike they track for themselves how much effort they have put into the enabler. If they find that they are exceeding the budget, they have a discussion with the Product Manager / Product Owner about whether to stop or continue. The discussion is often a trade-off and so we need to ensure we are using our capacity to maximize the value produced. Example of trade-off considerations might include:
- How much more effort might be required to get the answers we need?
- Whether what we have learned is sufficient for the purposes at hand?
- What will we not get if we continue working on this Spike?
And so on.