Skip to content

The retrospective

Most retrospectives produce a document nobody reads and a set of intentions nobody tracks. A team that inspects and never adapts is holding a ceremony, not a retrospective.

So the retro here is checked on its content, not its existence.

A retro records what it found, and each finding takes one of exactly two dispositions:

  • filed - it becomes a bug, a change request or an RFC, with an id, and it turns up in the next batch’s ordering
  • declined - with a stated reason

Both are green. What is refused is the third option: a finding written down and left to rot.

The cost symmetry is the load-bearing part:

Declining must cost exactly what filing costs, or the gate teaches people to file rubbish to go green. If honesty is cheaper than noise, you get honesty. If it is dearer, you get noise, and a backlog nobody trusts.

/sdlc-studio sprint close # scaffolds the retro, then stops for you to fill it

Run the close with no retro id the first time and it allocates one, writes the template, wires the index row, and pre-fills the batch and the goal from the run. Then it stops.

Hand-authoring a retro leaves the index unwired, which stalls the close reconcile - the scaffold is the one path that does both.

/sdlc-studio retro validate # is it complete on content?
/sdlc-studio retro extract # lift its lessons into the store
retro.py accuracy # how did the forecast actually do?

Every open finding a sprint carries out the other side takes a ruling, with who ruled it and when:

Ruling Means
stop-ship this holds the close
not-stop-ship known, judged, shipping anyway
accepted-risk a decision, on the record
deferred it goes in the next batch

An open finding with no row is reported UNRULED. That is the whole point: “we carried it” and “nobody looked” must never read the same in a report.

A sprint that delivers and never closes is easy to produce and hard to notice - the work is done, everyone moves on, and the ledger quietly says a close is outstanding.

So it is detected. gate --require-close fails while a delivery unit has reached a terminal status with no retro behind it, and names the units.

A retro must produce work, not prose. Once it is filled, its lessons are lifted into the store so the next sprint’s plan reads them - see lessons.

  • Lessons - where the findings go, and how the next plan reads them.
  • Review and close - the chain the retro sits inside.
  • Evidence - what this project has measured about its own process, including the costs.