Engineering Playbook

LEARN

Every lesson should change the system, not just the people in the room.

Learning converts experience into organisational advantage. Without it, teams repeat expensive mistakes.

What breaks without it

Without learning loops, organisations repeat the same incidents, debates and bottlenecks under new names.

Retrospectives Incident learning Engineering metrics DORA Reusable context Executable standards Knowledge propagation Compound Engineering

The deliverable

The Compound Learning Loop

A lesson that does not change the system is not a lesson. It is a memory, and memories decay.

The failure mode of retrospectives is the action item that reads "we should remember to do X next time". Six months later the same incident recurs with different names attached.

Compound engineering means every meaningful lesson is routed back into one of the other four stages as a durable change. The organisation gets harder to break in that specific way.

  • LEARN → CONTEXT — update standards so the right answer is discoverable
  • LEARN → AIM — add the question to the design or risk template
  • LEARN → EXECUTE — add a guardrail that makes the unsafe pattern hard to introduce
  • LEARN → VERIFY — add an automated check or eval that catches the failure

Open the framework

Compound engineering

Route every lesson back into the system

LEARN → CONTEXT

Update the standards, glossary or repository instructions so the correct answer is discoverable next time.

LEARN → AIM

Add the question to the design or risk template so it is asked before implementation.

LEARN → EXECUTE

Add a hook, guardrail or autonomy adjustment that makes the unsafe pattern hard to introduce.

LEARN → VERIFY

Add an automated check or eval so the failure is caught before customers see it.

Worked example

A production incident traces back to database access generated without timeout handling.

Weak retrospective: engineers should remember timeout handling.

Compound response: add the pattern to engineering standards (CONTEXT), add a resilience question to the design template (AIM), add a lint rule that fails the build (EXECUTE), and add an integration test covering timeout behaviour (VERIFY).

Practices

  • Close every retrospective by naming which stage changes as a result
  • Prefer an automated check over a reminder
  • Measure whether the intervention moved the constraint, not whether it happened
  • Propagate lessons across teams — a fix that stays local compounds nothing

Related topics

Adopt the Playbook in a repository

Back to Playbook