OK, now that I’ve got your attention, of course they matter:
- To a Scrum team.
- As an informal planning aid only.
If you push them outside of this narrow value-zone, you’re in trouble. They’re not supposed to be the last word in estimating and scheduling. Story Points are the FIRST word.
What they are useful for
Your team takes a look at each of the proposed user stories, and assigns a number of points to every one.
Based on your past history, you know that this team can usually execute an average of about 120 points per Sprint. Your first round of point-guesstimation came out to 600, so you have a rough idea that, all things being equal (they never are), you’ve got about five Sprints of development work ahead of you.
And that’s where it all starts to go horribly wrong, as you’ve now inextricably linked points to elapsed time. And the rest of the business will catch on to that, and start using it as a forecasting tool, or (worse) a policing tool. You’ll have to work long and hard to break that thought-pattern.
Don’t get hung up on the word “points”, either – you could just as easily call them Zebras. In fact, maybe you should call them Zebras, just to disrupt things.
So what can we do about this? Be honest, transparent and above all persistent in your messaging: Story points are NOT any kind of elapsed-time benchmark. They are an expression of complexity and/or size. They’re a tool used by the development team to differentiate between small, simple stories and large, complex ones. And everything in between.
What they’re not useful for
They should never be used to answer When will it be ready? – madness that way lies.
Nor should they ever be a driver for Metrics Madness.
They will not give you any rock-solid predictability. But you never had that anyway.
Look back at the history of this (imaginary) team that “averages” 120 points, and you’ll find that over the past year, the actual productivity varied between 45 and 310 points per Sprint. Are you starting to see how misleading points can be when used outside of their intended domain? Going back to this example, that “about five” Sprints could end up anywhere between two and eleven, although it would be rare for it to range outside of the 3-7 range. And in many cases, especially among the more mature teams, on a project of this size I’d hope that you’d be accurate within plus or minus one Sprint. But hope is not a planning tool, and can never be used to forecast delivery dates, especially to your customers.
What they are useful for
As a size/complexity reference, when used correctly, story points are a good assistant in guessing roughly how many bits of functionality the team can complete in a given period of time. Yes, I said guessing. Anybody who tells you different is either misinformed, hopelessly optimistic, or just plain delusional. Teams will steadily get better at this as they mature – the guesses will become more educated – but they will always be guesses. There is always an error factor, and that compounds with every guess made. The bigger the feature, the bigger the likely error in the guess. The domain-familiarity factor will further add to the error ratio: your team is likely to be reasonably accurate with things similar to those they’ve done before, and wildly inaccurate (and often hopelessly optimistic) when tackling new things for the first time. The only sure-fire way to know how long a given feature takes to develop… is to wait until it’s finished.
I hesitate to suggest this… but: If you’re looking to improve the quality of each guess, the only viable option is to keep things small. Break the feature into smaller stories and guess those individually. The reason I hesitate here is that once you start doing this, it can be hard to know where to stop, and before you realise what’s happened, you’ve wandered back under the waterfall again. You’re probably better off just going with your first guess, and refining it as the developers move forwards and learn things.
So, by all means use Story Points as a first-pass Sprint-planning aid. Then move on. Trying to extrapolate any other use out of them is… (dare I say it?) … pointless. And potentially damaging.
The postings on this site don’t necessarily represent the views or opinions of my employer, professional organisations, political party, family, car manufacturer or anybody at all, really. I don’t know where they come from. It scares me sometimes.