Why Your Sprint Velocity is Fluctuating (And Why That's Okay)
ScrumPoi · · 10 min read
Your Velocity Chart Is Lying to You (And That’s Good)
If your sprint velocity chart looks like a seismograph during an earthquake, you’re not broken.
You’re normal.
Most teams quietly panic when they see velocity jump from 40 to 24 to 37 to 18 over a few sprints. Leadership starts asking, “Why can’t we be more predictable?” Scrum Masters start obsessing over story point “accuracy.” Developers start gaming estimates.
Here’s the uncomfortable truth: stable velocity is usually a sign of dysfunction, not maturity.
Teams with perfectly flat velocity are often:
- Sandbagging estimates
- Avoiding risk and innovation
- Gaming the system to “look predictable”
Healthy teams, doing real work in a messy real world, will see velocity fluctuate. The goal is not to flatten the chart. The goal is to understand the fluctuations and make better decisions with them.
Let’s dig into why your sprint velocity is fluctuating—and why that’s not just okay, but often a good sign.
What Velocity Actually Measures (And What It Doesn’t)
Before we talk about fluctuations, we need to be brutally clear about what velocity is.
Velocity Is a Local, Relative Measure of Throughput
Velocity is:
- The total number of story points completed in a sprint
- According to this team’s estimation scale
- Under these conditions, with these people, in this context
Velocity is not:
- A universal measure of productivity
- Comparable between teams
- A performance metric for individuals
If Team A does 30 points and Team B does 60, that doesn’t mean Team B is “twice as productive.” It probably just means they estimate differently.
Treat velocity as:
- A trend, not a target
- A conversation starter, not a performance score
Once you stop worshipping velocity as a KPI, its fluctuations become data, not drama.
What Velocity Doesn’t Capture (But You’re Still Doing)
Velocity usually ignores:
- Tech debt reduction
- Spikes and research
- Production incidents and firefighting
- Cross-team coordination time
- Onboarding and mentoring
If your team spends half a sprint stabilizing production, your velocity will tank. That doesn’t mean you were “less productive.” It means you did work that isn’t well modeled as story points.
Key point: Velocity is a partial view of reality. If you treat it like the whole picture, every fluctuation looks like failure.
Why Your Sprint Velocity Is Fluctuating
Let’s unpack the most common reasons velocity jumps around—and which ones you should actually worry about.
1. Your Work Mix Is Changing (Good)
If your backlog has:
- One sprint of small, well-understood stories
- Followed by a sprint of gnarly integration work
- Followed by a sprint with a big unknown refactor
…then your velocity should move.
Example:
- Sprint 10: Mostly UI tweaks and small bugs → 45 points
- Sprint 11: New payment provider integration with unknowns → 23 points
- Sprint 12: Mix of follow-up bugs + feature work → 36 points
Nothing is “wrong” here. The work was different. Your capacity for pointed work changed.
When this is okay:
- The delivery of real value is steady-ish
- Stakeholders understand the nature of the work
- The team isn’t surprised in retrospect (“We knew this was risky”)
When it’s a problem:
- You keep discovering “surprise complexity” every sprint
- Refinement is shallow and rushed
- You never break down big items until it’s too late
Fluctuation from work mix is healthy. Fluctuation from constant surprise is not.
2. You’re Not Estimating Consistently (Fixable)
If your definition of “3 points” changes every sprint, your velocity will swing like crazy.
Common patterns:
- New team members silently use a different mental scale
- The team keeps re-basing story points based on “how long it took last time”
- People anchor on others’ estimates instead of their own judgment
Example:
- Sprint 5: “3 points” ≈ 1–2 days of effort
- Sprint 8: “3 points” ≈ 0.5 days because “we need to go faster”
Your velocity graph didn’t change. Your unit of measure did.
Telltale signs:
- Stories of the “same size” feel very different in effort
- Estimation discussions are rushed or dominated by 1–2 loud voices
- People change their estimates after hearing others (anchoring)
This is a process problem, not a capacity problem.
3. Your Team Capacity Is Actually Changing (Reality)
Vacations, sick days, on-call rotations, interviews, production incidents, company events—these all hit capacity.
If you pretend every sprint has “full capacity,” your velocity graph will look chaotic and “unpredictable.”
Example:
- Sprint 4: Full team, low incident volume → 40 points
- Sprint 5: Two people on vacation, one on heavy on-call → 24 points
- Sprint 6: Same as 4 → 39 points
That’s not chaos. That’s math.
You don’t need to “fix” this. You need to:
- Acknowledge it
- Plan for it
- Communicate it
4. You’re Being Interrupted Constantly (Structural)
Some teams are basically feature teams in name only, but operational teams in reality. They’re constantly:
- Handling ad-hoc stakeholder requests
- Jumping on “quick fixes” that bypass refinement
- Responding to production issues with no buffer
If you do this and still expect stable velocity, you’re lying to yourself.
You will see:
- Some sprints where you protect focus → high velocity
- Some sprints where you’re in firefighting mode → low velocity
This isn’t just fluctuation. It’s a system design problem.
5. You’re Gaming the Metric (Dysfunction)
If leadership is obsessed with “increasing velocity,” teams will unconsciously (or consciously) game it.
Symptoms:
- Stories are split purely to inflate point counts
- Teams inflate estimates to hit “predictable” numbers
- Work is rushed to “get it over the line” by the sprint end
Yes, your velocity graph will look stable. No, that doesn’t mean you’re predictable. It means you’re optimizing for optics.
This is the one fluctuation pattern that’s actually worse when it disappears.
Common Mistakes: What Not to Do With Velocity
Here’s where teams (and managers) usually go off the rails.
Mistake #1: Treating Velocity as a Target
If someone says “We need to hit 50 points next sprint,” you’ve already lost.
Velocity is:
- An observation of what happened
- A forecasting input, not a commitment
Turning it into a target guarantees:
- Sandbagging
- Gaming
- Short-term thinking
- Stress and burnout
Don’t:
- Tie bonuses, performance reviews, or promotions to velocity
- Compare velocity between teams
- Set “velocity goals”
Mistake #2: Comparing Teams by Velocity
“Team Alpha does 60 points, Team Beta only does 30. Why can’t Beta be more like Alpha?”
Because:
- Different estimation scales
- Different work types
- Different levels of tech debt and risk
- Different levels of operational load
Comparing team velocities is like comparing “we walked 10 miles” to “we walked 16 kilometers” and deciding who’s fitter.
Mistake #3: Overreacting to Every Dip
One low-velocity sprint does not require:
- A special retrospective
- A management review
- A “what went wrong?” witch hunt
Look at at least 3–5 sprints before deciding there’s a pattern.
Mistake #4: Ignoring the Context Behind the Numbers
Most velocity dashboards show:
- A line chart
- Maybe a trend line
Almost none show:
- Who was out
- What incidents occurred
- What non-pointed work took place
Without this context, velocity discussions turn into blame sessions instead of learning sessions.
How to Use Fluctuating Velocity Like a Pro
You don’t need perfectly stable velocity. You need useful velocity.
Here’s how to get there.
1. Normalize Your Estimation Process
Make story points boring again.
Practical steps:
- Pick a reference story (e.g., “This bug fix = 3 points”) and stick to it
- When new people join, explicitly explain the scale using real examples
- Use planning poker (or similar) to reduce anchoring and force everyone to think
- Timebox estimation conversations; if you’re arguing between 5 and 8, pick 5 and move on
Consistency beats precision. You’re not doing astrophysics. You’re trying to get “roughly right.”
2. Track Capacity Alongside Velocity
Stop pretending every sprint has 100% capacity.
For each sprint, track:
- Number of dev days available (e.g., 5 people × 10 days = 50 dev days)
- Major known absences (vacations, holidays, training)
- Known capacity hits (on-call, release windows)
Then look at:
- Points per dev day as a rough indicator
- How your velocity changes with predictable capacity changes
You’ll quickly see patterns like:
- “When we lose one dev full-time, we lose ~8–10 points”
- “Heavy on-call weeks cost us ~20% velocity”
Now your forecasts become grounded, not hand-wavy.
3. Separate Operational Work From Feature Work
If your team does both feature development and ops work, model that reality.
Tactics:
- Create separate swimlanes or labels for “Ops / Incidents” vs “Feature”
- Track how much time/points go into each per sprint
- Consider reserving a capacity buffer (e.g., 20–30%) for unplanned work if incidents are frequent
Then when velocity drops, you can say:
- “Yes, velocity dropped, but 40% of our time went into production incidents. Here’s the data.”
That’s a very different conversation from “We just didn’t deliver.”
4. Use Velocity for Ranges, Not Exact Predictions
Stop promising exact dates based on a single number.
Instead of:
- “We’ll deliver this epic in 3 sprints because our velocity is 30.”
Say:
- “Over the last 6 sprints, our velocity has been between 24 and 36, averaging 30.
This epic is about 90 points, so we expect 3–4 sprints, depending on risk and interruptions.”
This:
- Builds trust
- Acknowledges uncertainty
- Gives you room to adapt without looking like you failed
5. Feed Velocity Back Into Backlog Refinement
Velocity isn’t just for forecasting; it’s feedback.
Use it to:
- Spot stories that consistently blow up in size
- Identify areas of the system that are riskier or slower than expected
- Adjust how small you slice work
Example practice:
- In refinement, look at similar completed stories
- Ask: “When we called something 5 points in this area, what actually happened?”
- Adjust estimates or slice smaller based on real data
This is where velocity becomes a learning tool, not just a reporting metric.
6. Make Fluctuations Explicit in Retrospectives
Don’t just say “velocity dropped.” Say why in concrete, observable terms.
In your retro:
- Show the last 5–6 sprints of velocity
- Annotate them: vacations, incidents, big unknowns, external blockers
- Ask: “Which of these causes are acceptable? Which are fixable?”
Focus on systemic changes, not “try harder” nonsense:
- Better refinement
- Clearer Definition of Ready
- Reduced WIP
- Dedicated time for incident reduction or tech debt
And if you’re using tools for planning and retros, pick ones that don’t distort the conversation. For example, a lightweight tool like ScrumPoi lets teams run planning poker with anonymous voting (reducing anchoring) and quick retros without logins or per-user costs, which keeps the focus on the work, not the tool.
The Point: Stop Worshipping the Chart
Velocity is not your boss. It’s not your grade. It’s not your worth as a team.
It’s:
- A rough, local, imperfect signal
- Useful for forecasting in ranges
- Powerful when combined with context and honest discussion
If your sprint velocity is fluctuating:
- Sometimes that’s a sign of chaos and process gaps
- Often it’s simply a sign that you’re doing real work in a real environment
The mature move isn’t to force stability at all costs.
The mature move is to:
- Make estimation consistent
- Track capacity honestly
- Separate feature and operational work
- Use velocity as a learning tool, not a performance metric
If your chart looks messy, don’t panic. Ask better questions.
The problem is rarely the numbers. It’s how you’re using them.