Team Capacity Planning | Realistic Sprints
Calculate sprint capacity using focus factors (60-80%), leave, and meeting time. GitScrum tracks availability, workload distribution, and historical velocity.
8 min read
Overcommitment leads to burnout and missed deadlines. GitScrum helps teams plan capacity realistically and maintain sustainable delivery.
Capacity Fundamentals
Calculating Capacity
CAPACITY CALCULATION:
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β
β FORMULA: β
β β
β Available hours β
β - Meetings β
β - Planned leave β
β - Training/onboarding β
β Γ Focus factor (60-80%) β
β = Productive capacity β
β β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β
β EXAMPLE (2-week sprint, 5 developers): β
β β
β Person Days Meetings Leave Available β
β ββββββββ ββββ ββββββββ βββββ βββββββββ β
β Alex 10 1.5 days 0 8.5 days β
β Sam 10 1.5 days 2 6.5 days β
β Jordan 10 1.5 days 0 8.5 days β
β Taylor 10 2 days 0 8 days (lead) β
β Casey 10 1.5 days 1 7.5 days β
β ββββββββββββββββββββββββββββββββββββββββ β
β TOTAL 39 days β
β β
β Apply focus factor (70%): β
β 39 Γ 0.70 = 27.3 productive days β
β β
β In story points (if 1 point β 1 day): β
β Sprint capacity: ~27 points β
β β
β Reserve 15% for unplanned: β
β Planned work: ~23 points β
β Buffer: ~4 points β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Focus Factor
UNDERSTANDING FOCUS FACTOR:
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β
β WHERE TIME GOES (typical day): β
β β
β 8 hours total β
β βββ Meetings: 1.5 hours β
β βββ Email/Slack: 1 hour β
β βββ Code review: 0.5 hours β
β βββ Context switching: 0.5 hours β
β βββ Breaks: 0.5 hours β
β βββ Focused work: 4 hours β
β β
β Focus factor: 4/8 = 50% β
β β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β
β TYPICAL FOCUS FACTORS: β
β β
β 80%: Very few meetings, minimal interruptions β
β (rare, maybe during focused sprints) β
β β
β 70%: Normal development work β
β (reasonable default) β
β β
β 60%: Higher meeting load, support duties β
β (typical for leads) β
β β
β 50%: Heavy support, many meetings β
β (on-call, management) β
β β
β CALIBRATE OVER TIME: β
β Track actual vs estimated β
β Adjust factor based on reality β
β Different roles may have different factors β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Sprint Planning
Capacity-Based Planning
SPRINT PLANNING WITH CAPACITY:
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β
β BEFORE SPRINT PLANNING: β
β β
β 1. CALCULATE AVAILABILITY β
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β Sprint 12 Capacity ββ
β β ββ
β β Alex: 10 days - vacation Mon-Tue = 8 days ββ
β β Sam: 10 days - 1 day training = 9 days ββ
β β Jordan: 10 days - doctor appt Wed = 9.5 days ββ
β β ββ
β β Raw capacity: 26.5 days ββ
β β With focus factor (70%): 18.5 days ββ
β β With buffer (15%): ~16 days available ββ
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β
β 2. COMPARE TO VELOCITY β
β Historical average: 18 points β
β This sprint capacity: Lower than normal β
β β Plan for ~14-15 points β
β β
β 3. SELECT WORK β
β Top priority items that fit capacity β
β Don't overcommit "just in case" β
β β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β
β COMMON MISTAKES: β
β β
β β "We'll work harder this sprint" β
β β "Let's commit to 25 points, we can do it" β
β β Ignoring known absences β
β β Planning at 100% capacity β
β β
β β
"Capacity is lower, let's plan accordingly" β
β β
"We can pull in more if we finish early" β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Handling Variability
Unplanned Work
BUFFER FOR UNPLANNED WORK:
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β
β TYPES OF UNPLANNED WORK: β
β β
β β’ Production bugs β
β β’ Support escalations β
β β’ Urgent stakeholder requests β
β β’ Technical emergencies β
β β’ Underestimated complexity β
β β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β
β BUFFER STRATEGIES: β
β β
β PERCENTAGE BUFFER: β
β Reserve 15-20% of capacity β
β If capacity = 20 points, plan 16-17 points β
β β
β EXPLICIT BUFFER TASK: β
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β SPRINT-BUFFER: Unplanned work buffer ββ
β β Points: 3 ββ
β β ββ
β β For: Bugs, support, urgent requests ββ
β β If unused: Pull next priority item ββ
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β
β TRACK AND CALIBRATE: β
β β
β Sprint 10: 4 points unplanned β
β Sprint 11: 2 points unplanned β
β Sprint 12: 5 points unplanned β
β Average: 3.7 points β Buffer ~4 points β
β β
β If unplanned consistently high: β
β β Address root causes (quality, tech debt) β
β β Or adjust buffer permanently β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Individual Capacity
INDIVIDUAL VARIATION:
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β
β ROLE-BASED CAPACITY: β
β β
β SENIOR DEVELOPER: β
β Focus factor: 60% β
β (Code review, mentoring, meetings) β
β β
β MID-LEVEL DEVELOPER: β
β Focus factor: 75% β
β (Fewer meetings, more focused work) β
β β
β TECH LEAD: β
β Focus factor: 50% β
β (Architecture, planning, coordination) β
β β
β NEW TEAM MEMBER: β
β First month: 30% (onboarding, learning) β
β Month 2-3: 50% (still ramping) β
β Month 4+: 70% (normal productivity) β
β β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β
β CAPACITY TASK: β
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β Sprint capacity calculation ββ
β β ββ
β β Alex (senior): 10 days Γ 60% = 6 days ββ
β β Sam (mid): 10 days Γ 75% = 7.5 days ββ
β β Jordan (new): 10 days Γ 40% = 4 days ββ
β β ββ
β β Total: 17.5 days productive capacity ββ
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Sustainable Pace
Avoiding Burnout
SUSTAINABLE CAPACITY:
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β
β WARNING SIGNS: β
β β
β β οΈ Team consistently working overtime β
β β οΈ Velocity decreasing over time β
β β οΈ Quality issues increasing β
β β οΈ Team morale dropping β
β β οΈ Commitments always missed β
β β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β
β SUSTAINABLE PRACTICES: β
β β
β PLAN AT 80%: β
β Never plan at 100% capacity β
β Leave room for the unexpected β
β β
β RESPECT HOURS: β
β 40-hour weeks as the norm β
β Overtime is exception, not expectation β
β β
β PROTECT FOCUS TIME: β
β Meeting-free days or blocks β
β Reduce context switching β
β β
β RECOVERY SPRINTS: β
β After intense periods, plan lighter β
β Include tech debt and maintenance β
β β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β
β IF BEHIND SCHEDULE: β
β β
β β "Everyone work weekends" β
β β
"Let's re-prioritize scope" β
β β
"What can we defer?" β
β β
"Do we need more time or fewer features?" β
β β
β Crunch creates technical debt and burns out team β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Tracking and Improving
Capacity Retrospective
CAPACITY REVIEW:
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β
β SPRINT RETROSPECTIVE - CAPACITY: β
β β
β QUESTIONS TO ASK: β
β β
β β’ Did we commit to the right amount? β
β β’ How much unplanned work appeared? β
β β’ Were estimates accurate? β
β β’ Did anyone work overtime? β
β β’ What affected our capacity? β
β β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β
β CAPACITY ANALYSIS: β
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β Sprint 12 Review ββ
β β ββ
β β Planned: 18 points ββ
β β Completed: 15 points ββ
β β Unplanned: 4 points ββ
β β Total work: 19 points ββ
β β ββ
β β Analysis: ββ
β β We completed more work than planned velocity, ββ
β β but unplanned work displaced planned features. ββ
β β ββ
β β Action items: ββ
β β β’ Increase buffer to 20% (was 15%) ββ
β β β’ Investigate source of unplanned work ββ
β β β’ Consider dedicated support rotation ββ
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β
β OVER TIME: β
β Track patterns β
β Adjust focus factors β
β Refine buffer sizes β
β Improve predictability β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ