Use this when it's time to prepare for iteration planning and you want to select candidate stories, assess readiness, propose an iteration goal, and output a draft iteration plan.
Related resources:
estimation-sizing-guide.mdandvelocity-forecasting-guide.md-- coaching guides for relative sizing, Planning Poker, and delivery forecasting (standalone, printable).
Process
Step 1: Gather inputs
Ask the user to provide:
- Current backlog — the top 8-12 stories in priority order (titles, descriptions, acceptance criteria). Accept pasted text, a file path, or a tracker link.
- Recent velocity — how many stories or points the team completed in the last 2-3 iterations. Even a rough number works ("we usually finish 5-6 stories").
- Team composition — who's available this iteration (e.g., "2 engineers, 1 designer, 1 PM" or "one pair out on PTO").
- Carry-overs — any stories from last iteration that didn't finish, and why.
- Iteration dates — start and end date (default: 1-week Monday-Friday).
Step 2: Readiness check
For each of the top stories, assess readiness:
| Check | Criteria |
|---|---|
| Acceptance criteria | Does it have clear, testable Gherkin criteria? |
| Size | Can it be completed in 1-3 days? Flag oversized stories as split candidates. |
| Design readiness | Are designs available if this story involves UI? |
| Open questions | Are there unresolved unknowns that block estimation or implementation? |
| Dependencies | Does this depend on another story finishing first? |
Mark each story as: Ready / Needs refinement / Blocked
Step 3: Sizing and commitment
- Give each ready story a relative size: S (half day), M (1-2 days), L (2-3 days)
- Based on velocity and team capacity, recommend:
- Committed stories — what the team should commit to finishing
- Stretch goals — 1-2 stories to pull in if the team finishes early
- Propose an iteration goal — one sentence describing what must be true by the end of the iteration
Step 4: Risk flags
Identify:
- Stories that overlap in code areas or design surfaces
- Stories that need cross-functional pairing (Eng + Design, PM + Eng)
- External dependencies (client decisions, third-party APIs, access needed)
- Any story where the estimate feels uncertain
Step 5: Generate the iteration plan
Output the plan in this format:
Iteration (number) — (start date) to (end date)
Iteration goal: (One sentence — what must be true by Friday?)
Committed stories
| # | Story | Size | Pair/Owner | Notes |
|---|---|---|---|---|
| 1 | (title) | S/M/L | (assigned pair) | (risks, dependencies) |
| 2 | (title) | S/M/L | (assigned pair) | |
| ... |
Stretch goals
- (Story title) — pull in if committed work finishes early
Carry-over from last iteration
- (Story title) — (why it carried over, what remains)
Blockers and risks
- (Known issues that could affect the iteration)
Stories sent back to refinement
- (Story title) — (what's missing before it's ready)
Step 6: Review
Ask the user:
- Does the iteration goal capture the right priority?
- Any stories you want to swap in or out?
- Are the pair assignments right?
- Want me to adjust commitment level up or down?
Remember: this draft multiplies your output, not your judgment. You own the final narrative.
Output location
Present the iteration plan as formatted text in the conversation. If the user wants it saved, write to a file path they specify.
Example Output
Input
- Current backlog: 10 stories from Maple Health's patient portal redesign — top stories include "Display medication refill status on dashboard," "Allow patients to message their care team," "Add insurance card photo upload," "Show upcoming appointment reminders," "Enable push notifications for lab results," "Edit profile: preferred name and pronouns," "Filter appointment history by provider," "Export visit summary as PDF," "Add accessibility alt-text to all dashboard images," and "Integrate with Stripe for copay collection"
- Recent velocity: Completed 6 stories in Iter 14, 5 in Iter 13, 6 in Iter 12 (~5-6 stories/iteration)
- Team composition: 2 full-stack engineers (Priya, Devon), 1 product designer (Lena), 1 PM (Marcus) — Devon out Thursday/Friday for travel
- Carry-overs: "Allow patients to message their care team" — carried from Iter 14; backend thread model done, frontend compose UI incomplete; stalled on open question about attachment file size limits
- Iteration dates: June 9–13, 2025
Output
Iteration 15 — June 9 to June 13, 2025
Iteration goal: By end of Friday, patients can view medication refill status and upcoming appointment reminders on their dashboard, and the care team messaging UI is complete and demoed.
Readiness check
| Story | Status | Notes |
|---|---|---|
| Display medication refill status on dashboard | Ready | Clear AC, Figma specs approved |
| Allow patients to message their care team (carry-over) | Ready | Resolve file-size question before kickoff Monday |
| Show upcoming appointment reminders | Ready | AC complete; no UI changes needed |
| Edit profile: preferred name and pronouns | Ready | Small scope, AC well-defined |
| Add accessibility alt-text to all dashboard images | Ready | No design dependency |
| Add insurance card photo upload | Needs refinement | No AC for error states; upload size limits TBD |
| Enable push notifications for lab results | Needs refinement | Third-party push provider not selected yet |
| Filter appointment history by provider | Needs refinement | Designs not started |
| Export visit summary as PDF | Blocked | Depends on visit summary data model — blocked on backend work in separate squad |
| Integrate with Stripe for copay collection | Blocked | Stripe sandbox credentials not provisioned; legal review pending |
Committed stories
| # | Story | Size | Pair/Owner | Notes |
|---|---|---|---|---|
| 1 | Allow patients to message care team (carry-over) | M | Priya + Lena | Confirm 5MB attachment limit with PM Monday AM |
| 2 | Display medication refill status on dashboard | M | Devon + Priya | Devon must complete before Thursday travel |
| 3 | Show upcoming appointment reminders | S | Devon | Schedule for Mon–Tue while Devon is available |
| 4 | Edit profile: preferred name and pronouns | S | Priya | Backend only; Lena consults on label copy |
| 5 | Add accessibility alt-text to dashboard images | S | Priya | Can be paired with any dashboard story in-flight |
Projected load: 5 stories × avg mix of S/M = well within 5-6 story velocity; Devon's reduced week accounted for by front-loading his stories.
Stretch goals
- Filter appointment history by provider — pull in only if designs land by Wednesday; Lena to confirm feasibility Monday
- Insurance card photo upload — pull in if AC for error states is written by Tuesday IPM refinement slot
Carry-over from last iteration
- Allow patients to message their care team — frontend compose UI incomplete; blocked mid-sprint on attachment policy question. Remaining: compose view, send action, empty state. Estimated 1.5 days of frontend work.
Blockers and risks
- Devon's availability — out Thu/Fri; all Devon-owned stories should reach PR-ready state by Wednesday EOD
- File size limit decision — Marcus to confirm with clinical ops before Monday standup or messaging story risks another carry-over
- Dashboard code overlap — Stories 1, 2, and 5 all touch
DashboardContainer; Priya and Devon should align on component ownership Monday to avoid merge conflicts - Push notifications (backlog) — Do not pull in this iteration; provider decision is a prerequisite and adds sprint risk
Stories sent back to refinement
- Add insurance card photo upload — needs AC for error states (network failure, wrong file type, oversized file) and confirmed upload size limit
- Enable push notifications for lab results — needs third-party provider selected and sandbox environment available
- Filter appointment history by provider — needs design exploration before estimation
Step 6: Review questions
- Does the iteration goal correctly prioritize messaging completion over new feature work?
- Should "Edit profile: preferred name and pronouns" be swapped for something higher visibility given the upcoming patient advisory board demo June 18?
- Are you comfortable with Priya holding most of the load Thu/Fri while Devon is out?
- Want to adjust commitment down to 4 stories given Devon's reduced week, or keep the stretch goal as a safety valve?