Scrum is based on empiricism. Everything has to quantified. At the same time, scrum do not emphasize on too much accuracy in estimates. Based on the amount of work involved, stories are rated based on Fibonacci series of 0,1,2,3,5,8,13,21…… Some teams use continuous numbers as well. I always found it very easy to rate the user stories with Fibonacci series as there are gaps between the numbers and that makes it easier to decide. Is it getting complex?. It is as simple as understanding the content of each story and put them into one of the buckets. The simplest ones goes to bucket#1 and as the complexity increases it gets into buckets 2,3,5,8,13 etc. These numbers associated with stories is known as ‘Story points’.
Here there are two assumtions;
- Higher the complexity, higher is the amount of work.
- Within a product, it is easy and valid to rank the stories
Story points helps to plan and monitor the project. When we start a project all we have is a bundle of requirements which is known as the product backlog. How do we decide on the product road map?. The diagram below shows a product backlog comprising of stories which adds to 86 story points.
If we assume that each sprint (iteration) can churn out approximately 8 story points for this project, then we need approximately 11 sprints to complete it.
Usage of story points brings in lot of predictability and transparency to the development process.
Here are the 8 sprints. During the road map planning we assumed that each sprint will deliver 8 story points each. So our planned velocity = 8. The first delivered only 7 story points. So, the actual velocity of the first sprint is 7. While planning the second sprint, we planned only 7, because the previous sprint’s productivity was only 7. Let us assume that the second sprint delivered 8. For the third sprint we planned 8 and the team delivered 10.
After the third sprint, based on the actual velocities, we can work out the average velocity, which is (7+8+10)/3 = 25/3 = 8.33
Because the average velocity is more than the planned average, we know that we will be able to deliver the product in 8 sprints, if no additional features are not added to the product backlog. In case, if the average velocity is lower than the planned average, still we will be able to corrective actions well in advance.
Velocity calculations is at the heart of every good scrum implementation and story points is the foundation.
Now, let us go back to Jira and add story points to the story pertaining to this page;