The Overcommitment Problem Common scenario: ├─ Sprint planning: 'We can do 80 points' ├─ Reality: │ ├─ Sarah: 3 days vacation │ ├─ Mike: Jury duty 2 days │ ├─ John: Leading training session │ ├─ Everyone: Team offsite 1 day │ └─ Actual capacity: 50 points ├─ Result: Sprint fails ├─ Team: 'Why do we always fail?
Not wishful thinking. Calculating Real Capacity Capacity formula: ├─ Team: 5 developers ├─ Sprint: 10 working days ├─ Available hours per day: 6 │ └─ (Not 8 - meetings, breaks, etc.) ├─ Gross capacity: 5 x 10 x 6 = 300 hours ├─ Minus: │ ├─ Sarah vacation: -18 hours │ ├─ Mike jury duty: -12 hours │ ├─ Training session: -6 hours │ ├─ Team offsite: -30 hours │ └─ Total deductions: -66 hours ├─ Net capacity: 234 hours ├─ Focus factor (0.8): 187 hours 187 hours available.
Not 300. Focus Factor Why 80%: ├─ Unexpected meetings: 5% ├─ Production issues: 5% ├─ Helping teammates: 5% ├─ Admin tasks: 5% ├─ Actual coding: 80% Adjust based on role: ├─ Junior developer: 70% focus ├─ Senior developer: 75% focus ├─ Tech lead: 50% focus (more meetings) ├─ Architect: 40% focus (more design work) Realistic factors.
Not optimistic. Visibility Into Availability Team calendar view: ├─ Sprint 18 (Dec 1-14) │ ├─ Sarah: Full capacity │ ├─ Mike: Dec 1-3 vacation (-24h) │ ├─ John: Dec 8 training (-8h) │ ├─ Lisa: Full capacity │ └─ Tom: Dec 12 doctor (-4h) │ │ Team capacity: 264 hours │ Historical velocity: ~50 points │ Recommended commitment: 45-50 points Plan with eyes open.
Historical Velocity Past performance: ├─ Sprint 15: 48 points completed ├─ Sprint 16: 52 points completed ├─ Sprint 17: 45 points completed ├─ Average: 48 points/sprint ├─ Variance: +/- 4 points Next sprint planning: ├─ Capacity similar? Commit ~48 ├─ Capacity reduced?
Adjust down ├─ Capacity increased? Cautiously adjust up Velocity is a planning tool.
Not a performance metric. Skill-Based Capacity Not all hours equal: ├─ Frontend tasks: 40 hours estimated ├─ Frontend capacity: │ ├─ Sarah: 30 hours (specialist) │ ├─ Mike: 10 hours (can help) │ └─ Total: 40 hours - OK │ ├─ Backend tasks: 60 hours estimated ├─ Backend capacity: │ ├─ John: 25 hours │ ├─ Lisa: 20 hours │ └─ Total: 45 hours - PROBLEM Capacity by skill matters.
45 backend hours != 60 hours needed. Leave Management Integration Calendar sync: ├─ HR system shows: │ ├─ Approved vacation │ ├─ Sick leave (when reported) │ ├─ Company holidays │ └─ Team events ├─ Capacity auto-calculated ├─ Sprint planning uses real numbers ├─ No surprises mid-sprint Automated deductions.
No manual tracking. Meeting Load Factor Meetings eat capacity: ├─ Team member: 40 hours/week ├─ Recurring meetings: │ ├─ Standup: 2.5 hours/week │ ├─ Sprint ceremonies: 4 hours/sprint │ ├─ Team meetings: 2 hours/week │ └─ 1:1s: 1 hour/week ├─ Ad-hoc meetings: ~3 hours/week ├─ Total meeting load: 10 hours/week ├─ Coding time: 30 hours/week Meetings must be factored.
Otherwise, perpetual overcommitment. Sprint Commitment Process Healthy planning: ├─ Step 1: Calculate capacity │ └─ Real hours, adjusted for PTO/meetings ├─ Step 2: Review velocity │ └─ What have we actually delivered?
├─ Step 3: Pull from backlog │ └─ Until capacity filled ├─ Step 4: Leave buffer │ └─ 10-15% for unknowns ├─ Step 5: Commit │ └─ Team agrees it's achievable Pull to capacity. Not push beyond.
Carry-Over Tracking Watch the pattern: ├─ Sprint 15: 5 tasks carry over ├─ Sprint 16: 4 tasks carry over ├─ Sprint 17: 6 tasks carry over ├─ Average: 5 tasks/sprint ├─ Issue: Systematic overcommitment If carry-over is consistent: ├─ Capacity calculation is wrong ├─ Estimates are optimistic ├─ Scope creep happening ├─ Fix the root cause Carry-over = Feedback signal. Resource Allocation View Who's working on what: ├─ Sarah (40h capacity) │ ├─ Task 1: User auth - 16h │ ├─ Task 2: Profile page - 12h │ ├─ Code reviews: 8h │ └─ Buffer: 4h │ └─ Total: 40h - Balanced │ ├─ Mike (30h capacity - vacation) │ ├─ Task 3: API endpoint - 20h │ ├─ Code reviews: 5h │ └─ Buffer: 5h │ └─ Total: 30h - Balanced Individual balance.
No one overloaded. Buffer Planning Always include buffer: ├─ Sprint capacity: 200 hours ├─ Committed work: 170 hours (85%) ├─ Buffer: 30 hours (15%) Buffer uses: ├─ Unexpected bugs ├─ Production incidents ├─ Scope clarification ├─ Helping teammates ├─ Unplanned meetings No buffer = Guaranteed failure.
Buffer = Flexibility. Capacity vs.
Velocity Different concepts: ├─ Capacity: Hours available to work ├─ Velocity: Points completed per sprint ├─ Relationship: Correlated, not equal Use both: ├─ Capacity: 'We have 200 hours' ├─ Velocity: 'We complete ~50 points' ├─ Ratio: ~4 hours per point ├─ Next sprint: 180 hours available ├─ Expected: ~45 points Capacity sets ceiling. Velocity predicts completion.
Handling Urgent Work Unplanned work happens: ├─ Sprint capacity: 200 hours ├─ Planned work: 170 hours ├─ Buffer: 30 hours ├─ Day 3: Urgent bug takes 20 hours ├─ Result: Buffer absorbs it ├─ Sprint: Still succeeds Without buffer: ├─ Day 3: Urgent bug takes 20 hours ├─ Something gets dropped ├─ Sprint: Fails ├─ Team: Frustrated Buffer is insurance. Long-Term Planning Quarterly view: ├─ Q1 2025 Capacity │ ├─ Sprint 1: 220h (holidays impact) │ ├─ Sprint 2: 280h (full team) │ ├─ Sprint 3: 250h (training week) │ ├─ Sprint 4: 280h (full team) │ ├─ Sprint 5: 200h (team offsite) │ ├─ Sprint 6: 280h (full team) │ └─ Quarter total: ~1500 hours │ └─ Expected: ~375 points Plan features across quarter.
Know what's realistic. Team Growth Planning Capacity changes: ├─ Current: 5 developers, 250h/sprint ├─ New hire joins Sprint 4: │ ├─ Sprint 4: 40% productivity (ramp-up) │ ├─ Sprint 5: 60% productivity │ ├─ Sprint 6: 80% productivity │ └─ Sprint 7+: 100% productivity ├─ Capacity increase gradual │ └─ Not instant +50h Onboarding takes time.
Factor into capacity. Part-Time Team Members Handling contractors/part-time: ├─ Team: │ ├─ Sarah: Full-time (40h) │ ├─ Mike: Full-time (40h) │ ├─ Contractor: 20h/week │ └─ Intern: 15h/week ├─ Total hours: Different from 4 people ├─ Capacity: 40+40+20+15 = 115h/week Count actual hours.
Not headcount. Getting Started 1.
Sign up GitScrum ($8.90/user, 2 free) 2. Set team members' capacity 3.
Sync leave calendars 4. Enter known PTO/meetings 5.
See calculated sprint capacity 6. Plan sprints to 85% capacity 7.
Track and adjust over time Plan what's possible. Not what's wished.
The GitScrum Advantage
One unified platform to eliminate context switching and recover productive hours.









