Best practices for adopting Story Points

For a thoughtful perspective from Ron Jeffries, the originator of story points, you can read his take here: Ron Jeffries on Story Points

What story points are (and what they are not)

Before jumping into best practices, some important things to note:

  • Story points measure relative effort, complexity, risk, and uncertainty, not just time.

  • Over time, your team will build a velocity (story points completed per sprint) which helps you plan how much work to pull into future sprints.

  • Capacity is how much your team can handle in a sprint, considering availability, meetings, maintenance/support overhead, etc. Story points + velocity allow you to map what your capacity looks like.

Story Points embrace the idea of true Agile where teams accept that they must iterate quickly and adapt to unforeseen circumstances. It is important to remember that story points should never be rigidly linked to specific time values. They are and should always remain an estimate of how large a task is and how risky it might be - capturing complexity, uncertainty, and effort in a relative sense.

👉 That said, if at any point you notice that following strict story point hygiene is creating friction, feels complicated, or is not truly benefitting your team in representing effort, don’t hesitate to revert back to basics.

In our journey, we have seen customers move fluidly between different approaches: from story points to time-based estimates, switching to T-shirt sizing, adopting Kanban tracking even while running internal sprints, or even dropping Jira entirely in favor of good old spreadsheets.

The lesson here: try not to force teams to use story points where they may not make sense. Often the simplest and most effective practice is to break work down into deliverables small enough (1-3 days in size) that detailed estimation becomes unnecessary.


With that context in mind, the following sections outline best practices to consider when moving to a story points-based development process

Best Practices / Recommendations for Assigning Story Points Based on Capacity

Practice
Recommendation
Why it helps

Use a non-linear scale (e.g. Fibonacci or modified Fibonacci)

Use a sequence like 1, 2, 3, 5, 8, 13, 20 etc. You can cap or modify the higher numbers for your context.

Non-linear increases acknowledge that as stories grow in size, uncertainty/risk tends to increase. It makes distinguishing large vs medium tasks more meaningful.

A good related read

Establish a baseline “reference story”

Pick a simple story (e.g. bug fix or small feature) that everyone agrees is “1 point.” Use that as anchor/reference. Compare all other stories relative to that.

Helps calibrate what “1 point” actually means for your team. Without this, one person’s “3” may be another person’s “1”, making planning unreliable. This is widely recommended in agile estimation literature.

Use velocity (average over past 3-5 sprints) to determine capacity

Don’t guess how many points you’ll do; use past performance (velocity) to decide how much to commit. Adjust for holidays, support work, known overhead.

It gives realistic limits; teams that do this avoid over-committing and burnout.

Factor in non-development/overhead work

Include time for meetings, code reviews, production support, maintenance, etc. That reduces your usable capacity. For example, if someone is allocated 30% support work, the rest should be for new stories.

Without including these, estimates tend to assume 100% dev time, leading to overcommitment. Scrum / Agile coaches often mention treating these as explicit "non-story" work in sprint planning.

Limit story size; split large stories

If a story seems too big (e.g. takes more than half a sprint), break it down. Ensure most stories can be completed in a small number of days (1-3).

Smaller stories are easier to estimate, reduce risk, reduce rollback.

Use Planning Poker or group estimation

Multiple team members estimate, discuss discrepancies, converge on a consensus. Helps uncover risks / unknowns.

This is a standard practice: helps with shared understanding, surfacing hidden complexity.

Don’t map story points directly to hours (or at least don’t rigidly enforce it)

While some teams map approximate hours to small point values for planning (e.g. “1 story point ~ 2 hours”), these mappings should be loose and revisited.

Strict time mapping defeats some of the purpose of story points (dealing with uncertainty). Many sources caution that hour-based equals can be misleading.

Use sprints as feedback loops

After each sprint, compare estimated vs actual performance. Review stories that took much longer than estimated to see what went wrong. Use those lessons to recalibrate future estimates.

Improves estimation accuracy over time; reduces mismatch of expectations.

Don’t use points to measure individual performance

Measure team delivery: the team’s velocity and capacity vs commitments. Avoid attributing individual productivity to story points.

If individuals are held to “X points per sprint,” it leads to gaming, splitting stories, inflating estimates. Several agile discussions and forums warn against this.

Adjust for new teams / changing context

New teams may not have reliable velocity. Projects with new domain or unknown tech will have extra uncertainty. Adjust your expectations (lower velocity, buffer) until data builds up.

Helps avoid overcommitment early and burn-out. Also ensures planning doesn’t assume “steady state” when many variables are uncertain.

✌️Keep buzzing, keep building - one sprint at a time.

Last updated

Was this helpful?