GitScrum / Docs
All Best Practices

Optimize Sprint Planning | Capacity & Goal Setting

Run efficient sprint planning in under 2 hours. Capacity calculation, sprint goal definition, story selection, and task breakdown using GitScrum analytics.

16 min read

Sprint planning sets the trajectory for the entire sprint. Poorly planned sprints lead to constant re-planning, missed commitments, and team frustration. Effective sprint planning is a skill that improves with deliberate practice. GitScrum provides the structure and data to make planning sessions focused, data-driven, and consistently productive.

Pre-Planning Preparation

Backlog Readiness Check

BEFORE PLANNING MEETING:
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ READY FOR PLANNING CHECKLIST                                β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚                                                             β”‚
β”‚ PRODUCT OWNER RESPONSIBILITIES (1-2 days before):          β”‚
β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”β”‚
β”‚ β”‚ [ ] Top 15-20 items refined and prioritized             β”‚β”‚
β”‚ β”‚ [ ] Acceptance criteria clear for top items             β”‚β”‚
β”‚ β”‚ [ ] Dependencies identified and flagged                 β”‚β”‚
β”‚ β”‚ [ ] Questions from refinement answered                  β”‚β”‚
β”‚ β”‚ [ ] Sprint goal draft prepared                          β”‚β”‚
β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜β”‚
β”‚                                                             β”‚
β”‚ DEFINITION OF READY:                                        β”‚
β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”β”‚
β”‚ β”‚ Story is "Ready" when:                                  β”‚β”‚
β”‚ β”‚                                                         β”‚β”‚
β”‚ β”‚ βœ“ Clear user story format or task description           β”‚β”‚
β”‚ β”‚ βœ“ Acceptance criteria defined                           β”‚β”‚
β”‚ β”‚ βœ“ Story pointed (from refinement)                       β”‚β”‚
β”‚ β”‚ βœ“ No unresolved questions                               β”‚β”‚
β”‚ β”‚ βœ“ Dependencies identified                               β”‚β”‚
β”‚ β”‚ βœ“ Design/mockups available if needed                    β”‚β”‚
β”‚ β”‚                                                         β”‚β”‚
β”‚ β”‚ NOT READY = Should not be discussed in planning         β”‚β”‚
β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜β”‚
β”‚                                                             β”‚
β”‚ GITSCRUM BACKLOG STATE:                                     β”‚
β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”β”‚
β”‚ β”‚ Backlog View:                                           β”‚β”‚
β”‚ β”‚                                                         β”‚β”‚
β”‚ β”‚ Priority β”‚ Title                 β”‚ Pts β”‚ Status        β”‚β”‚
β”‚ │──────────┼───────────────────────┼─────┼───────────────││
β”‚ β”‚ 1        β”‚ User auth flow        β”‚ 8   β”‚ βœ“ Ready       β”‚β”‚
β”‚ β”‚ 2        β”‚ Payment integration   β”‚ 13  β”‚ βœ“ Ready       β”‚β”‚
β”‚ β”‚ 3        β”‚ Email notifications   β”‚ 5   β”‚ βœ“ Ready       β”‚β”‚
β”‚ β”‚ 4        β”‚ Dashboard widgets     β”‚ 8   β”‚ βœ“ Ready       β”‚β”‚
β”‚ β”‚ 5        β”‚ Report export         β”‚ 5   β”‚ βœ“ Ready       β”‚β”‚
β”‚ β”‚ 6        β”‚ API versioning        β”‚ 13  β”‚ ⚠ Needs AC    β”‚β”‚
β”‚ β”‚ 7        β”‚ Mobile responsive     β”‚ ?   β”‚ ⚠ Not pointed β”‚β”‚
β”‚ β”‚                                                         β”‚β”‚
β”‚ β”‚ β†’ Items 1-5 can be planned. Items 6-7 need refinement.  β”‚β”‚
β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜β”‚
β”‚                                                             β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Capacity Calculation

TEAM CAPACITY FOR SPRINT:
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ DETERMINING AVAILABLE CAPACITY                              β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚                                                             β”‚
β”‚ BASE CAPACITY (10-day sprint, 5-person team):               β”‚
β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”β”‚
β”‚ β”‚                                                         β”‚β”‚
β”‚ β”‚ Member     β”‚ Available Days β”‚ Focus % β”‚ Effective Days  β”‚β”‚
β”‚ │────────────┼────────────────┼─────────┼─────────────────││
β”‚ β”‚ Anna       β”‚ 10             β”‚ 80%     β”‚ 8.0             β”‚β”‚
β”‚ β”‚ Mike       β”‚ 8 (2 PTO)      β”‚ 80%     β”‚ 6.4             β”‚β”‚
β”‚ β”‚ Chen       β”‚ 10             β”‚ 70%*    β”‚ 7.0             β”‚β”‚
β”‚ β”‚ Sarah      β”‚ 10             β”‚ 80%     β”‚ 8.0             β”‚β”‚
β”‚ β”‚ Luis       β”‚ 9 (1 training) β”‚ 80%     β”‚ 7.2             β”‚β”‚
β”‚ │────────────┼────────────────┼─────────┼─────────────────││
β”‚ β”‚ TOTAL      β”‚                β”‚         β”‚ 36.6 days       β”‚β”‚
β”‚ β”‚                                                         β”‚β”‚
β”‚ β”‚ *Chen has on-call rotation this sprint                  β”‚β”‚
β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜β”‚
β”‚                                                             β”‚
β”‚ FOCUS FACTOR ADJUSTMENTS:                                   β”‚
β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”β”‚
β”‚ β”‚ Standard: 80%                                           β”‚β”‚
β”‚ β”‚   (meetings, reviews, context switching)                β”‚β”‚
β”‚ β”‚                                                         β”‚β”‚
β”‚ β”‚ Reduce for:                                             β”‚β”‚
β”‚ β”‚ β”œβ”€β”€ On-call duty: -10%                                  β”‚β”‚
β”‚ β”‚ β”œβ”€β”€ Interview hosting: -5% per interview                β”‚β”‚
β”‚ β”‚ β”œβ”€β”€ Major company event: -10-20%                        β”‚β”‚
β”‚ β”‚ β”œβ”€β”€ New team member onboarding others: -10%             β”‚β”‚
β”‚ β”‚ └── Being onboarded: 50% first sprint, 70% second       β”‚β”‚
β”‚ β”‚                                                         β”‚β”‚
β”‚ β”‚ Increase for:                                           β”‚β”‚
β”‚ β”‚ └── Focused sprint (no demos, fewer meetings): +5%      β”‚β”‚
β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜β”‚
β”‚                                                             β”‚
β”‚ HISTORICAL VELOCITY:                                        β”‚
β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”β”‚
β”‚ β”‚ GitScrum Analytics - Last 6 Sprints:                    β”‚β”‚
β”‚ β”‚                                                         β”‚β”‚
β”‚ β”‚ Sprint 19: 42 pts (similar capacity)                    β”‚β”‚
β”‚ β”‚ Sprint 20: 38 pts (1 person sick)                       β”‚β”‚
β”‚ β”‚ Sprint 21: 45 pts (full team, focused)                  β”‚β”‚
β”‚ β”‚ Sprint 22: 35 pts (holiday week)                        β”‚β”‚
β”‚ β”‚ Sprint 23: 40 pts (similar capacity)                    β”‚β”‚
β”‚ β”‚ Sprint 24: 44 pts (similar capacity)                    β”‚β”‚
β”‚ β”‚                                                         β”‚β”‚
β”‚ β”‚ Average (full capacity): 42 pts                         β”‚β”‚
β”‚ β”‚ This sprint adjusted: ~38 pts (reduced capacity)        β”‚β”‚
β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜β”‚
β”‚                                                             β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Planning Meeting Structure

Efficient Agenda

SPRINT PLANNING MEETING:
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ 2-HOUR PLANNING FOR 2-WEEK SPRINT                           β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚                                                             β”‚
β”‚ PART 1: WHAT (45 min)                                       β”‚
β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”β”‚
β”‚ β”‚ 0:00 - 0:10  Sprint Goal                                β”‚β”‚
β”‚ β”‚              PO proposes, team refines                  β”‚β”‚
β”‚ β”‚                                                         β”‚β”‚
β”‚ β”‚ 0:10 - 0:15  Capacity Check                             β”‚β”‚
β”‚ β”‚              Review availability, calculate capacity    β”‚β”‚
β”‚ β”‚                                                         β”‚β”‚
β”‚ β”‚ 0:15 - 0:45  Story Selection                            β”‚β”‚
β”‚ β”‚              Review top items, confirm understanding    β”‚β”‚
β”‚ β”‚              Pull items until capacity reached          β”‚β”‚
β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜β”‚
β”‚                                                             β”‚
β”‚ BREAK (5 min)                                               β”‚
β”‚                                                             β”‚
β”‚ PART 2: HOW (60 min)                                        β”‚
β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”β”‚
β”‚ β”‚ 0:50 - 1:40  Task Breakdown                             β”‚β”‚
β”‚ β”‚              For each story: identify tasks             β”‚β”‚
β”‚ β”‚              Assign initial owners                      β”‚β”‚
β”‚ β”‚              Identify dependencies                      β”‚β”‚
β”‚ β”‚                                                         β”‚β”‚
β”‚ β”‚ 1:40 - 1:50  Dependency Review                          β”‚β”‚
β”‚ β”‚              Check for blockers                         β”‚β”‚
β”‚ β”‚              Confirm external dependencies              β”‚β”‚
β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜β”‚
β”‚                                                             β”‚
β”‚ PART 3: COMMIT (10 min)                                     β”‚
β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”β”‚
β”‚ β”‚ 1:50 - 2:00  Final Review                               β”‚β”‚
β”‚ β”‚              Team confirms commitment                   β”‚β”‚
β”‚ β”‚              Any final concerns?                        β”‚β”‚
β”‚ β”‚              Sprint officially started                  β”‚β”‚
β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜β”‚
β”‚                                                             β”‚
β”‚ TIMEBOX STRICTLY:                                           β”‚
β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”β”‚
β”‚ β”‚ If not refined β†’ Don't discuss in planning              β”‚β”‚
β”‚ β”‚ If debates on how β†’ Spike or offline discussion         β”‚β”‚
β”‚ β”‚ If can't decide β†’ PO makes call, move on                β”‚β”‚
β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜β”‚
β”‚                                                             β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Sprint Goal Setting

DEFINING SPRINT GOAL:
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ OUTCOME-FOCUSED GOALS                                       β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚                                                             β”‚
β”‚ GOOD SPRINT GOALS:                                          β”‚
β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”β”‚
β”‚ β”‚ βœ“ "Users can complete checkout with credit card"        β”‚β”‚
β”‚ β”‚   β†’ Clear outcome, testable, valuable                   β”‚β”‚
β”‚ β”‚                                                         β”‚β”‚
β”‚ β”‚ βœ“ "API performance improved to <200ms response time"    β”‚β”‚
β”‚ β”‚   β†’ Measurable, specific target                         β”‚β”‚
β”‚ β”‚                                                         β”‚β”‚
β”‚ β”‚ βœ“ "Mobile app ready for internal beta testing"          β”‚β”‚
β”‚ β”‚   β†’ Clear milestone, stakeholders understand            β”‚β”‚
β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜β”‚
β”‚                                                             β”‚
β”‚ POOR SPRINT GOALS:                                          β”‚
β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”β”‚
β”‚ β”‚ βœ— "Complete PROJ-123 through PROJ-145"                  β”‚β”‚
β”‚ β”‚   β†’ Just a ticket list, no outcome                      β”‚β”‚
β”‚ β”‚                                                         β”‚β”‚
β”‚ β”‚ βœ— "Work on authentication improvements"                 β”‚β”‚
β”‚ β”‚   β†’ Vague, no success criteria                          β”‚β”‚
β”‚ β”‚                                                         β”‚β”‚
β”‚ β”‚ βœ— "Finish everything in the sprint"                     β”‚β”‚
β”‚ β”‚   β†’ Not meaningful                                      β”‚β”‚
β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜β”‚
β”‚                                                             β”‚
β”‚ GOAL STRUCTURE:                                             β”‚
β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”β”‚
β”‚ β”‚ Template: "[User/System] can [do what] [value/metric]"  β”‚β”‚
β”‚ β”‚                                                         β”‚β”‚
β”‚ β”‚ Sprint 25 Goal:                                         β”‚β”‚
β”‚ β”‚ "New users can sign up, verify email, and complete      β”‚β”‚
β”‚ β”‚ their first project creation within 5 minutes"          β”‚β”‚
β”‚ β”‚                                                         β”‚β”‚
β”‚ β”‚ Supporting items:                                       β”‚β”‚
β”‚ β”‚ β”œβ”€β”€ User registration flow (8 pts)                      β”‚β”‚
β”‚ β”‚ β”œβ”€β”€ Email verification (5 pts)                          β”‚β”‚
β”‚ β”‚ β”œβ”€β”€ Project creation wizard (8 pts)                     β”‚β”‚
β”‚ β”‚ β”œβ”€β”€ Onboarding tooltips (3 pts)                         β”‚β”‚
β”‚ β”‚ └── Welcome email template (2 pts)                      β”‚β”‚
β”‚ β”‚                                                         β”‚β”‚
β”‚ β”‚ Stretch (if capacity allows):                           β”‚β”‚
β”‚ β”‚ └── Progress indicator (3 pts)                          β”‚β”‚
β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜β”‚
β”‚                                                             β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Story Selection and Estimation

Confirming Estimates

ESTIMATION IN PLANNING:
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ HANDLING ESTIMATES EFFICIENTLY                              β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚                                                             β”‚
β”‚ ESTIMATES SHOULD COME FROM REFINEMENT:                      β”‚
β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”β”‚
β”‚ β”‚ Planning is for SELECTING items, not estimating them.   β”‚β”‚
β”‚ β”‚                                                         β”‚β”‚
β”‚ β”‚ If item isn't estimated:                                β”‚β”‚
β”‚ β”‚ β”œβ”€β”€ Quick sanity check (1 min max)                      β”‚β”‚
β”‚ β”‚ β”œβ”€β”€ Team agrees? Use the estimate                       β”‚β”‚
β”‚ β”‚ β”œβ”€β”€ Disagreement? Send back to refinement               β”‚β”‚
β”‚ β”‚ └── Critical? PO decides if we take the risk            β”‚β”‚
β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜β”‚
β”‚                                                             β”‚
β”‚ RE-ESTIMATION TRIGGERS:                                     β”‚
β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”β”‚
β”‚ β”‚ Reconsider estimates if:                                β”‚β”‚
β”‚ β”‚                                                         β”‚β”‚
β”‚ β”‚ β”œβ”€β”€ New information since refinement                    β”‚β”‚
β”‚ β”‚ β”œβ”€β”€ Different team member will implement                β”‚β”‚
β”‚ β”‚ β”œβ”€β”€ Dependencies changed                                β”‚β”‚
β”‚ β”‚ └── Significant time passed (>2 weeks since pointing)   β”‚β”‚
β”‚ β”‚                                                         β”‚β”‚
β”‚ β”‚ Process:                                                β”‚β”‚
β”‚ β”‚ "Does anyone think this 8 is wrong given what we        β”‚β”‚
β”‚ β”‚ now know? No? Let's proceed."                           β”‚β”‚
β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜β”‚
β”‚                                                             β”‚
β”‚ PULLING ITEMS INTO SPRINT:                                  β”‚
β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”β”‚
β”‚ β”‚ GitScrum Sprint View:                                   β”‚β”‚
β”‚ β”‚                                                         β”‚β”‚
β”‚ β”‚ Sprint 25 Capacity: 40 points                           β”‚β”‚
β”‚ β”‚                                                         β”‚β”‚
β”‚ β”‚ Committed:                                              β”‚β”‚
β”‚ β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚β”‚
β”‚ β”‚ β”‚ β˜‘ User registration flow      β”‚ 8 pts β”‚ β†’ 8 total   β”‚ β”‚β”‚
β”‚ β”‚ β”‚ β˜‘ Email verification          β”‚ 5 pts β”‚ β†’ 13 total  β”‚ β”‚β”‚
β”‚ β”‚ β”‚ β˜‘ Project creation wizard     β”‚ 8 pts β”‚ β†’ 21 total  β”‚ β”‚β”‚
β”‚ β”‚ β”‚ β˜‘ Onboarding tooltips         β”‚ 3 pts β”‚ β†’ 24 total  β”‚ β”‚β”‚
β”‚ β”‚ β”‚ β˜‘ Welcome email template      β”‚ 2 pts β”‚ β†’ 26 total  β”‚ β”‚β”‚
β”‚ β”‚ β”‚ β˜‘ Bug: Login timeout          β”‚ 3 pts β”‚ β†’ 29 total  β”‚ β”‚β”‚
β”‚ β”‚ β”‚ β˜‘ Tech debt: Auth cleanup     β”‚ 5 pts β”‚ β†’ 34 total  β”‚ β”‚β”‚
β”‚ β”‚ β”‚ β˜‘ Dashboard widget fix        β”‚ 3 pts β”‚ β†’ 37 total  β”‚ β”‚β”‚
β”‚ β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚β”‚
β”‚ β”‚                                                         β”‚β”‚
β”‚ β”‚ Stretch (if complete early):                            β”‚β”‚
β”‚ β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚β”‚
β”‚ β”‚ β”‚ ☐ Progress indicator          β”‚ 3 pts β”‚             β”‚ β”‚β”‚
β”‚ β”‚ β”‚ ☐ Settings redesign           β”‚ 5 pts β”‚             β”‚ β”‚β”‚
β”‚ β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚β”‚
β”‚ β”‚                                                         β”‚β”‚
β”‚ β”‚ Buffer: 3 pts (37/40 = 92.5% capacity)                  β”‚β”‚
β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜β”‚
β”‚                                                             β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Task Breakdown

Decomposing Stories

TASK BREAKDOWN PROCESS:
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ FROM STORIES TO ACTIONABLE TASKS                            β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚                                                             β”‚
β”‚ WHY BREAK DOWN IN PLANNING:                                 β”‚
β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”β”‚
β”‚ β”‚ βœ“ Reveals hidden complexity                             β”‚β”‚
β”‚ β”‚ βœ“ Enables parallel work                                 β”‚β”‚
β”‚ β”‚ βœ“ Creates daily progress visibility                     β”‚β”‚
β”‚ β”‚ βœ“ Identifies missing skills/dependencies                β”‚β”‚
β”‚ β”‚ βœ“ Improves estimate accuracy                            β”‚β”‚
β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜β”‚
β”‚                                                             β”‚
β”‚ BREAKDOWN EXAMPLE:                                          β”‚
β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”β”‚
β”‚ β”‚ Story: User registration flow (8 pts)                   β”‚β”‚
β”‚ β”‚                                                         β”‚β”‚
β”‚ β”‚ Tasks:                                                  β”‚β”‚
β”‚ β”‚ β”œβ”€β”€ Create registration form component        (2h)      β”‚β”‚
β”‚ β”‚ β”œβ”€β”€ Add form validation                       (2h)      β”‚β”‚
β”‚ β”‚ β”œβ”€β”€ Create user API endpoint                  (3h)      β”‚β”‚
β”‚ β”‚ β”œβ”€β”€ Add password hashing                      (1h)      β”‚β”‚
β”‚ β”‚ β”œβ”€β”€ Create email confirmation trigger         (2h)      β”‚β”‚
β”‚ β”‚ β”œβ”€β”€ Write unit tests                          (3h)      β”‚β”‚
β”‚ β”‚ β”œβ”€β”€ Write integration tests                   (2h)      β”‚β”‚
β”‚ β”‚ β”œβ”€β”€ Update API documentation                  (1h)      β”‚β”‚
β”‚ β”‚ └── Code review + fixes                       (2h)      β”‚β”‚
β”‚ β”‚                                                         β”‚β”‚
β”‚ β”‚ Total: ~18h (β‰ˆ3 days of focused work)                   β”‚β”‚
β”‚ β”‚                                                         β”‚β”‚
β”‚ β”‚ Dependencies:                                           β”‚β”‚
β”‚ β”‚ β”œβ”€β”€ Design mockup (available βœ“)                         β”‚β”‚
β”‚ β”‚ └── Email service setup (Chen to complete Day 1)        β”‚β”‚
β”‚ β”‚                                                         β”‚β”‚
β”‚ β”‚ Owner: Anna (Mike to assist with email integration)     β”‚β”‚
β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜β”‚
β”‚                                                             β”‚
β”‚ TASK GRANULARITY:                                           β”‚
β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”β”‚
β”‚ β”‚ Ideal task size: 2-8 hours                              β”‚β”‚
β”‚ β”‚                                                         β”‚β”‚
β”‚ β”‚ Too big (>1 day):                                       β”‚β”‚
β”‚ β”‚ β”œβ”€β”€ "Implement registration" β†’ Break down more          β”‚β”‚
β”‚ β”‚                                                         β”‚β”‚
β”‚ β”‚ Too small (<1 hour):                                    β”‚β”‚
β”‚ β”‚ β”œβ”€β”€ "Add button" β†’ Combine with related work            β”‚β”‚
β”‚ β”‚                                                         β”‚β”‚
β”‚ β”‚ Just right:                                             β”‚β”‚
β”‚ β”‚ β”œβ”€β”€ "Create form with validation" (half day)            β”‚β”‚
β”‚ β”‚ β”œβ”€β”€ "Add API endpoint with tests" (half day)            β”‚β”‚
β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜β”‚
β”‚                                                             β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Dependency Mapping

IDENTIFYING DEPENDENCIES:
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ PLANNING AROUND DEPENDENCIES                                β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚                                                             β”‚
β”‚ DEPENDENCY TYPES:                                           β”‚
β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”β”‚
β”‚ β”‚ INTERNAL (within sprint):                               β”‚β”‚
β”‚ β”‚ β”œβ”€β”€ Task A blocks Task B                                β”‚β”‚
β”‚ β”‚ β”œβ”€β”€ Story 1 needed before Story 2                       β”‚β”‚
β”‚ β”‚ └── Team member availability                            β”‚β”‚
β”‚ β”‚                                                         β”‚β”‚
β”‚ β”‚ EXTERNAL (outside team):                                β”‚β”‚
β”‚ β”‚ β”œβ”€β”€ API from another team                               β”‚β”‚
β”‚ β”‚ β”œβ”€β”€ Design review approval                              β”‚β”‚
β”‚ β”‚ β”œβ”€β”€ Infrastructure provisioning                         β”‚β”‚
β”‚ β”‚ └── Third-party service access                          β”‚β”‚
β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜β”‚
β”‚                                                             β”‚
β”‚ DEPENDENCY VISUALIZATION:                                   β”‚
β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”β”‚
β”‚ β”‚                                                         β”‚β”‚
β”‚ β”‚ Day 1-2         Day 3-4         Day 5-6         Day 7-8 β”‚β”‚
β”‚ β”‚ ────────────────────────────────────────────────────────││
β”‚ β”‚                                                         β”‚β”‚
β”‚ β”‚ [Email setup]──┐                                        β”‚β”‚
β”‚ β”‚                β”‚                                        β”‚β”‚
β”‚ β”‚ [Reg form]─────┼──>[API endpoint]──>[Integration]──>Doneβ”‚β”‚
β”‚ β”‚                β”‚                                        β”‚β”‚
β”‚ β”‚ [Design review]β”˜                                        β”‚β”‚
β”‚ β”‚                                                         β”‚β”‚
β”‚ β”‚ ⚠ Dependency: Email setup must complete before          β”‚β”‚
β”‚ β”‚   confirmation trigger can be implemented.              β”‚β”‚
β”‚ β”‚                                                         β”‚β”‚
β”‚ β”‚ Mitigation: Chen starts email setup Day 1.              β”‚β”‚
β”‚ β”‚ Fallback: Mock email service for testing if delayed.    β”‚β”‚
β”‚ β”‚                                                         β”‚β”‚
β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜β”‚
β”‚                                                             β”‚
β”‚ GITSCRUM DEPENDENCY TRACKING:                               β”‚
β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”β”‚
β”‚ β”‚ Link tasks with "blocked by" relationship:              β”‚β”‚
β”‚ β”‚                                                         β”‚β”‚
β”‚ β”‚ Task: Email confirmation trigger                        β”‚β”‚
β”‚ β”‚ Blocked by: Email service setup ⚠                       β”‚β”‚
β”‚ β”‚                                                         β”‚β”‚
β”‚ β”‚ External dependency:                                    β”‚β”‚
β”‚ β”‚ Task: Payment integration                               β”‚β”‚
β”‚ β”‚ Blocked by: Stripe account approval (External)          β”‚β”‚
β”‚ β”‚ Expected: Day 3                                         β”‚β”‚
β”‚ β”‚ Fallback: Use test keys, switch to prod keys later      β”‚β”‚
β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜β”‚
β”‚                                                             β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Common Pitfalls and Solutions

Avoiding Planning Anti-Patterns

SPRINT PLANNING PROBLEMS:
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ WHAT GOES WRONG AND HOW TO FIX IT                           β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚                                                             β”‚
β”‚ PROBLEM: Planning takes 4+ hours                            β”‚
β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”β”‚
β”‚ β”‚ Symptoms:                                               β”‚β”‚
β”‚ β”‚ - Discussing unclear stories                            β”‚β”‚
β”‚ β”‚ - Re-estimating everything                              β”‚β”‚
β”‚ β”‚ - Debating implementation details                       β”‚β”‚
β”‚ β”‚                                                         β”‚β”‚
β”‚ β”‚ Solution:                                               β”‚β”‚
β”‚ β”‚ - Better refinement sessions                            β”‚β”‚
β”‚ β”‚ - Enforce "Ready" definition                            β”‚β”‚
β”‚ β”‚ - Defer technical debates to after planning             β”‚β”‚
β”‚ β”‚ - Strict timeboxing                                     β”‚β”‚
β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜β”‚
β”‚                                                             β”‚
β”‚ PROBLEM: Over-commitment                                    β”‚
β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”β”‚
β”‚ β”‚ Symptoms:                                               β”‚β”‚
β”‚ β”‚ - "We can squeeze in one more story"                    β”‚β”‚
β”‚ β”‚ - Ignoring velocity data                                β”‚β”‚
β”‚ β”‚ - Underestimating interruptions                         β”‚β”‚
β”‚ β”‚                                                         β”‚β”‚
β”‚ β”‚ Solution:                                               β”‚β”‚
β”‚ β”‚ - Commit to 80-90% of capacity                          β”‚β”‚
β”‚ β”‚ - Use stretch goals for extra capacity                  β”‚β”‚
β”‚ β”‚ - Trust historical velocity                             β”‚β”‚
β”‚ β”‚ - Include buffer for unknowns                           β”‚β”‚
β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜β”‚
β”‚                                                             β”‚
β”‚ PROBLEM: Uneven workload distribution                       β”‚
β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”β”‚
β”‚ β”‚ Symptoms:                                               β”‚β”‚
β”‚ β”‚ - One person overloaded                                 β”‚β”‚
β”‚ β”‚ - Skills bottleneck                                     β”‚β”‚
β”‚ β”‚ - Work not parallelizable                               β”‚β”‚
β”‚ β”‚                                                         β”‚β”‚
β”‚ β”‚ Solution:                                               β”‚β”‚
β”‚ β”‚ - Review workload during planning                       β”‚β”‚
β”‚ β”‚ - Pair on critical paths                                β”‚β”‚
β”‚ β”‚ - Cross-train on bottleneck skills                      β”‚β”‚
β”‚ β”‚ - Sequence work to enable parallelism                   β”‚β”‚
β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜β”‚
β”‚                                                             β”‚
β”‚ PROBLEM: Missing dependencies discovered mid-sprint         β”‚
β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”β”‚
β”‚ β”‚ Symptoms:                                               β”‚β”‚
β”‚ β”‚ - "We didn't know we needed X"                          β”‚β”‚
β”‚ β”‚ - External teams surprised by requests                  β”‚β”‚
β”‚ β”‚ - Blocked waiting on prerequisites                      β”‚β”‚
β”‚ β”‚                                                         β”‚β”‚
β”‚ β”‚ Solution:                                               β”‚β”‚
β”‚ β”‚ - Explicit dependency identification in planning        β”‚β”‚
β”‚ β”‚ - Confirm external dependencies before committing       β”‚β”‚
β”‚ β”‚ - Build in slack for dependency delays                  β”‚β”‚
β”‚ β”‚ - Define fallback plans                                 β”‚β”‚
β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜β”‚
β”‚                                                             β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Post-Planning Actions

Sprint Kickoff

AFTER PLANNING MEETING:
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ SPRINT LAUNCH ACTIVITIES                                    β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚                                                             β”‚
β”‚ IMMEDIATELY AFTER:                                          β”‚
β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”β”‚
β”‚ β”‚ [ ] Sprint goal documented and visible                  β”‚β”‚
β”‚ β”‚ [ ] All committed items in sprint backlog               β”‚β”‚
β”‚ β”‚ [ ] Tasks created for first stories                     β”‚β”‚
β”‚ β”‚ [ ] Initial assignments made                            β”‚β”‚
β”‚ β”‚ [ ] Dependencies flagged in GitScrum                    β”‚β”‚
β”‚ β”‚ [ ] Sprint start date set                               β”‚β”‚
β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜β”‚
β”‚                                                             β”‚
β”‚ DAY 1 OF SPRINT:                                            β”‚
β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”β”‚
β”‚ β”‚ [ ] Team starts first tasks                             β”‚β”‚
β”‚ β”‚ [ ] Dependency work initiated                           β”‚β”‚
β”‚ β”‚ [ ] External teams notified of needs                    β”‚β”‚
β”‚ β”‚ [ ] First standup includes sprint goal reminder         β”‚β”‚
β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜β”‚
β”‚                                                             β”‚
β”‚ COMMUNICATION:                                              β”‚
β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”β”‚
β”‚ β”‚ Share with stakeholders:                                β”‚β”‚
β”‚ β”‚                                                         β”‚β”‚
β”‚ β”‚ "Sprint 25 Started πŸš€                                   β”‚β”‚
β”‚ β”‚                                                         β”‚β”‚
β”‚ β”‚ Goal: New users can complete registration and first     β”‚β”‚
β”‚ β”‚ project creation within 5 minutes.                      β”‚β”‚
β”‚ β”‚                                                         β”‚β”‚
β”‚ β”‚ Key deliverables:                                       β”‚β”‚
β”‚ β”‚ - User registration flow                                β”‚β”‚
β”‚ β”‚ - Email verification                                    β”‚β”‚
β”‚ β”‚ - Project creation wizard                               β”‚β”‚
β”‚ β”‚                                                         β”‚β”‚
β”‚ β”‚ Demo: [Date]"                                           β”‚β”‚
β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜β”‚
β”‚                                                             β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Best Practices

Do's

EFFECTIVE SPRINT PLANNING:

βœ“ REFINE BEFORE PLANNING
  Items should be ready, not discussed in planning

βœ“ USE HISTORICAL DATA
  Trust velocity over optimism

βœ“ COMMIT CONSERVATIVELY
  80-90% capacity, use stretch goals

βœ“ TIMEBOX STRICTLY
  2 hours max for 2-week sprint

βœ“ BREAK DOWN STORIES
  Tasks reveal hidden work

βœ“ IDENTIFY DEPENDENCIES EARLY
  Flag blockers, confirm external needs

Don'ts

PLANNING ANTI-PATTERNS:

βœ— PLANNING WITHOUT REFINEMENT
  Leads to 4-hour meetings

βœ— 100% CAPACITY COMMITMENT
  No room for surprises

βœ— IGNORING VELOCITY
  "This sprint will be different"

βœ— VAGUE SPRINT GOALS
  "Complete the tickets"

βœ— SKIPPING TASK BREAKDOWN
  Hidden complexity surprises you mid-sprint

Related Solutions