Story Points Explained - Part 2: Usage

This is the second of 8 posts. In these post series I'll try to tackle one of the more "mystical" topics of Agility: story points. In this post I will look deeper into uses of story points within an iteration/sprint.

 

So the big question here is: "What are story points?"

My personal definition would be: In software development, story points are an abstract unit of measuring effort, which varies in relation to team, reference stories, tools & technology, amount of work, complexity and risk.

This may sound pretty academic, I know. So let's take it apart and see what this definition would tell us.

The first thing is that story points actually only measure effort. I know that a lot of material in agility talks about "business value". Yet I've only seen them used as a measure of individual/team effort. They are also variable. In this definition I gave a list of possible causes for variation in story point value.

 

To ease story point adoption and usage in your team I recommend taking into consideration:

  1. Reference stories

Reference stories are essential. They are also one of the hardest steps when adopting story points. In practice good reference stories will make team members effective estimators. Bad ones will bring only pain & chaos to your meetings.

I encourage you to have several reference stories. It makes it easier for people to estimate. You can have a list of 5 weights to compare a story to, or a table like this:

 -------------------------------------------------------------------------------------------------------------------------------------------------------

|                            XS(1)                  S(2)                                             M (3)              L(5)                 XL (8)                                     

|Webservice  Small change  Multiple small changes  Complex change Complex change   Multiple complex changes

|                                                                                             single service      multiple services   in multiple webservices   

|Backend         Small change ….                                                                                                                                                     

|Frontend                                                                                                                                                                                          

|Full Stack                                                                                                                                                                                        

--------------------------------------------------------------------------------------------------------------------------------------------------------

Try it out, experiment and find a solution that fits your team.

  1. Variating unit of measure

Story points variate in time value from sprint to sprint. For example:

Our team did 23, 31, 28 SP during the last 3 sprints. Our availability was 140, 125, 160 hours. This leaves us with 140/23, 125/31 and 160/28 or 6h/SP, 4h/SP and 5.7h/SP.

As you can see variation is built in. This synergizes well with changing plans and receiving immediate feedback from business.

As business gets a better understanding of a topic, they will tend to have new ideas. Of course the team will have to monitor the potential of scope creep. One nice solution I've seen implemented is a rule: if a feedback takes more than 4 hours to build, we create a new story for it.

  1. Velocity and Sprint Planning

Previous
Previous

Story Points explained - Part 4: Induction

Next
Next

Story Points Explained - Part 1: The Whys