Story points are numeric values used to estimate the size of a user story. User stories are often known as “tickets” or “tasks”. They represent the smallest increment of work that development uses to deliver work.
A story’s points are best-guess estimates for how much effort a story will take to complete. These point values often follow a variation of the Fibonacci sequence (0, 1, 2, 3, 5, 8, 13, 21) but different variations of sizing methods can be used. Development teams must agree on the method.
In agile development, development teams go through a process of assigning a story point value to each story that the team will work on. Each story’s point value represents the relative effort that the team thinks it will take to complete a task.
Story points should not be used to represent the total time the team thinks it’ll take to complete a task but should rather reflect the ticket’s complexity.
While story points shouldn’t be used to estimate how much time one user story will take to be completed, story points can be used to estimate a team’s sprint velocity. The team’s sprint velocity can be used to estimate how long it will take to deliver stories on average.
An estimation session includes the following:
- The development team discusses each user story, asks questions and gets clarification about the requirements.
- Once the team has reached a common understanding of the ticket, each developer simultaneously provides a story point estimate. This exercise is done at the same time so that no one biases each other. This can sometimes be done in the form of a game called “planning poker”.
- If there are different story point values revealed then the developers discuss the reasons for the discrepancies. From there they either reach a consensus or go through the estimation process again.
- Once the team reaches an agreement on the story point value, the Scrum Master documents the point value in the ticket.
- All previous steps are repeated for each ticket.