| name | sprint-plan |
| description | Plan a sprint that ships — capacity, commitment vs stretch, dependencies, risk-identification, and the pre-sprint discipline that prevents mid-sprint surprises. Distinct from scrum-master (process facilitation) by focusing on the planning artifact itself.
|
| license | MIT + Commons Clause |
| metadata | {"version":"1.0.0","author":"borghei","category":"project-management","domain":"execution","updated":"2026-05-27T00:00:00.000Z","python-tools":"sprint_planner.py","tech-stack":"sprint-planning, capacity, agile, story-points"} |
Sprint Planning
A sprint plan that survives contact with reality. Covers capacity math,
commit vs stretch separation, dependency identification, and the
pre-sprint review that prevents mid-sprint surprises.
When to use this skill
- Sprint kickoff (every 1-3 weeks)
- Sprint-plan template for new teams
- Sprint-plan audit when sprints consistently miss
- Quarter-start planning (rolled up across sprints)
- Post-mortem on a missed sprint (gap analysis)
The 7 sprint-plan elements
- Sprint goal — one sentence: what this sprint exists to achieve
- Team capacity — actual hours / story points after PTO, on-call, etc.
- Commits — items the team confidently ships
- Stretch — items if everything goes well; nothing depends on
- Dependencies — what must happen by when (external + internal)
- Risks — what could derail; mitigation per risk
- Definition of done — when is each item "done"?
Workflow
Step 1 — Define the sprint goal
A good goal:
- One sentence
- States outcome, not output ("ship 3 features" → "complete checkout flow MVP enabling first paid customers")
- Inspires the team
- Lets you say "no" to off-goal asks
Step 2 — Calculate capacity
Per team member:
- Working days = sprint days - holidays - approved PTO
- Effective hours = days × hours/day × focus factor (typically 0.6-0.75)
- Subtract on-call rotation hours
- Subtract meeting overhead
- Subtract support / interrupt tax
Aggregate across team. This is your real capacity.
Step 3 — Pull from backlog
Backlog items must be:
- Refined (acceptance criteria clear)
- Estimated (story points or hours)
- No major unknowns
Items that fail this are NOT eligible for the sprint. Send back to refinement.
Step 4 — Commit vs stretch
- Commits: 75-85% of capacity (leaves room for unknowns)
- Stretch: 10-15% of capacity (only if commits done)
Stuffing 100% of capacity = guaranteed miss. Reality always intrudes.
Step 5 — Identify dependencies
For each item:
- Cross-team dependencies (what they need from others)
- External dependencies (vendors, customers)
- Sequencing dependencies (A blocks B)
Each dependency needs:
- Owner
- Date needed by
- Confirmation it's planned
Step 6 — Identify risks
For each item, list likely risks:
- Technical risk
- Dependency risk (external owner slips)
- Estimate risk (unknowns might double effort)
- Capacity risk (key person may be pulled)
Per risk: likelihood, severity, mitigation, owner.
Step 7 — Definition of done
Per item:
- Code merged + reviewed
- Tests added
- Telemetry firing
- Docs updated
- Accessibility checked
- Feature flag configured (if applicable)
- QA passed
Step 8 — Run sprint_planner.py
Audit capacity utilization, commit/stretch split, dependency clarity,
DoD coverage.
python3 project-management/execution/sprint-plan/scripts/sprint_planner.py \
--input sprint_plan.json --format markdown
Decision frameworks
Capacity math (per 2-week sprint, 8-person team)
2 weeks = 10 working days
Per person:
- 10 days × 8 hours = 80 hours raw
- Minus PTO/holidays (e.g., 1 day) = 72 hours
- Minus meetings (~10 hrs) = 62 hours
- Minus on-call (~4 hrs avg) = 58 hours
- Minus interrupts/support (~6 hrs) = 52 hours
- Focus factor 0.7 = ~36 hours of "real" work
Team of 8 × 36 hours = 288 effective hours
= ~28 person-days of real engineering work
Most teams over-estimate capacity by 30-50%. Track actuals to calibrate.
Commitment discipline
| Filled at | Outcome |
|---|
| 100%+ | Always miss |
| 90-100% | Usually miss; no room for unknowns |
| 80-90% | Often achievable; healthy |
| 70-80% | Conservative; safer commits |
| < 70% | Under-committing; team disengaged |
Target: 80% commits + 15% stretch.
Sprint goal vs feature list
| Sprint goal | Why better |
|---|
| "Complete checkout MVP" | Outcome-aligned; defines what "done" looks like |
| "Ship feature X + Y + Z" | Feature list; what if one slips? |
| "Improve performance" | Vague; no done state |
A good sprint goal lets you say "we did it" or "we didn't" clearly.
Item sizing
Stories should be 1-5 days each. Stories > 5 days:
- Split into smaller stories
- Add a planning task to break them down
- Don't commit until refined
When to descope vs add capacity
Mid-sprint, when you realize commit is too much:
- Descope: drop a stretch item; cleanly remove from sprint
- Add capacity: rare; usually means borrowing from next sprint
- Push: absolute last resort; deal carefully with stakeholders
Discipline: descope early. Heroic late nights = burnout + bugs.
Common engagements
"Plan our next sprint"
- Pull team's velocity history (last 3-5 sprints).
- Calculate this sprint's capacity.
- Choose sprint goal aligned with quarter OKRs.
- Pull from backlog; verify items refined.
- Commit to 80%; stretch 15%.
- Identify dependencies + risks.
- Define done per item.
"Why are we missing every sprint?"
- Audit last 3 sprint plans + actuals.
- Diagnose: over-commit? estimation? unrefined items? interrupts?
- Tighten capacity math.
- Increase refinement discipline.
- Track interrupts; reduce them.
"Quarter planning rolled up from sprints"
- Define quarter goal (themes).
- Identify ~6 sprints of capacity.
- Allocate to: themes, tech debt, support, OKRs.
- Draft per-sprint goals.
- Refresh per sprint planning meeting.
Anti-patterns to avoid
- 100% capacity commit. Always miss.
- Mid-sprint scope add without descope. Burnout + bugs.
- No sprint goal. Random feature list.
- Unrefined items committed. Discovered complexity blows estimates.
- Dependency assumption without owner confirmation. Slips.
- No risk identification. Risks surface as crises.
- No DoD. "Done" varies by person.
- Velocity ignored. Repeat estimation mistakes.
References
references/capacity-math.md — deep on per-person capacity, focus factor, interrupt tax
references/sprint-anti-patterns.md — common failures + fixes
Related skills
project-management/scrum-master — process facilitation
project-management/execution/backlog-refinement — pre-sprint item prep
project-management/execution/story-splitting — sizing large stories
project-management/execution/cycle-time-analyzer — velocity tracking
project-management/sprint-retrospective — post-sprint learning
c-level-advisor/vpe-advisor — capacity planning at scale