Browse Courses

Story Points

An exploration of the concept, implementation, and best practices of story point estimation in agile methodologies. This article covers how teams can use abstract metrics instead of time-based estimates to more effectively plan and track work across sprints.

Story points are an abstract metric used to estimate the difficulty of implementing a user story. Unlike time-based estimates, story points focus on relative sizing using scales like t-shirt sizes or Fibonacci numbers. This approach acknowledges the challenges of accurate time estimation and provides a more flexible framework for planning work in agile environments.


Introduction to Story Points

Story points are a metric used to estimate the difficulty of delivering and implementing a user story. The key characteristic of story points is that they represent an abstract measure, which can be challenging to grasp initially but is essential for effective agile estimation.

The abstract nature of story points helps teams avoid the common pitfalls associated with time-based estimation, focusing instead on the relative complexity and effort required for each task.

Components of Story Points

Story points comprise several key components that teams consider when assigning estimates:

ComponentDescription
EffortHow much work is required to complete the story
ComplexityHow intricate or difficult the implementation will be
UncertaintyHow familiar the team is with this type of work

The final estimate becomes a trade-off between what is known and unknown about the work. Higher uncertainty typically results in higher story point values, even if the effort seems straightforward.


Relative Sizing Approach

Humans typically struggle with estimating wall clock time accurately. Deadlines are frequently missed because tasks invariably take longer than anticipated. This fundamental limitation makes time-based estimation problematic for project planning.

Story points address this issue by focusing on relative sizes rather than absolute time measurements. Instead of attempting to predict exactly how long a task will take, teams compare stories to each other to determine their relative complexity.

Using T-shirt Sizes and Fibonacci Sequence

Story points are often conceptualized as t-shirt sizes: small, medium, large, and extra-large. This approach emphasizes the relative nature of the estimation process. However, since t-shirt sizes can’t be easily summed to track velocity, many teams use the Fibonacci sequence (1, 2, 3, 5, 8, 13, 21…) instead.

A common practical approach is to use a subset of the Fibonacci sequence:

  • 3 points = Small story
  • 5 points = Medium story (baseline)
  • 8 points = Large story
  • 13 points = Extra-large story

The non-linear progression of the Fibonacci sequence helpfully reflects the increasing uncertainty in larger estimates.

Establishing a Baseline for Comparison

For effective story point estimation, teams must establish what a “medium” story looks like. This baseline serves as the reference point for all other estimates. Once the team agrees on what constitutes a 5-point story, other stories can be evaluated relative to this standard.

The comparative approach can be illustrated with a building height analogy: if one building is designated as a “5,” neighboring buildings can be estimated as “3” (smaller), “8” (larger), or “13” (much larger) based on their relative heights.


Ideal Story Size

Stories should ideally be small enough to complete within a few days. Keeping stories small allows for better tracking, more accurate estimation, and more manageable implementation.

Breaking Down Large Stories

Large stories (those with high point values) should be broken down into smaller, more manageable pieces. If a story is estimated at 21 points or higher, it likely won’t fit within a single sprint and should be decomposed.

When a large story is broken down, some components might be completed in the current sprint while others are scheduled for future sprints. An epic can be created to track the overall progress of these related stories across multiple sprints.


Common Anti-patterns

The most significant anti-pattern in story point estimation is equating story points with wall clock time. This misunderstanding often stems from project management habits where team members or Scrum Masters try to translate story points directly into days or hours. For example;

Story points are intentionally abstract and relative. While a medium story might typically take 2-3 days and a small story less than a day, these are general patterns, not fixed rules. The key is maintaining the flexibility and relativity of the point system.


Conclusion

Story points provide an effective method for estimating work in agile environments by focusing on relative sizing rather than absolute time predictions. By comparing stories to each other using t-shirt sizes or Fibonacci numbers, teams can create more reliable sprint plans while avoiding the pitfalls of time-based estimation. The most important principles to remember are maintaining the abstract nature of story points and never equating them with specific time durations.


FAQs

  1. A measure of the exact time needed to complete a task
  2. An abstract metric used to estimate the difficulty of implementing a user story
  3. A fixed unit of work equal to one developer day
  4. A project management tool for tracking bugs
(2) Story points are an abstract metric used to estimate the difficulty of implementing a user story. They intentionally avoid time-based measurements and instead focus on relative complexity, effort, and uncertainty.

  1. Time, cost, and quality
  2. Requirements, design, and testing
  3. Effort, complexity, and uncertainty
  4. Coding, review, and deployment
(3) Story points comprise three key components - effort (how much work is required), complexity (how intricate the implementation will be), and uncertainty (how familiar the team is with this type of work).

  1. Assign story points based on expected hours of work
  2. Select a representative medium-sized story as a “5” and estimate others relative to it
  3. Let each team member estimate independently without discussion
  4. Use historical data from previous projects to determine points
(2) The most effective approach for a team new to story points is to select a representative medium-sized story as a baseline (typically a “5”) and then estimate other stories relative to this benchmark. This establishes a common understanding of what constitutes a medium-sized story.

  1. Improved planning accuracy and more predictable delivery
  2. Reduced team velocity but higher quality code
  3. Return to the problems of time-based estimation and less reliable sprint planning
  4. Increased team collaboration and better stakeholder communication
(3) If a Scrum Master equates story points with specific time units (like 1 point = 1 day), the team will likely return to the problems associated with time-based estimation. This defeats the purpose of story points as an abstract, relative measure and reintroduces the inaccuracies of time estimation that story points are designed to avoid.

  1. It provides a non-linear scale that reflects increasing uncertainty in larger estimates
  2. Common values used are 1, 2, 3, 5, 8, 13, and 21
  3. It requires teams to use all numbers in the sequence for accuracy
  4. It helps teams quantify relative sizes better than t-shirt sizing alone
(3) It is incorrect that teams must use all numbers in the Fibonacci sequence. In fact, many teams use only a subset of the sequence (often 3, 5, 8, 13) to keep estimation simple and avoid false precision. The important aspect is the relative sizing, not using every possible number.

  1. Breaking down large stories into smaller ones
  2. Establishing a baseline for what constitutes a “medium” story
  3. Using relative sizing instead of time-based estimates
  4. Assigning higher points to stories assigned to junior developers
(4) Assigning higher points to stories based on who will implement them (e.g., junior developers) is not a recommended practice. Story points should reflect the inherent complexity, effort, and uncertainty of the work itself, not who will be doing it. The team as a whole should be able to handle stories of any given size.

TermDescription
A. Effort1. How intricate or difficult the implementation will be
B. Complexity2. How much work is required to complete the story
C. Uncertainty3. How familiar the team is with this type of work
D. Velocity4. The number of story points a team can complete in a sprint
A-2, B-1, C-3, D-4. Effort refers to how much work is required, complexity refers to how intricate the implementation will be, uncertainty refers to team familiarity with the work, and velocity is the number of story points a team can complete in a sprint.

  • Large stories should always be broken down into smaller ones before implementation
True. Large stories (those with high point values, typically 21 points or higher) should be broken down into smaller, more manageable pieces. Large stories likely won’t fit within a single sprint and should be decomposed. Breaking them down allows for better tracking, more accurate estimation, and more manageable implementation.

  1. Teams believe larger stories can be estimated with the same precision as smaller ones
  2. The difference between small and medium stories is less significant than between large and extra-large stories
  3. Story points directly correlate with development time in a predictable manner
  4. Teams should focus on larger stories to maximize productivity
(2) The non-linear progression of the Fibonacci sequence (1, 2, 3, 5, 8, 13, 21…) implies that the difference between small and medium stories is less significant than between large and extra-large stories. This reflects the increasing uncertainty in larger estimates - as stories get larger, the precision of estimation decreases proportionally.

  1. Whether the team is equating story points with time
  2. If the Product Owner is adding scope during the sprint
  3. Whether the team needs additional training
  4. If the baseline for what constitutes a medium-sized story has shifted
(4) When an experienced team consistently completes fewer story points than committed, the first thing to check is whether the baseline for story point estimation has shifted. Over time, teams may unconsciously change what they consider a “medium” story, affecting all relative estimates. Re-establishing the baseline can help recalibrate estimation.

  1. To make estimation fun and engaging for the team
  2. To emphasize the relative nature of the estimation process
  3. To simplify reporting to management and stakeholders
  4. To reduce the time spent on estimation activities
(2) The primary purpose of using t-shirt sizes (S, M, L, XL) in story point estimation is to emphasize the relative nature of the estimation process. This approach reinforces that stories are being compared to each other in terms of relative size rather than being assigned absolute values or time estimates.