Sprint Planning: A Practical Guide
Sprint planning is the meeting that decides how the next two weeks of your team's life will go. Done well, it ends with a clear goal and a realistic commitment. Done badly, it produces a vague backlog dump that nobody believes in, and the team spends the sprint catching up on work that should have been scoped out before it started.
This guide walks through the full cadence: the prep work, the meeting itself, the estimation, the goal-setting, and the anti-patterns that quietly destroy most planning sessions. It's written for engineering managers and tech leads running real sprints — not for textbook scrum.
What Sprint Planning Actually Is
Sprint planning is the meeting where the team commits to a specific, finishable amount of work — and a single goal that ties it together.
Two outputs only:
- A sprint backlog — the list of tickets the team commits to finish.
- A sprint goal — one sentence that explains why these tickets, together, matter.
Everything else (assignments, estimates, breakdowns) supports those two outputs. If you leave the meeting without both, the meeting failed.
Before The Meeting: The Prep That Saves An Hour
Most "bad" sprint planning meetings are actually bad because the prep was skipped. Walk in with these four things ready and you'll cut planning in half.
1. A groomed backlog
The top 10-15 backlog items should already be:
- Written with clear acceptance criteria
- Sized to fit inside a single sprint (split anything over 8-13 points)
- Stripped of duplicates and obvious dead tickets
- Linked to whatever spec, design, or RFC they depend on
Backlog grooming happens before planning, not during it. If your team is debating whether a ticket is even valid in the planning meeting, you've already lost an hour.
2. A capacity number
How many person-hours does the team actually have next sprint, accounting for PTO, holidays, and your real focus factor (the percentage of working hours that actually go to sprint work — usually 60-70%)?
3. A draft sprint goal
Bring a one-sentence draft into the meeting. Examples:
- "Ship the new onboarding flow to 10% of signups."
- "Cut p95 API latency below 200ms on the dashboard endpoints."
- "Get the billing import to feature-complete and behind a feature flag."
A good sprint goal is specific, observable, and bounded by the sprint. "Improve performance" is not a sprint goal. "Cut p95 below 200ms on /dashboard" is.
4. Last sprint's velocity
If you don't know the team's rolling-average velocity, you're guessing. Even a 3-sprint average is enough to anchor the conversation.
Learn how to interpret the number in our deep dive on sprint velocity, or estimate hours per point with the Story Points Estimator.
The Meeting: A 60-Minute Agenda That Works
For a two-week sprint, 60 minutes is enough if the prep is solid. Anything over 90 minutes is a sign the prep was missing.
| Time | Section | Owner |
|---|---|---|
| 0-5 min | Recap last sprint: shipped, missed, blockers carried over | Tech lead |
| 5-10 min | Present the draft sprint goal — agree, refine, or replace | Tech lead / PM |
| 10-15 min | Confirm capacity (PTO, on-call, meetings, focus factor) | Whole team |
| 15-50 min | Walk top backlog items: scope check, estimate, accept or push | Whole team |
| 50-55 min | Sanity-check total commit against capacity | Tech lead |
| 55-60 min | Confirm sprint goal, name the on-call, end | Tech lead |
Estimating Without Theatre
Most teams over-engineer estimation. The honest truth: an estimate is a relative sizing, not a calendar commitment. The point of estimation is forecasting capacity, not assigning blame when something runs long.
Use story points, not hours
Hours imply precision you don't have. Story points encode complexity, uncertainty, and effort in a single dimension. Use a modified Fibonacci scale: 1, 2, 3, 5, 8, 13. Anything bigger should be split, not estimated.
Calibrate against a known reference
Pick a recent ticket that was a textbook 3-pointer. New estimates anchor against it: "Is this bigger or smaller than the auth-cleanup ticket from last sprint?" Reference-class forecasting is faster and more accurate than abstract scoring.
Estimate together, briefly
Planning poker is fine for new teams. Mature teams can usually consensus-estimate in 30 seconds per ticket. The signal you want is disagreement, not the number itself — when two people give wildly different estimates, surface why and re-scope.
Setting A Sprint Goal That Means Something
The sprint goal is the most under-rated part of sprint planning. A real goal:
- Names a user-facing outcome, not an internal artifact ("ship onboarding flow" beats "complete onboarding tickets")
- Is observable from outside the team — you can demo it
- Survives ticket churn — even if 1-2 tickets get descoped, the goal is still achievable
- Drives prioritisation conflicts — when something goes wrong, the goal tells you which tickets to drop first
Goal-driven sprints feel different. The team starts saying "does this help the goal?" instead of "is this on my list?" That's the entire shift.
The Anti-Patterns To Watch For
The Backlog Dump
Symptom: planning is "let's just take the top 10 from the backlog and ship those." No goal, no theme, no thinking. Tickets in the sprint don't have a why beyond "they were near the top."
Fix: refuse to start picking tickets until a draft goal is on the wall. The goal sets the filter for which tickets even belong in the sprint.
The Optimism Tax
Symptom: every sprint commits to 50 points, completes 35, and apologises in the retro. Then commits to 50 again.
Fix: use rolling-average velocity, not last sprint's number, and apply your real focus factor (run it through the capacity calculator if you want to see the gap). Most teams over-commit by 30-40%.
The Mystery Ticket
Symptom: a ticket gets pulled into the sprint that nobody actually understands. It rolls over for three sprints because the first day of work reveals it's actually three tickets and a refactor.
Fix: in planning, every ticket gets a 10-second "what does done look like?" check. If anyone hesitates, push it back to grooming.
The Hero Sprint
Symptom: planning relies on one person finishing 60% of the points. They get sick, the sprint dies.
Fix: distribute story points by capacity, not by who's fastest. If one person owns >35% of the sprint, the sprint is fragile.
The Skipped Goal Check
Symptom: the sprint ends and nobody asks "did we hit the goal?" Tickets shipped, but no one knows if the team actually moved the metric the sprint was for.
Fix: the retro starts with the goal, not the burndown.
Your Free Sprint Planning Stack
Use these four free tools to run sprint planning end-to-end without a spreadsheet:
- Sprint Capacity Calculator — realistic person-hours and a safe story-point commit
- Sprint Velocity Calculator — rolling average + forecast trajectory
- Story Points Estimator — translate points to hours when stakeholders ask
- Retro Template Generator — close the sprint cleanly so the next planning is easier
Sprint Planning In SprintFlint
Spreadsheets and Notion docs work for the first few sprints. By sprint 6 you're maintaining three places where "the truth" lives, and they disagree.
SprintFlint pulls planning into one place: rolling velocity is calculated automatically, capacity adjusts to PTO, the sprint goal lives at the top of the board, and the retro at the end converts action items directly into next-sprint tickets.
Start Your First Sprint →
The Bottom Line
Sprint planning is not a ceremony. It's the meeting where you decide whether the next two weeks will feel productive or chaotic. The teams that run it well share four habits:
- They prep the backlog before the meeting.
- They size capacity honestly — not optimistically.
- They commit to a goal, not just a list of tickets.
- They keep the meeting under 60 minutes.
Get those four right and the rest of the sprint mostly takes care of itself.