What are Story Points?

Story Points are a method of estimating effort for agile stories.

Why Story Points?

The purpose of Story Points is to have a relative system. Story points are not meant to be a calculation. They are not equivalent to "hours" or "days" of time, rather they represent as assessment of:

  1. Effort
  2. Complexity
  3. Risk

Using stories and story points encourages the team to break down projects and tasks into smaller more manageable pieces.

Estimating Story Points

  1. Choose a scale for your story points:
  • Linear: 1, 2, 3, 4, 5, 6, ...
  • Fibonacci: 1, 2, 3, 5, 8, 13
  • T-Shirt: XS, S, M, L, XL

The Fibonacci scale is one of the most popular scales, for good reasons. A linear scale is often too nuanced (for example, what's the difference between 5 and 6?), whereas the dispersed Fibonacci scale gives more clarity; a 5 point story is clearly quite a bit more complex and involved than a 3 point story, while not being exactly twice as complex, or twice as much effort.

  1. Choose a strategy:
  • Start small. Identify the smallest task or sub-task and assign that 1 point. Then calculate the other sizes based on the smallest room. The task needs to be small; the most basic unit of work that your team does; something that cannot meaningfully be broken down into smaller tasks.
  • Start average. Choose a task that represents an average task or activity that your team does. If possible, choose something where the work is fairly well understood. Most teams assign an average story 5 points on a numeric scales or M on other scales.
  • Start with something known. This could be large or small, but having a known activity as a starting point, will help estimating other stories relative to the known task.
  1. Story Points must take a story to completion (Definition of Done). This should include any analysis, planning, coding, and testing. Final deployment to a Production environment is usually separate.

  2. For each story, the team should discuss how the story compares to other stories. Many teams choose to compare against small stories, while others choose to compare against an average story.

  3. Teams sometimes adopt "poker" or "card" estimation approaches, where everyone writes down a story point estimate for a given story, and then compares and explains why they came up with that number. At the end there needs to be some sort of consensus.

  4. Over time, your story point estimation will get more accurate, and you can more accurately use Story Points to figure out Velocity. Velocity will allow you to use story points to gauge relative effort, complexity, and scale. The goal is not just to increase velocity; this can lead to story point inflation over time. Rather, the goal is to get better at estimating effort, complexity, and risk over time such that your velocity (and improvements to velocity) become more consistent.

Examples

Example: Painting a house. You have a floor plan, maybe even dimensions but you're not exactly sure how long it will take.

  1. Strategy 1: Start small. Identify the smallest room or smallest wall. Call that "1 story point". Then calculate the other sizes based on the smallest room or wall.
  2. Strategy 2: Start average. Choose a room or wall that is average sized. Call that "5 points". Then estimate the others in relation to that room or wall.
  3. Strategy 3: Start with something known. Have you painted a comparable rooms before? What about a similar wall or a similar sized room? Choose that as your starting point, and assign points. Then estimate the others in relation to that room.

Notes

  • It's important that the team agrees on the process. The process needs to work for the team. However, it's equally important that everyone agrees to be flexible with the process, and allow it to evolve and improve over time. Abandon (but don't forget) what didn't work, and why it wasn't working.
  • Different teams may have slightly different processes for estimating.
  • Different teams will have different baselines for what an "average" story means.
  • Different teams will have different velocity numbers (number of story points completed per sprint) but they might be completing the same "amount of work".

References

ALSO

KEY POINTS