All articles in Sprint planning
Sprint planning

Capacity planning that survives reality

Naive capacity is team-size × sprint-days. Realistic capacity is 50-65% of that. Why, and how to compute it for your team.

8 min read

Most teams plan against naive capacity: team size × sprint days. A six-engineer team running a two-week sprint shows 60 person-days of capacity. They commit to 60 days of work. They deliver 35.

The gap isn't laziness. It's that "person-days" is a fiction. Real engineers spend a third of their time on meetings, another fifth on interruptions, a tenth on PTO and on-call duty, and the rest on the work the team is actually tracking. Naive capacity over-commits by 40% because it counts every working day as a working day.

This article is the math, the anti-patterns, and the fix.

The numbers

We measured this across ~400 sprints in Stride telemetry (Q1 2026). The breakdown:

Time categoryMedian %
Active development (the work tracked in stories)52%
Meetings (standup, planning, demos, 1:1s, all-hands)18%
Code review (others' PRs)10%
Interruptions / async support / on-call8%
PTO / holidays7%
Other (training, hiring, admin)5%

The number that matters: 52% active dev. Multiply that by your team size × sprint days to get realistic capacity.

For our 6-engineer 10-day sprint: 6 × 10 × 0.52 = 31 person-days. That's the upper bound on what you should plan, not 60.

Adjusting for your team

The 52% number is a median. Yours will be different, sometimes substantially. Real adjustments:

Increase your active-dev % if:

  • Your team has fewer than 4 engineers (less code review overhead)
  • You ship infrequently (fewer demos + releases)
  • You run async (fewer meetings)
  • You don't have a serious on-call rotation

Decrease your active-dev % if:

  • You're in growth mode hiring (interview load is real, often 5-10% of senior time)
  • Your on-call rotation is loud (every page is 30-60 min of focus tax)
  • You have many cross-team dependencies (lots of "wait for the platform team" interrupts)
  • You're a regulated industry (compliance reviews eat hours per sprint)

Calibrate quarterly. The 52% baseline is the starting point; the team-specific number is the planning input.

How to actually compute capacity

Three inputs you need before sprint planning:

1. Person-day availability per engineer

For each engineer, count working days in the sprint, then subtract:

  • Known PTO (calendar entries marked Out of Office)
  • Known training / conference days
  • Known interview load (count hours; convert to days)

Output: per-engineer person-days for this sprint.

2. Team active-dev percentage

The 52% baseline (or your calibrated number). Multiply per-engineer days by this percentage to get effective person-days.

3. Velocity in points per effective person-day

From your last 6 sprints: total points completed ÷ total effective person-days available those sprints. This is your team's point-per-day rate. For most teams it's 1.5-3 points/day.

Putting it together

Effective capacity (points) = sum(per-engineer effective days) × points-per-day

For our 6-engineer team, 10-day sprint, 52% active-dev, 2 days of PTO this sprint, 2 points/day:

  • Person-days: (6 × 10) - 2 = 58
  • Effective days: 58 × 0.52 = 30.2
  • Capacity: 30.2 × 2 = 60 points

You can pull about 60 points. Pulling 90 is over-commitment. Pulling 40 is under-commitment (which is its own anti-pattern: under-loaded teams produce thrash).

Anti-patterns we see

The Hero Sprint. "We have so much to ship. Let's just commit to 80 and grind." The team commits, misses, retros, commits, misses, retros. Heroics aren't a planning strategy.

The Sandbagging Sprint. Team is burnt out from last sprint's over-commitment, so they pull half capacity. This is fine for one sprint as recovery. As a pattern, it tells the planner the team has no slack-recovery rhythm. Fix the pattern, not the under-commitment.

The Mystery Capacity. "We always plan for 50, just because." When asked where 50 came from, nobody knows. Usually it's the highest number a previous team hit once.

The Ignored PTO. Three engineers on PTO and the team still plans for full capacity. Happens more than you'd think, usually because PTO isn't visible at planning time.

The Buffer-Free Sprint. No reserve for surprises. First production incident derails the entire sprint. Build a 15-20% buffer; expect to use it.

How Stride does this

In the Plan module: capacity is computed automatically from each engineer's PTO calendar, meeting load (pulled from Google Calendar / Outlook), and the team's historical velocity. The planner sees a per-engineer breakdown (actual available focus hours per day, not theoretical maximums) and the proposed sprint draft fits within that capacity by construction.

The user can still over-commit by hand. The friction is intentional: the system shows you when you're over, but doesn't block. Some sprints (a critical release, a hackathon-style push) genuinely need to over-commit. The point is to make it a conscious choice, not the default.

The Plan module computes realistic capacity from your team's actual data (PTO, meetings, velocity) and proposes a sprint draft the team can edit.

See AI sprint planning in Stride

Frequently asked questions

How accurate is sprint capacity planning?
Naive capacity (team-size × sprint-days) overestimates by 40-50%. Realistic capacity computed from PTO + meetings + on-call + a 15% unknowns buffer typically lands within 10-15% of actual delivered. Anchoring against the last 3-5 sprints of measured velocity catches residual error.
What percentage of time do engineers spend on actual development?
Stride telemetry across ~400 sprints shows 52% median: 18% meetings, 10% reviewing others' PRs, 8% interruptions/on-call, 7% PTO/holidays, 5% other (training/hiring/admin). The 52% figure is the input to realistic capacity calculations.
Should sprint capacity change between sprints?
Yes, every sprint. PTO, on-call rotation, all-hands frequency, hiring interview load all shift capacity. Teams that compute once and reuse get systematic under-delivery; teams that recompute each sprint stay calibrated.
How does AI change sprint capacity planning?
AI handles the capacity arithmetic in 2 seconds instead of the 60% of planning time most teams spend on it. The team's remaining 40% is the judgement work (which stories fit, which depend on each other, which are still under-defined) that AI can't replace.