Sprint Velocity & Capacity Forecast
Forecast sprint capacity and release timelines with velocity variance. Enter values for instant results with step-by-step formulas.
Formula
Adjusted Velocity = Avg Velocity × (Available Hours / Total Hours); Sprints to Complete = Backlog / Adjusted Velocity
Sprint velocity forecasting combines historical throughput with capacity adjustment for realistic planning. Velocity = average story points completed over last 6 sprints. Capacity = (Team size × Work days × Hours/day) - PTO - Meetings. Capacity factor = Available / Total. Adjusted velocity = Historical velocity × Capacity factor. Example: 6 people, 10 days, 8 hrs = 480 hrs. PTO (40 hrs) + Meetings (90 hrs) = 130 hrs off. Available: 350 hrs. Factor: 350/480 = 73%. If velocity is 40, adjusted = 29 points. Sprints needed = Backlog / Adjusted velocity. 200 points / 29 = 6.9 sprints. Use range for confidence: If std dev is 8, pessimistic velocity = 29-8 = 21, optimistic = 29+8 = 37. Sprints range: 200/37 to 200/21 = 5.4 to 9.5 sprints. Communicate: '7 sprints expected, range 5-10.' Formula works because it uses empirical data (actual throughput) instead of estimated task durations, and adjusts for known capacity constraints. Historical velocity self-corrects estimation bias—if team overestimates, velocity normalizes to actual output. Key insight: Velocity is descriptive (what happened) not prescriptive (what should happen). Pressuring velocity increase leads to gaming, not productivity improvement.
Frequently Asked Questions
What is sprint velocity?
Velocity is the amount of work (story points) a team completes per sprint on average. Measured empirically: Sum completed points over last 3-6 sprints, divide by sprint count. Example: Team completed 35, 42, 38, 45 points over 4 sprints. Velocity = (35+42+38+45)/4 = 40 points/sprint. Use for forecasting: 200-point backlog at 40 velocity = 5 sprints. Important: Velocity is team-specific—don't compare across teams. A '40-velocity' team isn't faster than '30-velocity' team; they estimate differently. Track trend, not absolute number.
How do I calculate sprint capacity?
Capacity = Available work hours for the sprint. Formula: (Team members × Work days × Hours/day) - PTO - Meetings - Other commitments. Example: 6-person team, 10 work days, 8 hrs/day = 480 hrs total. Minus: 2 days PTO (16 hrs), 10 hrs meetings/person (60 hrs), 20% buffer (80 hrs). Available: 480 - 16 - 60 - 80 = 324 hrs. If velocity is 40 points at full capacity, adjusted = 40 × (324/480) = 27 points. Use capacity to adjust velocity when team has unusual sprint (holidays, on-call, training).
Should I use story points or hours for estimation?
Story points recommended for most teams. Points are relative complexity (this story is 2x harder than that one), not time. Benefits: (1) Abstract from individual speed differences, (2) More stable velocity (hours vary by who does work), (3) Easier estimation (compare to reference stories). Hours when: Very small team (1-2), well-understood work (support tickets), external billing by hour. Hybrid: Points for planning, track hours for capacity (different purposes). Key: Consistency matters more than choice—pick one, use consistently.
How many sprints of data do I need for reliable velocity?
Minimum 3 sprints, ideally 6-8 for reliable average. Early sprints (1-2): Velocity unstable—team forming, learning, calibrating estimates. Mid-term (3-5): Pattern emerges, use average with caution. Mature (6+): Reliable baseline; use standard deviation for confidence range. New teams: Start with capacity-based planning (hours available), transition to velocity after 3 sprints. Warning: Major changes (team composition, tech stack, product area) reset velocity—treat as new team.
What is a good velocity for a team?
No universal 'good' velocity—it's team-specific. Factors: (1) Estimation calibration (some teams use 1-5 scale, others 1-100), (2) Story granularity (big stories = fewer points completed), (3) Team skill and domain experience, (4) Technical debt and code quality. Benchmarks (rough): 5-10 points per person per 2-week sprint is common. So 6-person team: 30-60 points. But a team doing 25 points of well-estimated, high-quality work is better than 80 points of poorly-scoped, buggy work. Focus on trend (improving?) and predictability (consistent?), not absolute number.
How do I handle velocity variance in forecasting?
Use range, not single number. Calculate standard deviation of last 6 sprints. Example: Velocities 35, 42, 38, 45, 40, 36. Mean: 39.3. Std dev: 3.6. Forecast: 39 ± 4 (pessimistic 35, optimistic 43). For 200-point backlog: Pessimistic: 200/35 = 6 sprints. Expected: 200/39 = 5 sprints. Optimistic: 200/43 = 5 sprints. Communicate range to stakeholders: 'We'll complete in 5-6 sprints, most likely 5.' High variance (>25% of mean) signals estimation problems or scope instability—address root cause.
Should velocity increase over time?
Not necessarily—stable is often better than increasing. Velocity growth reasons: Team gelling, better tools, reduced tech debt, clearer requirements. Velocity plateau: Team at sustainable pace, complexity matches estimates—this is healthy. Velocity decline: Burnout, increased complexity, technical debt accumulation, team changes. Warning signs: Pressure to 'increase velocity' leads to gaming (inflating points) or cutting quality. Better metric: Value delivered (features shipped, customer impact) not points completed. Sustainable, predictable velocity > artificially high velocity.
How do I plan sprints with varying team capacity?
Adjust commitment based on capacity factor. Steps: (1) Calculate normal capacity (full team, no PTO). (2) Calculate actual capacity (account for PTO, holidays, on-call). (3) Capacity factor = Actual / Normal. (4) Adjusted velocity = Historical velocity × Capacity factor. Example: Normal: 6 people × 10 days = 60 person-days. Sprint has 1 person on vacation (10 days out), holiday (6 person-days out). Actual: 60 - 10 - 6 = 44 person-days. Factor: 44/60 = 73%. If velocity is 40, adjusted = 40 × 0.73 = 29 points. Don't overcommit on low-capacity sprints.
What if we consistently miss our sprint commitment?
Diagnose root cause: (1) Over-commitment: Reduce planned points to 80-90% of velocity (build buffer). (2) Unplanned work: Track interruptions, allocate capacity (20% for bugs/support). (3) Poor estimation: Stories take longer than expected—break into smaller pieces, use planning poker. (4) Scope creep: Stories grow mid-sprint—enforce 'no new work' after sprint start. (5) Dependencies: Blocked by other teams—identify earlier, plan around. (6) Technical debt: Everything takes longer—allocate 20% capacity to pay down debt. Fix one issue at a time. Target: Complete 90%+ of committed stories.
How do I forecast a release date?
Use velocity range for probabilistic forecast. Steps: (1) Size remaining backlog (total story points). (2) Calculate velocity range (mean ± std dev). (3) Divide backlog by velocities for sprint range. (4) Multiply by sprint length for date range. Example: 200 points remaining, velocity 40 ± 8, 2-week sprints. Optimistic: 200/48 = 4.2 sprints = 8.4 weeks. Expected: 200/40 = 5 sprints = 10 weeks. Pessimistic: 200/32 = 6.25 sprints = 12.5 weeks. Communicate: 'Target 10 weeks, range 8-13 weeks.' Add buffer for unknowns (20% for first release, 10% for mature products). Under-promise, over-deliver.