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.
Every finding takes a disposition
Section titled “Every finding takes a disposition”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.
It is scaffolded, never hand-authored
Section titled “It is scaffolded, never hand-authored”/sdlc-studio sprint close # scaffolds the retro, then stops for you to fill itRun 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 storeretro.py accuracy # how did the forecast actually do?Carried issues get ruled
Section titled “Carried issues get ruled”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.
The close is owed until it happens
Section titled “The close is owed until it happens”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.
What it produces
Section titled “What it produces”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.
Where to next
Section titled “Where to next”- 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.