SE Notes
Detailed guide to sprint planning meetings, estimation techniques, and creating effective sprint backlogs.
Sprint planning is the collaborative event that initiates each sprint in Scrum, where the entire team determines what work will be accomplished and how it will be achieved. This meeting sets the direction for the upcoming sprint, aligns the team around a shared goal, and produces a concrete plan that guides daily work. Effective sprint planning is the foundation of successful sprint execution — poor planning consistently leads to missed commitments and team frustration.
Purpose and Structure
Sprint planning answers two fundamental questions: What can be delivered in this sprint? How will the chosen work be accomplished? The meeting is time-boxed relative to sprint length — typically two hours per week of sprint duration. For a two-week sprint, planning should take no more than four hours.
The meeting has two parts. In the first part, the Product Owner presents the highest-priority items from the Product Backlog and explains what they need. The team discusses each item, asks clarifying questions, and determines how many items they can commit to based on their historical velocity and current capacity. In the second part, the Development Team breaks selected items into technical tasks and creates a plan for implementation.
Inputs to Sprint Planning
Refined Product Backlog: Items at the top should already be well-understood through prior backlog refinement sessions. User stories should have clear acceptance criteria, be appropriately sized, and have dependencies identified.
Team Velocity: The average number of story points (or other unit) the team completed in recent sprints. This provides a data-driven capacity estimate. A team that consistently delivers 30 to 35 story points per sprint should not plan for 50.
Team Capacity: Account for vacations, holidays, training days, and other commitments. If two of six developers are out for half the sprint, capacity is significantly reduced.
Definition of Done: The shared standard that determines when work is truly complete. This ensures the team accounts for all necessary activities (testing, documentation, code review) when planning.
Estimation Techniques
Story Points
Story points measure relative complexity rather than absolute time. A story estimated at 5 points is roughly twice as complex as a 2-point story and half as complex as a 13-point story. Teams typically use a modified Fibonacci sequence (1, 2, 3, 5, 8, 13, 21) because larger items carry inherently more uncertainty.
The advantage of story points over hour estimates is that they remain consistent even as team composition changes. A senior developer and a junior developer might complete the same story in different amounts of time, but they should agree on its relative complexity.
Planning Poker
Planning poker is a consensus-based estimation technique that combines expert opinion, analogy, and discussion. Each team member holds a set of cards with point values. For each story:
- The Product Owner describes the user story and answers questions
- Team members privately select a card representing their estimate
- All cards are revealed simultaneously
- If estimates diverge significantly, the highest and lowest estimators explain their reasoning
- The team discusses and re-estimates until consensus is reached
This process prevents anchoring bias (where the first person's estimate influences everyone else) and ensures that each person's knowledge and concerns are heard.
T-Shirt Sizing
For initial high-level estimation during backlog refinement, teams sometimes use t-shirt sizes (XS, S, M, L, XL) to quickly categorize items by relative size before converting to story points during sprint planning.
Creating the Sprint Goal
The sprint goal is a concise objective that provides coherence and focus to the sprint. Rather than treating the sprint as a random collection of backlog items, the goal gives the team a shared purpose. For example: "Enable customers to complete checkout with saved payment methods" is more meaningful than "complete stories 47, 48, 49, 50, and 51."
A good sprint goal allows flexibility in implementation while providing a clear success criterion. If the team encounters unexpected complexity, they can negotiate scope with the Product Owner while still delivering on the overarching goal.
Task Decomposition
Once user stories are selected, the Development Team decomposes them into technical tasks. Each task should represent roughly half a day to two days of work. This decomposition serves multiple purposes:
- It validates that the team truly understands what is required
- It surfaces hidden complexity and dependencies
- It provides granular progress tracking during the sprint
- It enables team members to self-assign work at appropriate granularity
For example, a user story "As a user, I can reset my password via email" might decompose into: design password reset email template, implement reset token generation and storage, build reset request API endpoint, create new password form, implement token validation and password update logic, write unit tests for token generation and validation, write integration test for complete reset flow, and update user documentation.
Common Sprint Planning Pitfalls
Over-commitment: Teams eager to please stakeholders or prove themselves often plan more work than they can deliver. This leads to incomplete sprints, technical debt from rushing, and eroding trust. Use velocity data honestly.
Vague acceptance criteria: If the team cannot clearly state when a story is done, they should not commit to it. Ambiguous stories lead to scope creep and disagreements during sprint review.
Ignoring technical debt: Sprints that focus exclusively on new features while accumulating technical debt eventually grind to a halt. Allocate fifteen to twenty percent of sprint capacity for technical debt reduction.
Insufficient refinement: If stories are not refined before sprint planning, the meeting devolves into lengthy requirements discussions rather than planning. Keep backlog refinement sessions separate.
No sprint goal: Without a unifying goal, the sprint becomes a disconnected list of items with no coherent theme, making trade-off decisions during the sprint more difficult.
Real-World Sprint Planning Session
A team building an HR management system conducts sprint planning for their two-week sprint. The Product Owner presents five refined stories totaling 32 story points. The team's average velocity is 28 points. After discussion, they realize that one 8-point story has an unresolved dependency on the authentication team. They replace it with two smaller stories totaling 5 points, bringing the sprint to 29 points — within their velocity range.
The sprint goal becomes: "Employees can view and update their personal information and benefits enrollment." The team spends the second half of planning decomposing stories into tasks and identifying which team member will tackle initial implementation for each story.
Interview Q&A
Q: What is velocity in Scrum? A: Velocity is the average number of story points a team completes per sprint, calculated over recent sprints (typically the last three to five). It provides an empirical capacity measurement for sprint planning. Velocity should not be used to compare teams or as a performance metric — it is purely a planning tool.
Q: Who decides how much work to take into a sprint? A: The Development Team decides. The Product Owner sets priorities (what to work on first), but only the Development Team has the technical expertise to determine how much they can accomplish. The Scrum Master facilitates this discussion but does not decide for the team.
Q: What happens when a team consistently misses sprint commitments? A: This signals a systemic issue. Common causes include over-commitment, inadequate refinement, unplanned work disrupting the sprint, or external dependencies blocking progress. The retrospective should identify root causes, and the team should adjust — often by reducing planned points until they consistently deliver their commitment.
Exam Focus
Revise definitions, diagrams, examples, and short-answer points for Sprint Planning.
Interview Use
Prepare one clear explanation, one practical example, and one common mistake for this Software Engineering topic.
Search Terms
software-engineering, software engineering, software, engineering, agile, and, devops, sprint
Related Software Engineering Topics