I feel like story points are useless. I feel like story points are useful. It’s complicated 😅.
Story points are useless
Working in software can often involve complexity, risk, and uncertainty. For me, that makes it tricky to put numbers on bits. Our human brains can’t help but attach specific, precise, meanings to numbers. Estimates are a guess of something we haven’t done yet, so they can’t be precise. For me that means that numbers aren’t necessarily a good match.
I think time-based numbers are a worse match for estimations that story points.
- They’re more specific and precise, which means we’ll almost definitely be wrong with our guess.
- They also feel more emotionally heavy. Having to put a specific time on an unknown thing feels stressful, like there’s more pressure to get it right.
- They’re also personal and experience-based: different developers will estimate a story differently.
Estimation is difficult, so keep things small
If I estimate how long it will take me to walk to the end of my road, I can give a pretty good guess. I’ve done it a bunch of times, there’s nothing new involved, there’s little that can go wrong.
If I estimate how long it will take me to get to the other end of town by bus, my guess it going to be a bit less reliable. I can look up timetables, plan my journey, but some things might still go wrong. I could forget my bus pass and have to go back for it, there could be unexpected traffic, and so on.
If I estimate how long it will take me to drive to the other end of the country in one go, my guess is going to be a lot less reliable. There are more external factors that can affect my arrival time. It’s a more complex endeavour, so there’s a lot more that could go wrong.
Story points are useful
It’s useful to get a rough idea for the amount of effort a given piece of work is. It’s useful to have a guide for how much work to take on in a sprint. It’s useful for The Business to know when something will be finished.
T-shirt sizes: S, M, L, XL
I quite like t-shirt sizes as an estimation tool.
- They help us focus on the relative sizes of bits of work (even things of the same size won’t be identical. An L t-shirt from one manufacturer is not identical to an L from another.).
- They call attention to the fact that it’s a guess, it’s approximate. (It’s medium-sized. Ish.)
We can even use t-shirt sizes to get a time estimation, if that’s required. First, we check that all the items that we’ve labelled as the same t-shirt size seem about the same size. Then we make a time estimate for each t-shirt size: an “S” is about half a day, an “M” is about a day, and so on. Then we sum these up.
Story points are okay. As long as we’re clear that they’re estimates, a guess, and that we will always be at least a little bit wrong.