15 min read · 9 self-checks · Updated June 2026

Agile Planning

Story Points

A relative unit of measure for estimating the effort required to complete a user story, accounting for complexity, uncertainty, and risk — not just time.

Junior Senior Test Lead

What it is

Story points measure relative effort using a non-linear scale, most commonly the Fibonacci sequence (1, 2, 3, 5, 8, 13, 21). The non-linearity reflects a simple truth: as work gets larger, uncertainty grows disproportionately. The gap between a 5 and an 8 is meaningful; the gap between an 8 and a 9 is indistinguishable.

Teams begin by establishing baseline stories — reference points everyone agrees on — and estimate new stories relative to these anchors. A story assigned 3 points should feel roughly three times the effort of a 1-point baseline story.

Points include all effort required to get a story to "done": coding, testing, code review, documentation, deployment, and any coordination. They intentionally abstract away the question of "how many hours?" and instead answer "how big is this compared to that?"

Why not hours? Humans are bad at absolute time estimation but surprisingly good at relative sizing. "This looks about twice as hard as that" is more reliable than "this will take 6.5 hours."

When to use it

Story points are used during backlog refinement and sprint planning for all user stories that require team effort. They are not typically applied to tasks, bugs (unless they are large), or operational work unless those items are significant enough to plan around.

The primary benefits of using story points include:

  • Speed: Relative estimation is faster and less contentious than breaking every story into hourly tasks.
  • Accuracy: Teams generally converge on consistent relative sizing over time, even as team composition changes.
  • Completeness: Points naturally account for complexity, uncertainty, and risk — not just typing speed.
  • Velocity tracking: The sum of points completed per sprint (velocity) gives a stable forecasting signal.
Tip: If your team spends more than a few minutes debating a single story's points, that's a signal the story is unclear or too large. Split it or add a spike to reduce uncertainty.

Key concepts

Relative Estimation

Instead of guessing absolute duration, the team compares stories to each other. A 2-point story is roughly twice the effort of a 1-point story. A 5-point story is roughly five times the effort. This leverages the human ability to judge "bigger than" or "smaller than" far more reliably than "how long."

The Fibonacci Scale

The standard scale is 1, 2, 3, 5, 8, 13, 21, and sometimes 34. Some teams use a modified Fibonacci or powers of two. The key principle is the increasing gap between numbers as values grow — this mirrors the widening uncertainty cone for larger work items.

PointsTypical meaning
1Trivial change; clear, no risk; a few hours of focused work
2Small, well-understood story with minimal complexity
3Standard story; moderate complexity but clear path
5Complex; touches multiple areas; some uncertainty
8Large; significant unknowns; consider splitting
13Very large; should be broken down before sprinting
21Epic-level; must be decomposed into smaller stories

Baseline Stories

Every team needs anchors. Pick 2–3 recent stories the team agrees on — one small (1 or 2 points), one medium (3 or 5 points), one large (8 points). Write them on the wall or in your wiki. When a new story comes up, ask: "Is this bigger or smaller than our 3-point baseline?"

Factors Affecting Points

Story points are not just about how long something takes. They deliberately fold in three factors:

  • Complexity — How intricate is the logic? How many systems interact?
  • Uncertainty — How well do we understand the requirements and the solution?
  • Risk — What could go wrong? Are there dependencies, external vendors, or new technology?

A simple task in an unfamiliar technology may score higher than a complex task in a well-known codebase because uncertainty and risk inflate the effort.

Team-Specific Nature

Story points are not comparable across teams. A 5 for Team A is not the same as a 5 for Team B. Each team has its own baseline, its own domain knowledge, and its own definition of "done." Points are a local currency for planning, not a universal metric for management dashboards.

Common pitfalls

  • Converting points to hours: Once management or the team starts mapping 1 point = 4 hours, you lose all the benefits of relative estimation. Resist the urge. Velocity exists precisely to bridge the gap between points and time.
  • Re-estimating after the fact: Changing a story's points because it took longer than expected corrupts your velocity data. The point value reflects the estimate at the time; the variance is feedback, not an error to correct.
  • Comparing points across teams: This is a common management anti-pattern. It leads to gaming, normalisation, and loss of team ownership over estimation.
  • Letting the Product Owner pressure lower estimates: The PO's role is to clarify and prioritise, not to negotiate points downward. Estimates are owned by the developers doing the work.
  • Excessive debate between adjacent numbers: Arguing over whether a story is a 3 or a 5 for ten minutes is wasted time. If the team can't agree, take the higher number and move on.
Remember: Story points are an estimation tool, not a commitment device. The sprint goal and team collaboration matter more than hitting a point target.

Senior engineer insight

Teams that use story points well treat them as a calibration signal, not a commitment — they watch their velocity stabilise over 4–6 sprints and use that band as a planning constraint, not a target. The pattern that separates mature teams from struggling ones is how they handle outlier estimates: high performers stop to surface the reason for disagreement (hidden risk, missing AC, unfamiliar tech) rather than splitting the difference and moving on. That conversation is where the real planning happens.

The most common mistake teams make when adopting story points is treating the number as a fixed deliverable — starting to say "we committed to 40 points this sprint" and then feeling obligated to squeeze in extra work when stories come in under estimate, which destroys the signal entirely.

From the field

A mid-sized Wellington insurance platform team adopted story points with genuine enthusiasm — until their delivery manager started publishing a weekly velocity league table across three scrum teams. Within two sprints, stories that had historically been 3 points were being estimated at 5, and the QA analyst noticed that testing complexity in points had been quietly compressed to make totals look more favourable. The team assumed the metric was transparent; what changed was the incentive structure around it. After an honest retrospective, they negotiated a team agreement: velocity figures would only be shared within each team, and the delivery manager would use a rolling 4-sprint average solely for release forecasting. Within a month the estimates returned to baseline accuracy and, more importantly, the team started using the disagreement in planning poker as a design signal rather than an obstacle to overcome. The lesson that travels: velocity is a team-internal forecasting tool; the moment it becomes a performance metric visible to management, the estimation model starts corroding.

NZ context

In New Zealand's typically small, cross-functional agile teams, story points provide a common language for discussing scope without falling into the "how many hours?" trap that misunderstands knowledge work. Many NZ organisations operate with flat hierarchies and high trust; in these cultures, points work well because the team owns the estimate without management interference.

Conversely, in more traditional NZ enterprises or government agencies where time-tracking and billing are tightly coupled, teams sometimes face pressure to convert points to hours for reporting. In these environments, it's worth educating stakeholders that velocity (points per sprint) already gives them the forecasting signal they need — without breaking the estimation model.

NZ teams often include a mix of permanent staff and contractors. Story points help level the playing field: a senior contractor and a junior permanent employee can both contribute to estimation without the stigma of "you should know how long this takes."

Industry Reality

🏭 What you actually encounter on the job
  • Many teams use story points but quietly anchor them to time anyway — "a 1-pointer is half a day" — which defeats relative estimation while preserving the appearance of agile practice.
  • Velocity gets weaponised: management compares team velocities to judge "productivity," forcing teams to inflate estimates or game the metric rather than use it for honest forecasting.
  • Senior practitioners often skip formal planning poker on well-understood stories and just agree on a number in 30 seconds — only pulling out the cards when there's genuine disagreement or uncertainty.
  • In NZ government and enterprise contexts, teams frequently face requirements to report in hours or days for billing and resourcing; a common workaround is maintaining points internally while producing a separate hours-based view for stakeholders.
  • Story points frequently disappear when organisations adopt SAFe or scaled frameworks — replaced by t-shirt sizing or flow-based metrics — so knowing when and why to drop them is as important as knowing how to use them.

Context guide

How the right level of Story Points effort changes based on team context.

Context Priority Why
Mid-size NZ government agency (e.g. Benefits NZ, CoverNZ) running multi-year SAP or benefits-platform upgrade Essential Statutory deadlines mean delivery forecasts must be defensible with data; velocity history from story points gives programme governance the evidence to adjust scope rather than slip the deadline.
NZ SaaS startup with a cross-functional team of 4–8 people shipping weekly Essential Small teams lack the redundancy of large ones; understanding relative effort helps avoid overloading a sprint when a senior engineer goes on leave or a compliance story balloons unexpectedly.
Bank or insurer (e.g. Harbour Bank, InsureNZ) with a mix of permanent staff and contractors estimating work together High Relative sizing neutralises the "contractors charge by the day" tension; everyone judges complexity against the same anchors rather than optimising for individual billing rates.
Council or local body (e.g. CityTransit, Wellington City Council) on a fixed-price contract Medium Points help the delivery team manage internal scope, but contract governance often demands hours and milestones; run points internally and maintain a separate hours-based view for the client.
Early-stage product discovery before requirements are stable Medium Stories change too rapidly for Fibonacci precision; t-shirt sizing or #NoEstimates flow tracking is lower overhead until the backlog stabilises enough to warrant velocity forecasting.
Single-developer team or solo technical consultant Low Relative estimation gains its value from diverse perspectives converging in planning poker; a solo practitioner loses that signal and is better served by a simple time-box or kanban flow metric.

Trade-offs

What you gain and what you give up when you adopt Story Points.

Advantage Disadvantage Use instead when…
Surfaces hidden complexity before work begins — disagreements during planning poker reveal unstated risk, missing acceptance criteria, or unfamiliar technology before it derails a sprint. Points require a baseline calibration period of 4–6 sprints before velocity stabilises enough to forecast reliably; new teams or teams coming off a major platform change lose this signal temporarily. The team is brand new and has no shared reference stories; start with t-shirt sizing to build the "bigger than / smaller than" instinct before introducing a numeric scale.
Decouples planning from individual speed — a story is estimated as a team, so a junior and a senior contribute differently in delivery but the estimate reflects the team's collective understanding, not one person's optimism. Velocity is team-local and non-comparable; management pressure to benchmark teams against each other (common in large NZ government programmes) corrupts the incentive to estimate honestly. Your organisation runs multiple teams on the same platform and insists on a single capacity metric; cycle time from a kanban board gives a comparable and harder-to-game signal across teams.
Velocity provides a defensible, data-based answer to "when will this be done?" — particularly valuable when negotiating scope with a PO against a statutory deadline such as the Privacy Act 2020 compliance cutover. Estimation ceremony adds overhead — planning poker for a large backlog can consume an entire sprint's planning slot, and teams under delivery pressure often skip refinement to reclaim time, degrading estimate quality. The backlog is high-volume, low-variance repetitive work (e.g. a data migration with 300 identical record-type stories); a fixed throughput model or Monte Carlo simulation on historical cycle time is faster and equally accurate.
Forces stories to be right-sized before sprinting — the act of estimating in Fibonacci naturally flags stories that are too large (8+) and creates a team norm to split before pulling them in. Testing effort is chronically under-represented in story points because developers dominate planning poker; without explicit team agreements, QA effort gets absorbed into whatever capacity remains after coding is "done." Your team has moved fully to continuous flow and measures lead time per story rather than sprint throughput; flow metrics (cycle time, throughput) replace story points without losing the forecasting capability.

Enterprise reality

How story points change at 200–300-developer scale in NZ

  • Estimation ceremony gets automated at volume — Jira plugins, GitHub Copilot integration, and internal ML models trained on historical tickets generate first-pass point values that teams accept or challenge, cutting planning poker time by 40–60% on well-understood story types and reserving human debate for the genuinely ambiguous ones.
  • Privacy Act 2020 and NZISM compliance stories carry mandatory point floors at organisations like KiwiFirst Bank and Revenue NZ — any story touching personal information or security controls cannot be estimated below a team-agreed minimum (typically 5) because audit, privacy impact assessment, and penetration test evidence are non-negotiable acceptance criteria that the estimate must absorb.
  • Tooling shifts from planning poker cards to Jira Advanced Roadmaps and portfolio-level PI planning in SAFe — at 10+ squads, individual team velocity feeds into programme increment forecasts where a single squad's estimate inflation or compression cascades into release date commitments made to the board; story points become a governance artefact, not just a team planning tool.
  • Cross-squad dependencies are the dominant estimation risk — TeleNZ's digital transformation programme learned that a story estimated at 3 points by one squad could block or inflate to 13 when the downstream squad's integration work was surfaced in refinement; large NZ enterprises now mandate cross-squad story review sessions before any story touching a shared platform API can be sprint-committed, adding a coordination tax that must be factored into capacity planning.

What I would do

Professional judgement — when to adopt Story Points, when to adapt it, and what to watch for.

If…
I am QA lead on an Revenue NZ (Revenue NZ) PAYE modernisation sprint team, and the delivery manager starts sharing a weekly velocity league table comparing our team against two other Scrum teams working on the same platform.
I would…
Raise this directly in the next retrospective, naming the specific risk: teams will inflate estimates to look busier, and QA stories will be compressed to maximise the visible point count. I would propose that velocity data be shared only within each team and that the programme use a rolling 5-sprint average solely for release forecast conversations with Revenue NZ stakeholders — not as a performance metric. I would bring historical sprint data to show that our velocity variance has already widened since the table was introduced, which is the early signal that gaming has started.
If…
I am joining a TransitNZ (TransitNZ) RoNS tolling project mid-programme as a QA contractor, and I notice the team has no anchor stories documented — planning poker produces wildly inconsistent estimates each sprint because team members have no shared reference point.
I would…
Volunteer to run a 30-minute "anchor calibration" session before the next sprint planning. I would pull three recently completed stories the whole team worked on — one they agree was trivial (candidate for a 1 or 2), one moderate (candidate for a 3 or 5), and one that caused pain (candidate for an 8) — write them up in Confluence with their actual point value and a one-sentence description of what made them that size, and get explicit team agreement before publishing. I would reference these anchors at the top of every planning poker round until estimating became consistent, and refresh them every two months or whenever team composition changed significantly.
If…
I am a tester on an FamiliesNZ case-management platform upgrade, and the product owner consistently pushes back on estimates above 5 points, arguing that "we need to get this done before the statutory reporting cycle" — resulting in stories being pulled into sprints at 3 points that the development team privately knows are 8s.
I would…
Document the pattern explicitly: keep a sprint-by-sprint table of originally estimated versus actual-feeling complexity for stories where the PO intervened, and present it at the retrospective after two sprints. The data will show that under-estimated stories are the ones most likely to spill into the next sprint or to be marked "done" without adequate test coverage — both of which carry serious risk on a child welfare system where data accuracy has direct human impact. I would also remind the team in planning that the PO's role is to clarify acceptance criteria, not to size; if the statutory deadline cannot be met at the honest estimate, that is a scope conversation, not an estimation problem.

The bottom line: Story points only work as long as the team estimates for the work, not for the audience — the moment estimates are shaped by what a stakeholder wants to hear rather than what the team honestly believes, you no longer have a forecasting tool, you have a compliance ritual.

Best Practices

✓ What experienced practitioners do
  • ✓ Establish 2–3 anchor stories in a shared wiki page and reference them explicitly at the start of every planning session to keep the scale calibrated.
  • ✓ Use planning poker to surface disagreement, not just to arrive at a number — outlier votes reveal hidden complexity or missing requirements worth discussing.
  • ✓ Split any story estimated at 8 points or above before pulling it into a sprint; treat 13+ as a hard rule that it must be decomposed.
  • ✓ Include testing effort — automation setup, regression coverage, and exploratory testing — explicitly in the point estimate, not as a separate afterthought task.
  • ✓ Never re-estimate completed stories; treat over- or under-runs as forecast data that informs future estimates, not errors to correct.
  • ✓ Track rolling velocity over the last 3–5 sprints rather than a single sprint, to smooth out outlier sprints caused by public holidays or team disruptions.
  • ✓ Protect point estimates from outside pressure: POs clarify scope, the team sizes; if scope changes after estimation, re-estimate the story, not the number to hit a deadline.
  • ✓ Periodically audit whether your baseline stories still feel right — teams and codebases evolve, and what was a 3-pointer 12 months ago may now be a 1-pointer or vice versa.

Common Misconceptions

❌ Myth: Story points are just hours in disguise — you can convert them directly to get a delivery date.

Reality: Points measure relative complexity and uncertainty, not time. Converting them to hours destroys that abstraction and reintroduces all the estimation errors points were designed to avoid. Use velocity (points per sprint) to forecast delivery windows, not a points-to-hours ratio.

❌ Myth: A team with higher velocity is more productive than a team with lower velocity.

Reality: Velocity is a team-local forecasting tool. Teams with different definitions of done, different domain complexity, and different baseline calibrations will have completely different velocities — comparing them is meaningless and drives perverse incentives like inflating estimates to look busier.

❌ Myth: The team should update a story's point value if it ended up taking more (or less) effort than expected.

Reality: The estimate reflects the team's understanding at the time of planning. Changing it retroactively corrupts velocity data and removes the learning signal. Leave the original estimate intact and treat the variance as an input to refine future estimates of similar stories.

Career level guidance

Junior

  • Listen during estimation sessions and ask questions about why a story is sized a certain way.
  • Participate in planning poker even if you feel uncertain — your fresh perspective is valuable.
  • Learn the team's baseline stories so you can compare new work against known references.
  • Avoid equating points directly to hours in conversation with stakeholders.

Senior

  • Lead by explaining the "why" behind your estimates; model the inclusion of complexity, uncertainty, and risk.
  • Help the team identify when a story is too large or ambiguous and should be split or spiked.
  • Protect the team from external pressure to re-estimate or normalise points across teams.
  • Track velocity trends and flag when the team's capacity signal is drifting.

Test Lead

  • Ensure testing effort is explicitly considered during estimation, not treated as an afterthought.
  • Advocate for including test automation, regression coverage, and exploratory testing in the point value.
  • Watch for stories that consistently underestimate testing complexity — this is a common blind spot.
  • Use velocity and burn-down data to forecast when quality debt is accumulating.

Why teams fail here

  • Anchoring to hours: Teams quietly map 1 point to half a day and never tell anyone — which preserves the ceremony of relative estimation while discarding all its benefits; velocity then becomes a proxy for hours-tracked rather than a capacity signal.
  • Testing effort omitted: Developers estimate coding complexity and QAs are expected to fit test design, automation, and regression coverage into whatever is left of the sprint — the points never reflected reality, and the team wonders why testing is always the bottleneck.
  • PO influence on estimates: Product owners or delivery managers negotiate points downward to make the roadmap look achievable, training the team to anchor on what stakeholders want to hear rather than what the work actually entails.
  • No baseline recalibration: The team sets anchor stories in month one and never revisits them — after six months of codebase growth, tooling changes, and team turnover, a “3-point story” means something completely different to each team member and estimation sessions become noise.

Key takeaway

Story points done well are not a way to estimate work — they are a forcing function for honest conversation about complexity, and the number that comes out is almost less important than the disagreement it surfaces.

How this has changed

The field moved. Here is how Story Points evolved from its origins to current practice.

1990s

Story points originate in XP as a way to estimate relative complexity without committing to hours. Ron Jeffries and Ward Cunningham use abstract units to separate "how hard is this?" from "how long will it take?"

2005

Mike Cohn popularises story points in "Agile Estimating and Planning." The Fibonacci sequence (1, 2, 3, 5, 8, 13...) becomes standard because gaps represent meaningful differences in uncertainty.

2009

Velocity (story points per sprint) becomes the primary planning tool for release forecasting. Teams track velocity over time and use it to project when a backlog will be completed.

2015

#NoEstimates movement challenges story points. Flow metrics are argued to provide more accurate forecasts without the estimation ceremony.

Now

AI tools estimate stories from natural language descriptions with reasonable accuracy by comparison to historical stories. Some teams use AI estimates as a starting point for planning poker. Others have abandoned story points for flow-based forecasting.

Self-Check

Click each question to reveal the answer.

Q: Your team is estimating a story to add a new income declaration screen to the Benefits NZ online portal. Two developers flag the story as an 8 because the income rules touch five downstream benefit calculations. The BA says "the AC is complete, it's just a form — surely a 3?" How do you respond and what should the team do?

A: The BA is confusing functional simplicity (it looks like a form) with implementation complexity (income rules cascade into benefit eligibility logic touching five systems). Story points include complexity, uncertainty, and risk — not just visible UI work. The team doing the work owns the estimate, not the BA or PO. The right move is to ask the developers to walk through the downstream calculations so the whole team understands the scope, then re-estimate. If the team still lands at 8, that is the number; the BA's job is to clarify requirements, not negotiate points downward. In NZ government systems like Benefits NZ, incorrect benefit calculations carry regulatory and compliance risk that testing must cover in full — this is precisely the kind of hidden effort story points are designed to surface.

Q: Your team's velocity has been steady at 42 points per sprint for six sprints. The delivery manager asks you to commit to delivering a 200-point backlog in four sprints to meet a statutory deadline for TransitNZ licence renewal processing. What is your response and what data do you use?

A: At 42 points per sprint, delivering 200 points in four sprints requires a velocity of 50 — roughly 20% above current capacity with no buffer. The correct response is to use the velocity data honestly: at 42 points per sprint, the backlog will take approximately 4.8 sprints, meaning five sprints is a realistic commitment. Present this to the delivery manager with the rolling average and explain that compressing the timeline requires either reducing scope (defer lower-priority stories to a later release) or adding capacity — not re-estimating stories to fit the deadline. Committing to an impossible target then missing it on a statutory system like TransitNZ licensing creates real downstream harm; using velocity data to have that conversation early is the professional and responsible approach.

Q: What is the key difference between story points and t-shirt sizing, and when would you choose one over the other?

A: Story points (typically Fibonacci: 1, 2, 3, 5, 8, 13, 21) are precise enough to feed velocity tracking and sprint-level forecasting; t-shirt sizing (XS/S/M/L/XL) uses coarser buckets and is intentionally rough. Choose story points when you are sprint-planning stories that will be committed to in an upcoming iteration and you need a stable velocity signal over time. Choose t-shirt sizing when stories are too early or too vague to warrant Fibonacci precision — for example, during a product discovery workshop or when sizing an entire backlog at the portfolio level before detailed refinement. T-shirt sizing is also lower friction for teams new to relative estimation: it removes the temptation to anchor on specific numbers and gets the team comfortable with "this is bigger than that" thinking before introducing a numeric scale.

Q: A developer says "We finished that story in a day and a half — it was clearly a 1, not the 5 we estimated. I'll update the points so our velocity is accurate." What is wrong with this and how do you respond?

A: Re-estimating completed stories corrupts velocity data and removes the learning signal. Velocity is calculated using the original estimates the team committed to; changing a 5 to a 1 after the fact makes the team appear to have lower capacity than they do and masks the fact that estimates were wrong. The variance — a 5-point story that felt like a 1 in execution — is valuable feedback: it means the team over-estimated relative complexity for that type of work, which should inform future calibration of similar stories. Leave the 5 in place, record the actual duration mentally, and use that experience to adjust your baseline anchors at the next retrospective. The principle is: estimates are a snapshot of understanding at planning time, not a target to be corrected once you know the truth.

← Back to Agile Techniques Next: TDD →