Skip to main content

How We Use Asana

Story points are a unit of measure for expressing an estimate of the overall effort required for a task.

We use them instead of hours because—like many other software teams before us—we've found the relative values of story points more useful than absolute values like estimated hours.

Relative, Not Absolute​

With story points, we're thinking in terms of relative quantities. We're comparing the effort of one task to another.

So instead of saying, "Task A will take 8 hours and Task B will take 3 hours," we're saying, "Task A is about two or three times as much effort as Task B."

☝️ In this example:

  • If Task B is a 2
  • Then Task A would be a 5
Story Point(s)EffortComplexityRisk / Uncertainty
🟢1Virtually noneVery littleNone
🟢2MinimumLittleNone
🟢3MildLowLow
🟡5ModerateMediumLow
🟠8ConsiderableModerateModerate
🔴13MaximumHighSevere

Remember: Story points are a measure of effort, complexity and risk. They are not a measure of time.

Rules of Thumb​

It can be hard to shake the habit of estimating in terms hours, but it's important to remember that story points are not a measure of time.

That said, it can be helpful to think of them—in an aggregate sense—in terms of rough time-based rules of thumb.

For example:

  • A "productive workday" is often the completion of roughly ~5 story points.
  • A "productive workweek" is often the completion of roughly ~20 story points.

This can help with expectations, planning, and understanding the scope of a task.

Examples​

1 Story Point​

  • Updating copy within code; no associated HTML or CSS changes
  • Fixing a typo in documentation or updating a screenshot

2 Story Points​

  • Simple CSS changes on a stylesheet that only affects one page
  • Syntax corrections to existing code
  • Very simple bug fix that does not change the signature of any existing function or class
  • Dev discovery

3 Story Points​

  • Simple bug fix that’s distinct to a single part of the code base
  • HTML/CSS changes that are simple in nature, but affect adjacent nodes or require responsiveness consideration

5 Story Points​

  • More complex bug fix that requires some new code or refactoring to resolve, and the origin of the bug will take some work; the bug is easily replicable
  • A new feature that is relatively simple in nature and doesn’t require significant modification to existing code

8 Story Points​

  • This is the maximum allowable story points for a single task.
  • Anything above an eight likely needs to be broken down into a bucket of smaller tasks.
  • We should try to avoid 8’s as much as possible and break down into smaller tasks to reduce risk, complexity.
  • Examples:
    • Bugs which can be replicated, but will require considerable work to determine the origin of, or the origin is known and will require extensive work and refactoring to address
    • Features which will require considerable learning in order to build, is introducing a fundamentally new module to the codebase, or have a moderate level of unknowns

13 Story Points​

  • ⚠️ An estimate of 13 means we must break it into smaller tasks, e.g. a "bucket" with multiple tasks.
  • A bug that is not reliably replicable or would require a fundamental change to the system to address
  • An open-ended feature that has virtually no real scope or massive unknowns and should really be broken down