A simple answer to ‘What are Story Points?’. After reading, you can teach others how they work.
I have to confess my love-hate relationship with Story Points. Story Points are riddled with misconceptions. Some of the common misunderstandings I hear when starting with a new team:
“Story Points are about complexity.”
“How many days is 1 Story Point?”
“You shouldn’t Story Point bugs or things that don’t have any immediate business value.”
“Let’s take the average of all Story Point estimates during Planning Poker.”
Almost every team I start working with suffers from Story Point confusion. I believe this is not because Story Points are so difficult to understand, but because they are difficult to explain.
This leads to each person having their own and different understanding of Story Points. I believe this can be prevented by explaining Story Points by using canines.
Let’s say we are interested in determining the size of a dog. How big is this Corgi?
Tough question. How do you even estimate the size of a dog? By guessing it’s approximate dimensions?
Let’s ask an easier question. Which dog is most similar in size to the Corgi? Option A, B, or C?
B: Border Collie
C: St. Bernard
A much easier question, right?
Option B! You notice in a flash that the Corgi is most similar in size to the Border Collie.
Now imagine we put numbers on the different dog breeds, and we agree together that the Chihuahua is 1 Dog Point, the Border Collie is 5 Dog Points, and the St. Bernard is 13 Dog Points. We also decide to use the following Fibonacci-like sequence to estimate dog sizes: 1, 2, 3, 5, 8, 13, 20, 40, 100.
I would be able to throw any dog at you and assuming you are familiar with the dog breed, you would be able to estimate it with Dog Points. Even though you would have no clue whatsoever about the exact dimensions of that dog.
Congratulations! You now have mastered the secret art of Dog Point estimation. I hear you say, why should I care about that exactly? Good question!
How do Dog Points relate to Story Points?
Story Points basically function the same way as Dog Points. You don’t use them to size dogs, but you use them to size Backlog Items in terms of effort. In the end, Story Points represent an unknown amount of time. All we know is that Backlog Items with the same Story Point estimate take a comparable, but unknown, amount of time to complete. So how do you Story Point Backlog Items?
- You establish a few reference Backlog Items the team has completed. You assign them to buckets based on the effort it took to complete them using the same Fibonacci-like sequence we used for the dog sizes. It’s the same thing we did when we agreed together that the Chihuahua = 1 point, the Border Collie = 5 points and, the St. Bernard = 13 points.
- You use these reference Backlog Items to estimate new work that appears on the Product Backlog and put them in the right bucket by estimating with the team. When there are conflicting estimates, you discuss and resolve these together.
Some of you may have heard that Story Points are about uncertainty, complexity, or risk. Uncertainty, complexity, and risk are all factors that influence effort, but each of them alone is not enough to determine effort. So please don’t equate Story Points with complexity, as it can only cause confusion.
So why do teams use Story Points? Using Story Points confers the following benefits:
- Quickly estimate issues. Estimation is relative to already completed Product Backlog Items. This is faster than estimating without any reference.
- Estimate without giving a specific time commitment. When estimating in hours, you make a precise time commitment. Estimating in Story Points prevents giving an exact commitment. Nobody knows exactly how many hours you are appointing to a specific issue.
- Embrace the uncertainty that comes with estimation. Story Points specify an unknown time range. Selecting from a specific Fibonacci-like sequence of Story Points allows you to capture uncertainty. Uncertainty is captured in the Fibonacci-like sequence because as the number becomes bigger, the steps between numbers also become bigger.
- Accurate enough to plan sprints ahead. This allows you to better manage the time expectations of stakeholders for future work.
Some teams even go further and do not use Story Points at all. This is called #NoEstimates. The only criterion of teams that follow a #NoEstimates approach is that Backlog Item can be completed in a Sprint. Basically #NoEstimates proponents just use two buckets: it fits in a Sprint, or it doesn’t. The slicing of Backlog Items to fit in a Sprint is the implicit estimate they are using. Making smaller slices is better, as it increases predictability and flow of work.
In a nutshell, this is how Story Points work. I hope this explanation is simple enough that you remember it and can use it to teach others how to apply Story Points.
It is important to keep in mind, your estimates will always be off and you can never make them perfect. Whatever you do, it is inevitable that you discover something that will make some of your initial estimates wrong.
When doing complex work, more is unknown than known. Uncertainty will always be present in your estimates. Is impossible to remove all uncertainty no matter what you do. Scrum handles this with learning by doing and helping to deal with uncertainty as it appears.
If your team can consistently meet the Sprint Goal, stop worrying about your estimates even if they are off. It is much more important to worry whether you are building the right thing. Even though delivering on time may seem important due to stakeholder pressure, being on time rarely is more important than making sure you are delivering something of value to your customers and the business.
Disclosure: I first learned about the concept of Dog Points from Mike Cohn. I did not come up with this explanation, I just feel that way more people should know about this way of explaining Story Points.