Calculate available engineering team capacity for a sprint accounting for time off.
Team capacity should reflect realistic availability, not just nominal working hours: capacity = team_members × hours_per_sprint × focus_factor, where the focus factor (typically 0.6-0.8) accounts for meetings, code review, production support, context switching and other overhead that reduces time actually spent on planned sprint work. Dividing effective capacity by a historical hours-per-point rate translates raw hours into a story point budget comparable against sprint backlog estimates.
available_hours = team_members × hours_per_day × working_days × (1 - overhead_percent / 100)
Even highly productive teams lose meaningful time to meetings, on-call/support duties, code review for others, onboarding, and context-switching between tasks — a focus factor below 1.0 acknowledges this rather than planning against an unrealistic 100% utilization assumption.
Compare actual completed story points against nominal capacity (members × hours ÷ hours-per-point) over several past sprints — the ratio of actual-to-nominal is your team's empirical focus factor, which is more reliable than guessing.
Yes — for team members who split time across multiple teams or have reduced availability (part-time, onboarding, planned leave), use their actual available hours for the sprint rather than a full nominal allocation.
Not necessarily — an unusually high focus factor (e.g. above 0.85) might indicate insufficient time for code review, learning, or support work, which can lead to burnout or quality issues even though it looks efficient on paper.