Sprint Retrospective Examples: 6 Real Retros With Boards and Outcomes

Most retro guides stop at the format. They tell you to draw three columns and trust the process. This one goes further: six fully worked sprint retrospectives, the populated boards, the conversation that actually shifted things, and the one or two action items each team committed to. Steal the patterns, skip the misfires.

Every example below is built around the same shape: who the team is, what state they walked in with, the board they ran, the discussion that moved the needle, and the action items they walked out with. The boards are realistic mockups of what the live Retro Harbour view looks like once cards, owners, and votes are in. If you want to drop straight into one, the sprint retrospective template is the same shape, blank.

1. Small product team, normal sprint

Team: 5 engineers + 1 PM Sprint: 2 weeks (#41) Format: Went Well / To Improve / Action Items Duration: 45 min

Setup. The sprint hit its goal (new billing page shipped to 10% of users) but felt heavier than the previous one. The PM picked the default 3-column board because nobody wanted ceremony, just a quick reset before sprint 42.

The board (post-grouping, votes shown as dots)

What went well

3 cards, 4 votes total

Pair-debugged the Stripe webhook drop in 20 min instead of opening a ticket • • •
Demo recorded ahead of stand-up, stakeholders watched async
QA's checklist caught the empty-cart edge case before staging •

To improve

5 cards, 11 votes total

Tickets were under-spec'd; 2 needed redefinition mid-sprint • • • • •
Code review took 36h average, blocked the merge train • • • •
Mid-sprint scope add for the marketing launch • •
Standup drifted to 18 min on Wednesday
Test data for billing was stale

Action items

2 owned, dated

@maya (PM)Add "Definition of Ready" check before backlog refinement. Done by next planning.
@samSet Slack reminder at 4pm for PR reviewers. Trial for 1 sprint.

Discussion that mattered

Both top-voted items pointed at the same root cause: tickets were entering the sprint half-formed, which forced extra back-and-forth and slowed reviews because reviewers kept asking "wait, what's this supposed to do?" The team almost wrote four separate actions (one per symptom) before the PM noticed the pattern and proposed a single upstream fix.

Outcome

By the next retro, planning ran 25 minutes shorter and the "tickets under-spec'd" card didn't reappear. The PR reminder was kept but downgraded to a once-a-day digest because the 4pm ping turned out to be annoying. Useful evidence that one good action beats five mediocre ones.

2. Brand-new team, sprint 2 (Start / Stop / Continue)

Team: 4 engineers, 1 designer, 1 EM Sprint: 2 weeks (#2 of a new product) Format: Start / Stop / Continue Duration: 30 min

Setup. Team had been together six weeks. Two people had never worked at this company before. The EM deliberately picked Start/Stop/Continue because it gives the smallest possible useful structure: psychological safety without ceremony.

The board

Start

Things we should begin

Writing one-paragraph design docs before coding new features • • •
Recording the design sync for the engineers who can't make it • •
Saying out loud when we're stuck for more than an hour •

Stop

Things we should drop

Booking 90-minute kickoff meetings for 20-minute decisions • • • •
Reviewing PRs by skim only • •
Using the #random channel for actual work questions •

Continue

Things working that we shouldn't lose

Wednesday demo with the whole team • • •
Pairing newcomers with a "first commit" buddy
Designer sketching with engineers in the same room

Discussion that mattered

The newcomers picked the "say out loud when stuck for an hour" card. They admitted they'd been quiet about blockers because they didn't want to look slow. That triggered a five-minute conversation about how the team treats interruptions, which was more valuable than anything that would have come from a fancier format.

Outcome

One action: the EM moved the long kickoff meeting to a 20-minute "kickoff brief" with optional follow-up. The buddy system from the Continue column got formalised in the new-hire onboarding doc.

Why this format for a new team: Start/Stop/Continue gives clear instructions and no metaphors. New teams tend to overthink Sailboat or Mad/Sad/Glad and freeze. Save the creative formats for sprint 6+.

3. Distributed team across three time zones (async)

Team: 9 engineers (UK, US-east, India) Sprint: 2 weeks (#18) Format: Async board open 48h, then 30-min live discussion Duration: 2 days async + 30 min live

Setup. Synchronous retros had become a US-east-friendly ritual where the India team showed up at 9pm and the UK team at 5pm. Quality suffered. The scrum master opened the board on Monday morning UK time and closed it 48 hours later, then ran a focused live session on Wednesday for grouping, voting, and actions.

The board after the 48h async window

What went well

11 cards from 8 of 9 people

Handoff doc from EU to US worked all sprint with zero re-ask • • • •
India team unblocked the migration job overnight twice • • •
Recorded architecture walkthrough watched 14 times across time zones • •
Async PR reviews via clear-context comments meant no follow-up calls

To improve

14 cards from 9 of 9 people

Decisions made in a UK-only thread broke things US-side • • • • • •
"Quick sync" meetings always favored US working hours • • • • •
Spec doc was edited mid-implementation without notification • • •
On-call hand-off skipped one rotation, India team felt blindsided • •

Action items

1 owned, 1 trial

@priyaArchitecture decisions land in shared #decisions channel + ADR, never a thread. Done.
@teamRotate "quick sync" timing weekly between 8am UK, 10am UK, 4pm UK. Trial 4 weeks.

Discussion that mattered

The async window flipped the participation pattern. The India team contributed the largest number of cards because they could write on their morning instead of at 9pm. The most-voted card was theirs, and it surfaced a structural issue (UK-only threads losing context across regions) that probably would never have come up in a synchronous retro because the people who felt it would have been too tired to push.

Outcome

Within two sprints, ADRs became the default and the team measurably reduced cross-region misunderstandings (tracked as a "had to redo work because of missed context" tag on tickets). See retrospective ideas for remote teams for more async patterns.

4. Post-incident retro after a bad release (5 Whys)

Team: 6 backend engineers + SRE rep Sprint: 2 weeks (#27), Friday release caused a 90-min outage Format: 5 Whys focused on the incident, then 10 min on actions Duration: 60 min

Setup. The team usually runs Went Well / To Improve. This sprint they replaced it. A bad config change took prod down for 90 minutes on Friday evening. The EM resisted the urge to skip the retro ("we already did the incident postmortem") and ran a 5 Whys to find the systemic, not the personal, cause.

The board (5 Whys, threaded vertically)

5 Whys: prod outage on 2026-04-17

Surface symptom: 90-minute checkout outage after 4:50pm Friday deploy.

Why 1? A config change set the wrong DB read replica as primary.
Why 2? The config diff in the PR didn't show the replica change because it was generated from an env-merge step that ran post-review.
Why 3? The env-merge step exists because environment-specific values can't be expressed in the base config schema; we layered a custom script on top.
Why 4? We added the script 18 months ago when we migrated regions; nobody owns it, nobody documented it, it's only run on deploys.
Why 5? We have no "unowned tooling" review process. Things become load-bearing without explicit ownership and bite us months later.

Action items

Owned next steps

  1. @devMake the env-merge step run pre-review so its output appears in the PR diff. Done by sprint 28.
  2. @sreAdd the env-merge script to the team's ownership manifest. Done this sprint.
  3. @emSchedule a 30-min "unowned tooling audit" once a quarter. First one booked.

Discussion that mattered

The team almost stopped at Why 2 ("the diff was misleading, let's add a linter"). The SRE pushed for Why 3, which is when the team realised they had a class of unowned tooling sitting under several systems. The action items go after the class, not the single incident, which is the entire point of 5 Whys.

Outcome

The quarterly "unowned tooling audit" surfaced two more pieces of load-bearing scripting in its first run, both of which got owners assigned. The team did not run 5 Whys again for several sprints. It's the right tool for a real incident, the wrong tool for a normal sprint.

5. Long-running platform team, morale wobble (Mad / Sad / Glad)

Team: 7 engineers, together 18 months Sprint: 2 weeks (#36), nothing went technically wrong Format: Mad / Sad / Glad Duration: 45 min

Setup. The sprint hit goal, the metrics looked fine, but the EM noticed people were quiet in stand-ups and PR comments had a sharper edge than usual. Numbers looked OK; the room didn't. Mad/Sad/Glad surfaces emotional load that Went Well / To Improve misses.

The board

Mad

What frustrated you?

Three priority changes from leadership in two weeks • • • • • •
Spent two days on a side request that got cancelled silently • • • •
On-call ate the whole weekend, no acknowledgement • • •

Sad

What disappointed you?

The refactor we've wanted for a year was de-prioritised again • • • •
Lost @alex to another team; no plan to backfill • • •
Demo got rescheduled twice; only the EM attended in the end • •

Glad

What worked, what to keep?

@priya's mentorship of the new grad has been excellent • • • •
Friday lunch demos kept happening even when nothing else did • •
Pairing time genuinely doubled and it shows in the codebase

Action items

Owned next steps

  1. @emTake the "three priority changes" pattern to the next leadership 1:1 with concrete cost data. By Friday.
  2. @teamAdd an "acknowledgement" rotation: the on-call after a heavy weekend gets a half-day off. Trial 1 quarter.
  3. @priyaDraft a 1-page "what's still on hold" doc so the refactor isn't invisible. By next sprint.

Discussion that mattered

The "Mad" column ran heavy on leadership-driven thrash. The team's instinct was to write an angry doc and send it up; the EM redirected to "what evidence do we need to have a productive conversation?" That's the action that landed. Mad/Sad/Glad surfaces feeling fast; the facilitator's job is making sure feeling translates into one or two concrete asks.

Outcome

The leadership conversation actually went well because it was backed by data, not anger. The refactor got back on the roadmap for the following quarter. The on-call acknowledgement rotation became permanent.

Pitfall to skip: Mad/Sad/Glad can drift into venting if there's no "what's one thing we'll change?" round at the end. Keep the actions phase non-negotiable.

6. End-of-quarter, strategy drift (Sailboat)

Team: 8 engineers + PM, end of Q1 Sprint: Last sprint of the quarter (#13) Format: Sailboat (Wind / Anchors / Rocks / Island) Duration: 60 min

Setup. The team had shipped a lot but felt unmoored, like every sprint was a new direction. The PM picked Sailboat specifically because it forces the team to articulate the "island" (the goal) before discussing what's helping or hindering. That's the right question for an end-of-quarter retro.

The board

Wind

What's pushing us forward

CI pipeline is fast and reliable now • • •
Designer is embedded full-time • •
Customer feedback loop with sales is finally working •

Anchors

What's holding us back

Two competing roadmaps from PM and CTO • • • • •
Legacy auth code blocks every new feature • • • •
No staging environment that matches prod • •

Rocks

Risks ahead

SOC2 audit in 8 weeks, nothing scoped • • •
Senior engineer's parental leave starts Q2 • •
Pricing model change might invalidate billing rewrite •

Island

Where we're trying to go

Self-serve onboarding for SMB customers • • • • • • •
3 cards drifted; team disagreed on Q2 goal

Discussion that mattered

The "Island" column was the most informative. The team thought they shared a Q2 goal until everyone wrote it on a card. Three people wrote "self-serve onboarding", two wrote "platform stability", two wrote "ship the enterprise tier". The PM had assumed everyone was aligned. They were not. That single mismatch was worth the entire retro.

Action items

Owned next steps

  1. @pmBring the three competing Q2 islands to a 30-min decision meeting with the CTO this week. Result documented.
  2. @security-leadScope SOC2 work this sprint, not in week 7 of 8. Outline by Friday.
  3. @emPlan parental-leave coverage explicitly, including which work doesn't get picked up. Draft by next sprint.

Outcome

The Q2 alignment meeting picked self-serve onboarding as the singular goal, with platform stability as a hard constraint, not a competing project. Two engineers later said it was the most useful retro they had attended that year, mostly because they didn't think they needed one.

Patterns across the six

Six retros across very different contexts, but a few patterns repeat in every productive one. Worth memorising:

If you want to go deeper into format choice, see sprint retrospective ideas for the broader catalogue, sprint retrospective questions for prompts that actually surface the right stuff, and the sprint retrospective template for a blank board you can run today.

Run yours in a real board

Every example here was built around a Retro Harbour board. It's free, there's no sign-up, and the link works for anyone you share it with. Pick a template, paste the link in your team chat, and run a retro that ends with one action item the team will actually do.