Analyze team capacity, plan resource allocation, and balance workload across projects. Forecast staffing needs and optimize team utilization while maintaining sustainable pace.
Capacity planning ensures teams have sufficient resources to deliver work at sustainable pace, prevents burnout, and enables accurate commitment to stakeholders.
Minimal working example:
# Team capacity calculation and planning
class CapacityPlanner:
# Standard work hours per week
STANDARD_WEEK_HOURS = 40
# Activities that reduce available capacity
OVERHEAD_HOURS = {
'meetings': 5, # standups, 1-on-1s, planning
'training': 2, # learning new tech
'administrative': 2, # emails, approvals
'support': 2, # helping teammates
'contingency': 2 # interruptions, emergencies
}
def __init__(self, team_size, sprint_duration_weeks=2):
self.team_size = team_size
self.sprint_duration_weeks = sprint_duration_weeks
self.members = []
def calculate_team_capacity(self):
"""Calculate available capacity hours"""
# Base capacity
base_hours = self.team_size * self.STANDARD_WEEK_HOURS * self.sprint_duration_weeks
// ... (see reference guides for full implementation)
Detailed implementations in the references/ directory:
| Guide | Contents |
|---|---|
| Capacity Assessment | Capacity Assessment |
| Capacity Planning Template | Capacity Planning Template |
| Resource Leveling | Resource Leveling |
| Capacity Forecasting | Capacity Forecasting |