Sprint Plan & Agile Execution Kit
Builds on Topic 5.
What you'll produce
An agile execution kit that turns the Unified Checkout plan (your charter and WBS from Deliverables 1–2) into something the squad can actually run every two weeks: a prioritized product backlog sliced from the WBS, a first two-week sprint backlog with a clear sprint goal, the ceremony cadence (planning, daily standup, review, retro, refinement), a Definition of Done, and a sample burndown read that shows you can tell on-pace from off-pace before the deadline does. This is the artifact that separates a planner from an operator. A charter and a Gantt chart prove you can think about a project; an execution kit proves you can run one — converting a fixed Q3 deadline into incremental, demoable delivery, exposing slippage in week one instead of week eight, and giving an 8-person squad split across two teams a single shared definition of "done" so nothing gets called finished that isn't. It proves the Topic 5 skills directly: prioritizing a backlog, committing a sprint to a goal, facilitating the Scrum ceremonies, and reading a burndown to steer.
Instructions
- Pull the goal forward. Restate the charter's SMART goal and the Q3 hard deadline at the top in one line, so every backlog choice traces back to it. Your sprint plan is not free-standing — it exists to hit that date with that scope.
- Slice the WBS into a product backlog. Take the work packages from Deliverable 2 and rewrite the user-facing ones as user stories ("As a [merchant/role], I want [action], so that [benefit]"). Keep enabling/infra work (PCI scoping, partner API contract, data migration) as clearly-labeled enabler items — don't force them into user-story shape. You should land 12–20 backlog items, not 80; this is a prioritized list, not a task dump.
- Prioritize ruthlessly and say why. Order the backlog and give each top item a one-word priority driver: risk (de-risk the unknown early), dependency (unblocks another team), value (merchant-visible), or deadline (on the critical path). On a fixed-deadline program, sequence is your main lever — the items that retire risk and unblock the shared engineer go first.
- Estimate in story points, not hours. Assign points using a relative scale (1, 2, 3, 5, 8, 13). Sum your team's recent or assumed velocity and state it explicitly — you'll commit a sprint against it. If you have no history, state the assumption ("assume ~26 pts/sprint across the two teams, to be recalibrated after Sprint 1").
- Derive — and state once — your total sprint count. Divide the Deliverable 2 schedule length by your sprint length to get N total sprints, and write that single number down before you do any backlog math. Do the division honestly: if it isn't a clean integer, round up and name the short final sprint — you never round a fixed deadline down, because the leftover half-sprint of work still has to ship before the date. (Worked example: D2's schedule is 15 weeks, sprints are 2 weeks, so 15 ÷ 2 = 7.5 → N = 8, with Sprint 8 being a one-week go-live cut. It is not a clean 7 — anyone who reports "7" has silently dropped the half-sprint that protects the deadline.) Then make sure your backlog points reconcile with N: velocity × N is your build-and-everything capacity, and your point total should leave room for the non-build sprints (hardening, conversion-parity verification, the staged ramp, go-live). Do not let three different numbers float — the program is N sprints everywhere it's mentioned, the "Sprint X of N" references downstream use that same N, and "≈ Y pts ÷ velocity ≈ ~Z sprints of build" is explicitly labeled as build-only, not program length. A learner reading your kit should never have to guess whether the program is 4 sprints or 8.
- Write the Sprint 1 goal as an outcome, not a task list. One sentence a stakeholder understands: what's demoable at sprint review. Then select the sprint backlog so it adds up to that goal and fits velocity — pull the highest-risk/dependency items first. Note WIP discipline: commit, don't overload.
- Define the ceremony cadence concretely. For each ceremony (Planning, Daily Standup, Review, Retro, Refinement) give the cadence, timebox, attendees, and the one outcome it must produce. Adapt for the two-team split and the shared senior engineer (e.g., staggered standups, a sync of the two leads). Generic "we'll do standups" fails this step.
- Write a Definition of Done that bites. 6–10 checkboxes that apply to every story before it counts as done — including the non-negotiables specific to a fintech checkout: PCI/security review, accessibility, partner-API contract tests, and analytics instrumentation. The DoD is your quality floor under a squeezed triple constraint.
- Read one burndown out loud. Provide a sample burndown (points remaining by day) and interpret it — on pace, behind, or ahead — and state the facilitation move you'd make (re-scope, swarm, raise a blocker). A burndown nobody acts on is decoration.
- Trace and stay honest — keep one cast and one set of numbers. Keep it consistent with the charter scope (no scope you ruled out in Deliverable 1) and the schedule (Sprint 1 work must be genuinely start-able given dependencies). Flag any item blocked by the shared engineer or PCI gate rather than pretending it's free. Use the same named people and programs across deliverables: the shared senior engineer and the other program they're pulled into are fixed characters (in this worked example, Sam, shared with the Ledger program) — if your burndown stalls because the shared engineer was pulled away, name that same person and program, not a new one.
Worked example
(Program: Unified Checkout at NovaPay — sliced from the Deliverable 2 WBS. Squad: 8 engineers split into Team Flow (front-of-checkout UI + orchestration) and Team Rails (payments/PCI + partner API), one designer, one data analyst, plus Legal/Compliance and Support as reviewers. Senior engineer Sam is 50% shared with the Ledger program — the same canonical shared-engineer dependency carried in the Deliverable 1 charter and the Deliverable 4 RAID log. Two-week sprints.)
Goal we're serving: Merge the three legacy checkout flows (web, mobile, hosted link) into one unified flow, live for 100% of merchants by Sep 30 (end of Q3), with no drop in conversion and PCI scope signed off by Compliance. The date is immovable (partner integration + marketing push); scope is the lever.
Program length = 8 sprints. Derive it, don't assert it: the Deliverable 2 schedule runs 15 weeks (W1 = week of Jun 15 … W15 = week of Sep 21–25, deadline Sep 30). 15 weeks ÷ 2-week sprints = 7.5, which rounds up to 8 sprints — you never round a deadline down, because the half-sprint of work still has to land before Sep 30. Sprints 1–7 fill weeks 1–14; Sprint 8 is the final week-15 cut (W15, Sep 21–25), run as a one-week hardening/go-live sprint that ends inside the buffer, leaving Sep 26–30 as go/no-go margin. State this number once here and let everything downstream — the backlog math below and the "Sprint 4 of 8" reference in Deliverable 5 — refer back to it. The program is 8 sprints, not 4: the ~3.5 sprints of build is only the front half of the program; the back half is hardening, the conversion-parity proof, and the staged ramp. (Note the arithmetic discipline the rubric is testing: 15 ÷ 2 is not a clean integer, so the honest move is to round up and name the short final sprint — pretending it's a clean 13 ÷ 2 = 6.5 → "7" hides exactly the partial-sprint slack that protects the date.)
Assumed velocity: ~28 points/sprint combined (16 Team Flow, 12 Team Rails — Team Rails carries Sam at 50%). Recalibrate after Sprint 1.
Product backlog (prioritized, sliced from the WBS)
| # | Item (story or enabler) | Type | Pts | Priority driver | Team / dependency |
|---|---|---|---|---|---|
| 1 | Confirm PCI scope boundary for the unified flow (which components touch card data) | Enabler | 5 | risk | Rails + Compliance; gates all payment work |
| 2 | Lock partner API contract v1 (request/response, idempotency, error codes) | Enabler | 5 | dependency | Rails + Partner team; unblocks Team Flow integration |
| 3 | As a merchant, I want one checkout config screen so I don't manage three separate flows | Story | 8 | value | Flow |
| 4 | Spike: unified payment-orchestration service — thin walking skeleton (web path only) | Enabler | 8 | risk | Flow + Rails (needs Sam) |
| 5 | As a shopper, I want to pay via the unified web flow so checkout works end-to-end | Story | 13 | deadline (critical path) | Flow + Rails |
| 6 | As a shopper, I want the unified flow on mobile web so I'm not bounced to a legacy page | Story | 8 | value | Flow |
| 7 | As a merchant, I want my existing hosted-link to redirect into the unified flow | Story | 5 | value | Flow |
| 8 | Analytics: instrument funnel events (init → pay → success/fail) for conversion parity | Enabler | 5 | risk (can't prove "no conversion drop" without it) | Flow + Data analyst |
| 9 | As a shopper, I want clear error + retry on a declined card so I don't abandon | Story | 5 | value | Rails |
| 10 | Data migration: map legacy config of 3 flows → unified config schema | Enabler | 8 | dependency | Rails |
| 11 | As Compliance, I want an audit log of card-data access so we pass PCI review | Story | 5 | risk | Rails + Compliance |
| 12 | As Support, I want a flow-state lookup so I can debug a stuck checkout | Story | 3 | value | Flow + Support |
| 13 | Partner-side go-live: switch partner traffic to unified endpoint | Enabler | 5 | deadline | Rails + Partner |
| 14 | Rollout: feature-flag ramp 5% → 25% → 100% of merchants | Enabler | 5 | deadline | Flow |
| 15 | As a shopper using a screen reader, I want an accessible checkout so I can complete payment | Story | 5 | value (and legal) | Flow + Designer |
Total ≈ 98 pts. At ~28 pts/sprint that's ~3.5 sprints of build — the front half of the 8-sprint program, not the whole thing. The other ~4.5 sprints aren't slack; they're the work this backlog deliberately doesn't story-point as "build": hardening and bug-fix burn-down, the conversion-parity proof (you can't sign off "no drop in conversion" until the funnel data accumulates across the staged ramp), the feature-flag ramp itself (5% → 25% → 100%, each step held long enough to read), and partner go-live cutover — the same back-half work that fills out to Sprint 8's week-15 go-live cut. So the 8-sprint figure from the top of this example is the real program length; the 98-pt / 3.5-sprint number is just how long it takes to finish writing the code. (3.5 + 4.5 = 8 — the build half and the non-build half add back to the derived N; that reconciliation is the whole point.) This matches the critical path from Deliverable 2: PCI scope (#1) and the web payment path (#5) are the two milestones most likely to slip the Q3 date, so they go first, and they must land early precisely because the back-half sprints (ramp + parity proof) can't even start until the build is demonstrably working.
Sprint 1 (2 weeks) — backlog & goal
Sprint Goal: Prove the unified web checkout works end-to-end as a thin walking skeleton — a real card paid through the new orchestration service on the web path — and have PCI scope and the partner API contract locked, so every downstream team is unblocked.
(This is deliberately a risk-and-dependency-retiring sprint, not a feature sprint. By the review we either know the architecture holds or we've found out in week one — not week eight.)
| Sprint backlog item | Pts | Owner | Notes |
|---|---|---|---|
| #1 Confirm PCI scope boundary | 5 | Rails lead + Compliance | Hard gate; book Compliance for day 2 |
| #2 Lock partner API contract v1 | 5 | Rails + Partner team | Contract tests stubbed by day 8 |
| #4 Payment-orchestration walking skeleton (web) | 8 | Sam (Flow+Rails) | Sam 50% (shared with Ledger) — sequenced first half of sprint |
| #5 (started) Unified web pay path — happy path only | 8 | Team Flow | Decline/edge cases deferred to Sprint 2 |
| #8 Funnel analytics instrumentation | 2 (spike) | Data analyst | Just the event taxonomy this sprint |
Committed: 28 pts = velocity. We did not pull mobile (#6) or hosted-link (#7) — they depend on the web skeleton proving out first. WIP discipline: Team Rails finishes #1/#2 before pulling more; we'd rather demo one thing that fully works than four half-built ones.
Ceremony cadence
| Ceremony | When | Timebox | Who | Must produce |
|---|---|---|---|---|
| Sprint Planning | Day 1, 10:00 | 90 min | Both teams + PO (you) + designer | Committed sprint backlog + agreed sprint goal |
| Daily Standup | Daily, staggered: Flow 09:30, Rails 09:45 | 15 min each | Each team separately | Blockers surfaced; Sam's split-day plan confirmed |
| Leads sync | Daily, 09:55 | 10 min | Flow lead + Rails lead + you | Cross-team dependency & shared-engineer (Sam/Ledger) conflicts resolved |
| Backlog Refinement | Mid-sprint, Wed wk1 | 45 min | Both leads + PO + analyst | Top of next sprint estimated & "ready" |
| Sprint Review (Demo) | Last day, 14:00 | 45 min | Squad + VP Product + Partner + Support | Working increment demoed; stakeholder feedback captured |
| Retrospective | Last day, 15:00 | 45 min | Squad only (psychological safety) | 2 concrete improvements w/ owners for Sprint 2 |
The two non-standard additions earn their place: the leads sync is how I manage Sam's 50% split (the Ledger-program share) and the Flow↔Rails dependency without a daily all-hands; staggered standups keep each team's standup short while still feeding the leads sync.
Definition of Done (every story, no exceptions)
- Code reviewed and merged to main behind the rollout feature flag
- Unit + integration tests pass in CI; partner-facing endpoints have contract tests green
- PCI/security review signed off by Compliance for any path touching card data
- Analytics events for the funnel step are firing and visible in the dashboard
- Accessibility check passed (keyboard + screen-reader for any shopper-facing UI)
- Works on the three target surfaces in scope (web, mobile web, hosted link) where applicable
- No increase in checkout error rate vs. legacy baseline (verified on the funnel dashboard)
- Demoable in the sprint review and documented for Support
Sample burndown read (Sprint 1)
Ideal line falls 28 → 0 over 10 working days (≈2.8 pts/day). Actual points remaining:
Day 1: 28 · D2: 28 · D3: 26 · D4: 26 · D5: 23 · D6: 23 · D7: 23 · D8: 18 · D9: 10 · D10: 5
Read: We're behind, and the shape tells the story. The flat stretch D5–D7 is the tell: it's exactly when item #4 (Sam's orchestration skeleton) stalled — Sam got pulled into a Ledger-program incident, which is the shared-engineer risk materializing on cue. (This is the same Sam/Ledger dependency flagged in the Deliverable 1 charter and tracked in the Deliverable 4 RAID log — one cast, one risk, surfacing here as a burndown stall rather than a new surprise.) Burndown didn't move because the blocking item didn't move; everything downstream (#5) was waiting on it. We end at 5 pts remaining (#5's happy path), so the sprint goal is mostly met but not fully.
Facilitation moves I'd actually make: (1) At the D5 standup, when #4 didn't progress, I escalate Sam's split to the Ledger PM that day — not at sprint end — and get a written 60/40 commitment for the rest of the sprint. (2) I protect the sprint goal by descoping #5's polish, not its core path, so the walking skeleton still demos. (3) The unfinished 5 pts carry into Sprint 2 and I flag in the review that the Sam/Ledger shared-engineer dependency is now the program's top risk for the RAID log (Deliverable 4) — not a surprise, a forecast, and the same risk by the same name that surfaces again in the Deliverable 5 "Sprint 4 of 8" worked example.
Rubric
The app's AI scores the learner's submission against these criteria and gives feedback. Levels: Needs work (1) / Solid (2) / Excellent (3). Passing = every criterion at Solid or above.
- Backlog sliced from the WBS — 1: a generic to-do list disconnected from the charter/WBS · 2: real items traceable to the WBS, mostly in user-story form · 3: a prioritized 12–20-item backlog with proper user stories, clearly-labeled enablers, and explicit priority drivers (risk/dependency/value/deadline).
- Sprint goal & committed backlog — 1: a list of tasks with no goal, or a commitment ignoring capacity · 2: a real sprint goal and a backlog that fits stated velocity · 3: an outcome-framed, demoable goal whose backlog retires the highest risk/dependency first and respects WIP/velocity, with conscious deferrals justified.
- Sprint count & velocity reconcile — 1: the program's sprint count is unstated, contradicts itself (e.g., backlog math implies 4 sprints while the schedule or a downstream "Sprint X of N" implies a different N), or doesn't match the Deliverable 2 schedule length (e.g., calls it "7 from 13 weeks" when D2 runs 15 weeks, or rounds a non-integer down and loses the partial final sprint) · 2: a single total sprint count N is stated and is consistent with the Deliverable 2 schedule length · 3: N is derived from the schedule (schedule length ÷ sprint length) — and when that division isn't a clean integer, it is rounded up with the short final sprint named (15 ÷ 2 = 7.5 → N = 8, Sprint 8 = the week-15 go-live cut) — stated once, with the velocity/backlog math landing on it: build points are explicitly labeled as build-only and the build half + non-build half (hardening, parity proof, ramp, go-live) add back to N, so a reader is never left guessing the program length.
- Ceremony cadence — 1: "we'll do standups," generic and unscoped · 2: all five ceremonies with cadence, timebox, and attendees · 3: each ceremony specifies the one outcome it must produce, adapted to this squad (two-team split, shared engineer) with justified additions.
- Definition of Done — 1: vague ("it works") or missing · 2: a checkable list applied to every story · 3: a biting DoD including the fintech-checkout non-negotiables (PCI/security, accessibility, contract tests, analytics) that genuinely gates quality.
- Burndown read & facilitation — 1: a chart with no interpretation · 2: correctly calls on-pace vs. behind · 3: reads the shape to diagnose the cause, ties it to a real program risk, and names the specific facilitation move and when to make it.
- Coherence with prior deliverables — 1: contradicts the charter/schedule (out-of-scope work, impossible sequencing) or uses a different cast than the other deliverables (e.g., the burndown blames a shared engineer/program that doesn't match the charter and RAID log) · 2: consistent with charter scope and schedule, and reuses the same named shared-engineer/other-program throughout · 3: visibly traces charter goal → WBS → critical path → this sprint with one consistent cast, and feeds forward — the same named shared-engineer risk that appears in the charter surfaces here as a concrete burndown stall and is handed to the RAID log (Deliverable 4) by name.