Pattern

Defense in depth

You might say: layered gates, Swiss cheese barriers

Several independent layers reduce the chance that one failure reaches the final outcome. Each layer has gaps, so safety comes from their combination and from learning when gaps align.

Ask
Which independent layers stand between an unsafe change and merge, and how do they fail differently?

Sources

  1. James Reason, Human error: models and management, The Swiss cheese model of system accidentsUsually, this can happen only when the holes in many layers momentarily line up to permit a trajectory of accident opportunity
  2. James Reason, Human error: models and management, System approachThe system approach concentrates on the conditions under which individuals work and tries to build defences to avert errors or mitigate their effects
  3. Heather Adkins et al., Building Secure and Reliable Systems, Design for ResilienceDefense in depth protects systems by establishing multiple layers of defense perimeters.

Use it on your project

teardown-apply: hold "Defense in depth" (pattern-defense-in-depth) from the teardown at https://teardownatlas.com/software-factory/ against my project

Paste it into a coding agent that has the teardown skills.

An AI agent wrote this map with the teardown skill. It can contain errors: check the sources before you rely on a part. About and legal