Skip to content

Retrospective template

Copy-paste skeleton. Three questions, in order. One change — specific, owned, dated, testable. Lists do not compound; the single change does.

How to use

Held within a week of the signal reading. Sixty minutes maximum. Inputs: the signal reading, any postmortems, the prior retro's change (to check if it held). Output: one change. If two changes feel necessary, the team is in listing mode; cut to one.

text
# Retrospective — [cycle name] · YYYY-MM-DD

Attendees:  [Trio + anyone whose work is being examined]
Duration:   60 minutes
Inputs:     - Signal reading: [link]
            - Postmortems:    [links, if any]
            - Prior retro's change: [link — did it hold?]

## 1. Which chain links held?
[Name the practice, not just the outcome. "The amigos session
 caught the concurrent-submit edge case" is a link holding.
 "Things went well" is not. Two to four bullets — what worked
 so it is consciously preserved.]

- [Specific practice that held]
- [Specific practice that held]
- [...]

## 2. Which chain links broke?
[Trace to a level, not a person. Scenario gap? Observation
 mismatch? ADR drift? Prediction not checked? Each broken
 link names a structural gap with a structural fix. Two to
 four bullets.]

- [Level + what specifically broke + concrete evidence]
- [...]

## 3. What is the one change we are making?
[ONE. Not a list. Specific enough to test, owned by a
 named person, with a measurable outcome and a check date.
 "We should communicate better" is not a change. "A template
 prompt added by Thursday, checked at the next retrospective"
 is.]

Change:      [The structural change in one sentence]
Owner:       [Named person, not a team]
Due:         YYYY-MM-DD
Test:        [What would prove it happened — visible artifact
              change or measurable shift by next retro]

## Did the prior retro's change hold?
[Read aloud. One of three:
 - Held — still in effect, no regression
 - Held but retired — succeeded, no longer load-bearing
 - Drifted — re-name as broken link this cycle]

## Sign-off
PO: [Name] · [date]

Where this lives in your project

The retrospective output lives alongside the signal reading, in the cycle's folder. Linked from the next cycle's kickoff so the change is read before work begins. The PO holds the calendar — retros are calendar-locked, not negotiated.

What to do if a section resists

ResistanceWhat it meansWhere to go
Held list is generic"Communication was good" — not specific enoughName the practice. "The amigos session held the concurrent-submit case"
Broke list traces to a personThe team is in blame modeRe-trace to a chain level. The chain-aware labels exist for this.
Two changes proposedThe team is listingOne. The second goes to the next retro. Five action items implemented zero is feelings; one implemented is compounding.
Change cannot be testedThe change is a wishRewrite as: artifact X gains row Y by date Z; check by reading X.
No prior change to checkFirst retro, or the chain has been brokenNote it as a chain-level finding; one of this retro's "broke" bullets

Worked example — Grading-shortcut cycle retro

text
# Retrospective — Grading shortcut · 2026-06-27

Attendees:  Alex (PO), Esti (TL), Maya (Designer)
Duration:   55 minutes
Inputs:     - Signal reading 2026-06-25 (Met, 11m20s vs <15 target)
            - No postmortems this cycle
            - Prior retro change: "Amigos template adds
              financial-boundary prompt" — HELD (wallet-bug
              class did not recur)

## 1. Which chain links held?
- Amigos held the negative-balance scenario — financial-boundary
  prompt caught it before staging.
- The PO's 90-min observation with Gal in week 2 sharpened the
  brief's prediction (would have shipped under 25 min target).
- Three-confirmation review caught the focus-order regression
  before merge.

## 2. Which chain links broke?
- Observation-mismatch — we did not witness Hebrew-default
  graders. Surfaced as helpdesk theme in week 3; brief input
  for next cycle.
- ADR-drift — the language-pack loading behaviour was not
  named in any ADR. Eight tickets traced to behaviour nobody
  decided on the record.

## 3. What is the one change we are making?
Change:      The Feature Brief's "What we have NOT yet witnessed"
             section gains a required line: "Have we witnessed
             a non-English-default user in this moment?"
Owner:       Alex (PO)
Due:         2026-07-01
Test:        Next three Feature Briefs all have the line answered;
             check at 2026-08-15 retro.

## Did the prior retro's change hold?
Held — financial-boundary prompt in amigos template.

PO: Alex · 2026-06-27

See also

200apps · How We Work · NWIRE