Agile Guide

Agile Estimation: Understanding Story Points

Agile Estimation: Understanding Story Points

To understand story points, we must first explore the idea of metrics. In Agile project management, metrics are used to track performance. Various metrics will be evaluated, including a project’s budget, scope, and potential return on investment

Metrics help guide teams through an Agile project, offering an insight into progress to ensure they are on the right track. As Scott M. Graffius, author of Agile Scrum: Your Quick Start Guide with Step-By-Step Instructions, put it: “If you don’t collect any metrics, you’re flying blind. If you collect and focus on too many, they may be obstructing your field of view.” This suggests that while metrics are important, teams must not lose sight of the bigger picture.

In an Agile work structure, epics are broken down into numerous user stories. Within these user stories, there are metrics known as story points. So, what exactly are story points, and how do they work? 

What are story points?

A story point is a unit of measurement that estimates how much effort is required to complete a user story. This contrasts with the traditional approach of project management planning, which focuses on the amount of time a project will take.

Agile story points are usually represented using the Fibonacci sequence. In this sequence, each number is the sum of the two preceding numbers. It looks like this:

0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144…

Because the numbers are spaced far apart, it is easier to distinguish between them and for a team to reach a consensus on which number to use. 

Many Agile teams have tweaked the Fibonacci sequence to:

1, 2, 3, 5, 8, 13, 20, 40, and 100

Using this model, the minimum story point is 1, and the maximum story point is 100.

Story point estimation

There are three key factors in the story point estimation process:

  • Complexity: How difficult is the user story? Does it require a lot of steps to complete?
  • Risk: What are the potential risks involved? These could include uncertainty or dependence on a third party.
  • Repetition: How monotonous are the tasks? When a team member is familiar with certain tasks, the complexity and risk factors are reduced.

All of these elements must combine for accurate story point estimation.

A product owner will be involved in the story point estimation process, but they will not estimate Agile story points themselves — this is a team effort. The Agile team members will be the ones working on the user story, so they are better equipped to estimate the effort required. Instead, the product owner will focus on sprint planning and prioritizing the backlog, which is a list of items that the development team needs to work on. 

How to estimate story points

Want to estimate Agile story points but don’t know where to start? Here are three simple steps to follow:

1. Pick a base story

Choose one base story as a reference point. This example can be a previously completed user story. The base story will be useful for comparison purposes. Agile expert Mike Cohn advises using two values as a baseline. For example, if you have story points 2 and 5, a team member can easily determine a story point of 3 by noting that it is bigger than 2 but smaller than 5. 

2. Create a matrix

A matrix will help you to visualize your story point values. For each number in your Fibonacci sequence, create a row. When you assign values to your story points, you can place them in the appropriate row. You should include your base story in this matrix.

3. Play planning poker

Now it’s time to decide which number each story point should take. There are many Agile estimation techniques to help you with this, including T-shirt sizing and dot voting. However, if you are already using the Fibonacci sequence, planning poker is your best option. 

Let’s take a look at planning poker in more detail.

What is planning poker?

Planning poker is an Agile estimation technique that helps teams to assign values to story points. Team members will typically gather around to form a circle. Everyone will have a set of cards to denote each number on the Agile Fibonacci sequence: 1, 2, 3, 5, 8, 13, 20, 40, and 100. 

The product owner will then bring a user story to the table for discussion. The team members can ask questions and hold discussions to figure out the appropriate value for the user story. Then, each individual will privately choose a card — let’s use 5 as an example. When everyone is ready, the cards are revealed at the same time. If everyone selects 5, then 5 is assigned to that particular story. However, if another team member selected 8, they must all discuss further until they reach a consensus. 

Why use story points?

Story point estimation can be a hugely valuable exercise within an Agile project. Here are a few reasons why:

  • Accuracy

When given accurate story points, a product owner can plan sprints effectively and ensure that user stories are delivered on time, every time. 

  • Diversity

When you estimate in hours, there is no room for differentiation between team members. One person could complete a task in a few hours, but it might take their colleague slightly longer, potentially creating a sense of pressure. Story points eliminate this issue by shifting the focus from time to effort.

  • Flexibility

Story points offer more flexibility than strict due dates, considering that people will have other commitments, such as meetings and emails.

  • Teamwork

Planning poker and other Agile estimation techniques can double as team-building activities, enabling colleagues to collaborate effectively in a fun way. Each team member has a say, and the process only works if everyone works together.

To quote Cohn: “Story points can be a hard concept to grasp. But the effort to fully understand that points represent effort as impacted by the amount of work, the complexity of the work, and any risk or uncertainty in the work will be worth it.”

Top tips for story points

Here are a few things to keep in mind throughout the story point estimation process:

  • Focus on improvement: In line with the values of the Agile Manifesto, you should aim to improve your story point estimation after each sprint. Maybe the wrong value was assigned to a story point. How can you make sure this doesn’t happen again? Learn from previous sprints and make adjustments to continually improve.
  • Split large stories: If you find that your story points are consistently hitting the highest numbers on the Fibonacci sequence, you could re-assess your user story and break it down into multiple stories. Re-estimate your story points and make your sprints more manageable. 
  • Use project management software: Consider using an all-in-one software platform such as Wrike to keep track of your user stories and story points. You can simplify your story point estimation with features such as sprint planning templates, Gantt charts, and Kanban boards