Sprint Capacity Planning | Velocity & Focus Factor
Calculate sprint capacity using velocity or hour-based methods. GitScrum accounts for PTO, holidays, and focus factor for realistic commitments.
6 min read
Capacity planning determines how much work a team can realistically complete in a sprint. Good capacity planning leads to achievable commitments and sustainable pace. Poor planning leads to overwork, missed commitments, or underutilization.
Capacity Factors
| Factor | Impact | How to Account |
|---|---|---|
| Holidays | Full day | Subtract |
| PTO | Full day | Subtract |
| Meetings | Partial | Focus factor |
| Interrupts | Partial | Focus factor |
Velocity-Based
Historical Approach
VELOCITY-BASED CAPACITY
βββββββββββββββββββββββ
USING VELOCITY:
βββββββββββββββββββββββββββββββββββββ
Simplest approach:
βββ Look at last 3-5 sprints
βββ Average completed points
βββ That's your capacity
βββ Adjust for known changes
βββ Data-driven
Example:
βββ Sprint 21: 32 points
βββ Sprint 22: 28 points
βββ Sprint 23: 35 points
βββ Sprint 24: 30 points
βββ Average: 31 points
βββ Plan for: 31 points
βββ Predictable
ADJUSTING FOR CHANGES:
βββββββββββββββββββββββββββββββββββββ
If capacity differs:
βββ Team member on PTO: -20%
βββ Holiday in sprint: -10%
βββ New team member: +50% (ramping)
βββ Team member leaving: -100% of theirs
βββ Calculate adjustment
βββ Modified capacity
Example:
βββ Normal velocity: 31 points
βββ 1 of 5 developers out for week
βββ Adjustment: -10% (1 week of 2)
βββ Adjusted capacity: 28 points
βββ Realistic planning
WHEN VELOCITY UNRELIABLE:
βββββββββββββββββββββββββββββββββββββ
Velocity less useful when:
βββ New team (no history)
βββ Major tech change
βββ Team composition changed
βββ Process changed significantly
βββ Use hour-based instead
βββ Rebuild baseline
Hour-Based
Detailed Calculation
HOUR-BASED CAPACITY
βββββββββββββββββββ
CALCULATION:
βββββββββββββββββββββββββββββββββββββ
Formula:
Available Hours = (Developers Γ Days Γ Hours)
Γ Focus Factor
Example:
βββ 5 developers
βββ 10 working days (2 weeks)
βββ 8 hours per day
βββ Base: 5 Γ 10 Γ 8 = 400 hours
βββ Focus factor: 0.7
βββ Available: 400 Γ 0.7 = 280 hours
βββ Capacity: 280 hours
FOCUS FACTOR:
βββββββββββββββββββββββββββββββββββββ
Time not on sprint work:
βββ Daily standup: 15 min
βββ Other meetings: 2 hrs/week
βββ Email/Slack: 1 hr/day
βββ Support/interruptions: 1 hr/day
βββ Typical: 60-80% focus
βββ Measure your team's actual
ADJUSTMENTS:
βββββββββββββββββββββββββββββββββββββ
Per person:
βββ Alice: Full sprint (100%)
βββ Bob: 3 days PTO (70%)
βββ Carol: Full sprint (100%)
βββ Dave: 1 day training (90%)
βββ Eve: Full sprint (100%)
βββ Total: 460% of 1 person
βββ Or: 4.6 Γ 10 Γ 8 Γ 0.7 = 258 hrs
βββ Adjusted capacity
CONVERT TO POINTS:
βββββββββββββββββββββββββββββββββββββ
If needed:
βββ Historical: 1 point β 4 hours
βββ 258 hours Γ· 4 = 64 points
βββ But points already account for overhead
βββ Usually use velocity or hours
βββ Don't double-convert
Sprint Planning
Using Capacity
CAPACITY IN SPRINT PLANNING
βββββββββββββββββββββββββββ
BEFORE PLANNING:
βββββββββββββββββββββββββββββββββββββ
Calculate capacity:
βββ Check holidays
βββ Check PTO
βββ Check other commitments
βββ Determine available capacity
βββ Share with team
βββ Know limits
DURING PLANNING:
βββββββββββββββββββββββββββββββββββββ
βββ Pull items up to capacity
βββ Don't exceed capacity
βββ Leave buffer (10-15%)
βββ Agree as team
βββ Commit to achievable
βββ Realistic commitment
BUFFER:
βββββββββββββββββββββββββββββββββββββ
Why leave buffer:
βββ Unexpected issues
βββ Harder than estimated
βββ Support requests
βββ Bug fixes
βββ Reality adjustment
βββ Sustainable pace
Example:
βββ Capacity: 30 points
βββ Buffer: 10%
βββ Plan for: 27 points
βββ If done early: pull more
βββ Better than missing
TRACKING:
βββββββββββββββββββββββββββββββββββββ
During sprint:
βββ Monitor burndown
βββ If behind, adjust
βββ If ahead, pull more
βββ Capacity is guide, not absolute
βββ Respond to reality
Handling Changes
Variable Capacity
HANDLING VARIABLE CAPACITY
ββββββββββββββββββββββββββ
PLANNED ABSENCES:
βββββββββββββββββββββββββββββββββββββ
During planning:
βββ Collect absence info
βββ Calculate adjusted capacity
βββ Plan accordingly
βββ Communicate to stakeholders
βββ Set appropriate expectations
UNPLANNED ABSENCES:
βββββββββββββββββββββββββββββββββββββ
During sprint:
βββ Acknowledge impact
βββ Adjust sprint scope if needed
βββ Communicate to stakeholders
βββ Don't expect team to make up
βββ Protect sustainable pace
NEW TEAM MEMBERS:
βββββββββββββββββββββββββββββββββββββ
Onboarding impact:
βββ Week 1: 0% capacity (learning)
βββ Week 2-4: 25-50% capacity
βββ Month 2: 50-75% capacity
βββ Month 3+: Full capacity
βββ Plus buddy time cost
βββ Account in planning
LEAVING TEAM MEMBERS:
βββββββββββββββββββββββββββββββββββββ
βββ Reduced output in final weeks
βββ Knowledge transfer time
βββ Don't plan full capacity
βββ Plan handoffs explicitly
βββ Realistic expectations
GitScrum Features
Capacity Tools
GITSCRUM CAPACITY
βββββββββββββββββ
SPRINT PLANNING:
βββββββββββββββββββββββββββββββββββββ
βββ Capacity display
βββ Points committed
βββ Remaining capacity
βββ Visual indicator
βββ Clear limits
TEAM AVAILABILITY:
βββββββββββββββββββββββββββββββββββββ
βββ Mark days off
βββ Holiday calendar
βββ Automatic calculation
βββ Visible to all
βββ Shared awareness
VELOCITY TRACKING:
βββββββββββββββββββββββββββββββββββββ
βββ Historical velocity
βββ Average calculation
βββ Trend chart
βββ Planning guidance
βββ Data-driven
BURNDOWN:
βββββββββββββββββββββββββββββββββββββ
βββ Track progress
βββ Compare to plan
βββ Early warning
βββ Adjust if needed
βββ Visual management
Best Practices
For Capacity Planning
Anti-Patterns
CAPACITY PLANNING MISTAKES:
β Plan to 100% capacity
β Ignore holidays/PTO
β Assume new hires are full speed
β No buffer for surprises
β Pressure to overcommit
β Ignore velocity data
β Same capacity every sprint
β Not adjusting for reality