Sprint Planning Best Practices | Realistic Commitments
Run effective sprint planning sessions with realistic commitments. GitScrum tracks capacity, backlog priority, and helps teams commit to achievable goals.
8 min read
Sprint planning is where strategy meets execution. A good planning session produces achievable commitments, clear goals, and a team that knows exactly what to build. A bad one creates overcommitment, confusion, and sprint failure before it starts.
Planning Problems
| Problem | Cause | Solution |
|---|---|---|
| Takes forever | Ungroomed backlog | Refine before planning |
| Overcommitment | No capacity math | Calculate capacity |
| Unclear work | Vague requirements | Groom with acceptance criteria |
| No focus | Too much variety | Clear sprint goal |
| Task dumping | No team input | Collaborative planning |
Preparation
Before the Meeting
SPRINT PLANNING PREPARATION
βββββββββββββββββββββββββββ
PRODUCT OWNER PREP:
βββββββββββββββββββββββββββββββββββββ
β‘ Backlog groomed and prioritized
β‘ Top items have:
βββ Clear acceptance criteria
βββ Estimates (from refinement)
βββ Dependencies identified
βββ Questions resolved
β‘ Priority clear for top 150% of capacity
β‘ Sprint goal drafted
β‘ Stakeholder input gathered
SCRUM MASTER PREP:
βββββββββββββββββββββββββββββββββββββ
β‘ Previous sprint data reviewed
βββ Velocity average
βββ Completion rate
βββ Issues to address
β‘ Capacity calculated
βββ Team availability
βββ PTO noted
βββ Other commitments
β‘ Meeting scheduled and rooms booked
β‘ Tools ready (GitScrum, projector)
β‘ Timeboxes planned
TEAM PREP:
βββββββββββββββββββββββββββββββββββββ
β‘ Previous sprint work completed or handed off
β‘ Questions about top backlog items noted
β‘ Technical considerations identified
β‘ Ready to commit
IF NOT PREPARED:
βββββββββββββββββββββββββββββββββββββ
Don't plan. Prep first.
Bad planning = failed sprint.
2 hours of prep saves 4 hours in meeting.
Capacity Calculation
CAPACITY BEFORE PLANNING
ββββββββββββββββββββββββ
CALCULATE AVAILABLE CAPACITY:
βββββββββββββββββββββββββββββββββββββ
Sprint: 2 weeks (10 working days)
PERSON AVAILABILITY:
ββββββββββββββββββββββββββββββββββββββββββββββββββββ
Person Days Out Days Available Focus Factor
ββββββββββββββββββββββββββββββββββββββββββββββββββββ
Sarah 0 10 80%
Mike 2 PTO 8 75%
Alex 1 training 9 75%
Emma 0 10 80%
ββββββββββββββββββββββββββββββββββββββββββββββββββββ
CAPACITY CALCULATION:
βββ Sarah: 10 Γ 5.5h Γ 0.80 = 44h β 11 pts
βββ Mike: 8 Γ 5.5h Γ 0.75 = 33h β 8 pts
βββ Alex: 9 Γ 5.5h Γ 0.75 = 37h β 9 pts
βββ Emma: 10 Γ 5.5h Γ 0.80 = 44h β 11 pts
βββ TOTAL: 39 points capacity
WITH BUFFER:
βββ Calculated: 39 points
βββ Buffer (10%): -4 points
βββ Commit to: 35 points
βββ Stretch: 35-39 points
The Meeting
Part 1: Goals and Priorities
PLANNING PART 1 (30-45 min)
βββββββββββββββββββββββββββ
SPRINT GOAL:
βββββββββββββββββββββββββββββββββββββ
PO presents:
"This sprint, our goal is to complete
user authentication so we can begin
user testing next sprint."
Why this matters:
βββ User testing blocked without auth
βββ Critical path for Q1 release
βββ Customer committed demo on [date]
βββ Questions?
DISCUSS GOAL:
βββ Team understands the why
βββ Questions answered
βββ Goal refined if needed
βββ Everyone aligned on priority
PRIORITY STACK:
βββββββββββββββββββββββββββββββββββββ
"To achieve this goal, here are the items
in priority order:
1. GS-100: Login implementation (8 pts)
2. GS-101: Password reset (5 pts)
3. GS-102: OAuth integration (8 pts)
4. GS-103: Session management (5 pts)
5. GS-104: Remember me (3 pts)
------- Sprint goal items above -------
6. GS-105: Security audit (5 pts)
7. GS-106: Bug fixes (4 pts)
We have 35 points capacity.
Items 1-4 = 26 points = goal achievable
Items 5-6 = stretch if capacity allows"
STAKEHOLDER EXIT:
βββββββββββββββββββββββββββββββββββββ
After Part 1, stakeholders leave.
Team owns the "how" in Part 2.
Part 2: Detailed Planning
PLANNING PART 2 (60-90 min)
βββββββββββββββββββββββββββ
ITEM BY ITEM:
βββββββββββββββββββββββββββββββββββββ
For each item:
1. PO PRESENTS CONTEXT
"GS-100: Login implementation.
Users enter email/password.
Acceptance criteria are..."
2. TEAM DISCUSSES APPROACH
"We'll use JWT tokens"
"Frontend form + backend validation"
"Need to integrate with existing user model"
3. TEAM BREAKS DOWN IF NEEDED
"Let's split this:
- Backend API (3 pts)
- Frontend form (3 pts)
- Integration + testing (2 pts)"
4. TEAM ESTIMATES/CONFIRMS
"Still 8 points total? Yes."
5. TEAM ASSIGNS (or decides later)
"Sarah on backend, Mike on frontend"
CONTINUE UNTIL CAPACITY:
βββ Work through priority order
βββ Track points committed
βββ Stop at capacity
βββ Don't exceed even for "one more thing"
IDENTIFY DEPENDENCIES:
βββββββββββββββββββββββββββββββββββββ
"GS-101 needs GS-100's auth endpoint.
Sarah, can you have that done by Day 3?"
"GS-102 needs OAuth keys from platform team.
We'll follow up today. If not by Day 2, at risk."
Commitment
FINALIZING THE SPRINT
βββββββββββββββββββββ
REVIEW COMMITMENT:
βββββββββββββββββββββββββββββββββββββ
Sprint 26 Commitment:
βββ Goal: Complete user authentication
βββ Capacity: 35 points
βββ Committed: 33 points
Items:
βββ GS-100: Login (8 pts) - Sarah/Mike
βββ GS-101: Password reset (5 pts) - Alex
βββ GS-102: OAuth (8 pts) - Sarah
βββ GS-103: Session mgmt (5 pts) - Mike
βββ GS-104: Remember me (3 pts) - Emma
βββ GS-106: Bug fixes (4 pts) - Emma
Stretch (if ahead):
βββ GS-105: Security audit (5 pts)
TEAM CONFIRMATION:
βββββββββββββββββββββββββββββββββββββ
"Looking at this list, is this achievable
in the next two weeks?"
Each person speaks:
βββ Sarah: "Yes, I'm good"
βββ Mike: "Concerned about OAuth timing"
βββ Alex: "All set"
βββ Emma: "Yes"
RESOLVE CONCERNS:
"Mike, what would help with OAuth timing?"
"If we get keys by Day 2, we're fine."
"Let's make that Day 1 action item."
COMMIT:
"We're committing to this sprint. Let's go!"
Common Pitfalls
Avoiding Problems
SPRINT PLANNING PITFALLS
ββββββββββββββββββββββββ
PITFALL: OVERCOMMITMENT
βββββββββββββββββββββββββββββββββββββ
Symptom: Always spilling work to next sprint
Cause: Planning to 100% capacity
Fix:
βββ Calculate real capacity
βββ Apply focus factor
βββ Include buffer
βββ Track and improve accuracy
βββ Under-promise, over-deliver
PITFALL: VAGUE ITEMS
βββββββββββββββββββββββββββββββββββββ
Symptom: "What does this mean?" in planning
Cause: Skipping refinement
Fix:
βββ Groom before planning
βββ Acceptance criteria required
βββ Questions answered in refinement
βββ Definition of Ready
βββ If not clear, don't commit
PITFALL: NO SPRINT GOAL
βββββββββββββββββββββββββββββββββββββ
Symptom: Random assortment of work
Cause: No focus from PO
Fix:
βββ Require sprint goal
βββ Items connect to goal
βββ Trade-offs favor goal items
βββ Success = goal achieved
βββ Not just "finish X points"
PITFALL: MANAGER ASSIGNS
βββββββββββββββββββββββββββββββββββββ
Symptom: Team told what to do
Cause: Top-down culture
Fix:
βββ Team pulls work
βββ Team self-organizes
βββ PO sets priorities (what)
βββ Team decides approach (how)
βββ Ownership = motivation
GitScrum for Planning
Planning Features
GITSCRUM SPRINT PLANNING
ββββββββββββββββββββββββ
BACKLOG VIEW:
βββββββββββββββββββββββββββββββββββββ
Planning β Backlog
βββ Prioritized list
βββ Points visible
βββ Drag to sprint
βββ Running total
βββ Capacity indicator
SPRINT CREATION:
βββββββββββββββββββββββββββββββββββββ
βββ Set sprint dates
βββ Define sprint goal
βββ Set capacity (manual or calculated)
βββ Track committed vs. capacity
βββ Start sprint when ready
CAPACITY TRACKING:
βββββββββββββββββββββββββββββββββββββ
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Sprint 26 β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β Goal: Complete user authentication β
β β
β Capacity: 35 pts β
β Committed: 33 pts β
β Buffer: 2 pts (6%) β
β β
β ββββββββββββββββββββββββββββββββββ 94% β
β β
β Status: β Good commitment level β
β β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
ASSIGNMENTS:
βββββββββββββββββββββββββββββββββββββ
In planning:
βββ Assign owners to items
βββ See workload balance
βββ Adjust if uneven
βββ Everyone has clear work
Best Practices
For Sprint Planning
Anti-Patterns
PLANNING MISTAKES:
β Ungroomed backlog in planning
β No capacity calculation
β Always overcommitting
β No sprint goal
β Manager assigns work
β Planning takes all day
β Same items every sprint (never done)
β No team input on approach