Skip to content

7. Rules by category

A. Responsibility

Duties toward people, the environment and the work itself.

ID Name Strength IF (condition) THEN (action) BECAUSE (reason) Example (software/infra)
P1 Public safety first (Learn) MUST always put public safety above cost, schedule and convenience failures harm people outside the project block a release that leaks user data
P2 Work within competence (Learn) MUST always work only within your competence, and involve an expert outside it error rates rise outside known areas a security engineer reviews an IAM design
P3 Sustainability (Learn) SHOULD always reduce environmental impact and resource use across the whole lifecycle NSPE canon 1 includes sustainable development scale idle environments to zero
P4 Stop authority (Learn) SHOULD anyone finds a problem that could cause harm let that person stop the work without needing permission and without being blamed; the stop must always be available, must override all other functions, and resetting it must not restart the system the person nearest to a problem sees it first a deploy freeze that overrides Argo CD auto-sync; lifting the freeze requires an explicit sync
P5 Psychological safety (Learn) SHOULD people work together on a system make it safe to report errors, ask questions and disagree: leaders ask for input, thank people for bad news, and never punish an honest report psychological safety enables learning behavior, which drives team performance; problems that people hide cannot be fixed the first person to report a broken pipeline is thanked, not blamed; the team lead names their own mistake in the retrospective
P6 Conflict-of-interest disclosure (Learn) MUST a person decides on, reviews or advises on work in which they have a personal interest disclose the interest and step out of the decision or review a personal interest biases judgment and destroys trust in the decision an engineer who holds shares in a monitoring vendor leaves its evaluation
P7 Commander's intent (Learn) SHOULD you delegate a task state the purpose, the desired end state and the constraints, and leave the method to the people who do the work (mission orders) plans meet changing conditions; people who know the purpose can act correctly without new orders an epic states "why", "done when" and "must not", not a list of kubectl steps
P8 Fair process (Learn) SHOULD a decision affects people engage them (ask for input and challenge), explain the final decision and its reasons, and state the new expectations clearly; this is not consensus people accept and carry out decisions they disagree with when the process was fair before changing the on-call model, the team is asked, then told the decision, the reasons and the new rules
ID Class (why) HOW TO CHECK VIOLATION (opposite of the rule) RELATED Evidence Source domain
P1 universal (U), category A: true for every system every release gate contains a safety and security sign-off item shipping a known safety defect to meet a deadline strengthens P37, P38; strengthened by P4 strong all (professional ethics)
P2 universal (U), category A: true for every system each design has a named checker with expertise in its domain approving work in a domain you do not know strengthens P56; strengthened by P6, P62 strong all (professional ethics)
P3 universal (U), category A: true for every system resource use is measured and reviewed unused resources running all the time depends on P24; strengthened by P24, P49 moderate all (professional ethics)
P4 universal (U), category A: trigger that occurs in the life cycle of every system the stop mechanism exists, works in every operating mode, does not restart on reset, and every use is reviewed without blame a release continues while a known problem is still being discussed depends on P80; strengthens P1, P82; strengthened by P5 strong (emergency stop is standardized in ISO 13850) manufacturing (Toyota andon), machinery (emergency stop)
P5 universal (U), category A: every system is built or operated by people who work together a regular anonymous survey item on safety to speak up; the number of reported near misses does not fall after an incident punishing the person who reported a problem strengthens P80, P82, P4; strengthened by P63; conflicts with accountability (see K7) strong (peer-reviewed field study; Google study of 180 teams) management (team leadership)
P6 universal (U), category A: trigger that occurs in the life cycle of every system (every system has suppliers, reviewers and decision-makers) a register of declared interests exists and is checked before each vendor selection, design review and approval a reviewer approves a design that uses a product of a company they own strengthens P2, P43, P56 strong (NSPE Code of Ethics II.4.a; G20/OECD Principles II.F.2) professional ethics, management (corporate governance)
P7 universal (U), category A: every engineering organization delegates work each delegated task or epic states purpose, end state and constraints a step list with no purpose; work stops when the plan no longer fits depends on P2; conflicts with P71, P72, P61 (see K6) strong (US Army doctrine ADP 6-0) management (military command and control)
P8 universal (U), category A: every engineering organization makes decisions that affect people for each decision that changes people's work: an input round, a written explanation and stated expectations exist announcing a reorganization without reasons strengthens P64, P69 moderate (management research; practitioner article) management (organizational justice)

B. Knowledge and decisions

How requirements, decisions, models and evidence are recorded and trusted.

ID Name Strength IF (condition) THEN (action) BECAUSE (reason) Example (software/infra)
P9 Measurable requirements (Learn) MUST always write each requirement as measurable, and link it to a user need an unmeasurable requirement cannot be verified "p95 latency \< 200 ms", linked to a ticket
P10 Decision records (Learn) SHOULD you make a significant design decision record the decision, why you made it, and which alternatives you rejected without the reason, later teams cannot judge whether the decision still holds Architecture Decision Record (ADR) in the repository
P11 Trustworthy evidence (Learn) SHOULD a record is used as evidence (test result, approval, measurement) make it attributable, legible, recorded at the time, original and accurate; changes must keep the original entry visible and record who, when and why evidence that can be changed silently proves nothing signed commits, immutable audit logs, CI results stored with the commit SHA
P12 Model validity (Learn) SHOULD a decision depends on a model, simulation or estimate validate the model for its intended use, use it only inside the range it was validated for (domain of applicability), and check each result against an independent rough estimate (order of magnitude) a model is only trustworthy inside its validated range a load test on 3 nodes does not prove behavior on 50 nodes
P13 Automated reproducible results (Learn) SHOULD a result must be reproducible produce it only through automated, recorded steps, with versions of data, code and tools manual steps are error-prone and cannot be reproduced infrastructure changed only through pipelines; no manual kubectl edits; pinned tool versions
P14 Provenance (Learn) SHOULD parts or materials come from suppliers trace each part to its origin, batch and certificate (provenance) without provenance you cannot prove quality, or find all affected parts when a defect is found signed images with build provenance and SBOM; deployment by pinned digest
P15 Precaution (Learn) SHOULD a possible harm is serious or irreversible, and the evidence is incomplete take proportionate, cost-effective protective measures without waiting for full proof irreversible harm cannot be undone once the proof arrives take a snapshot and stop writes when data corruption is suspected, before the root cause is proven
P16 Set-based design (Learn) SHOULD uncertainty is high early in a design develop several alternatives in parallel, eliminate weak ones as evidence arrives, and commit only after feasibility is shown (set-based design; opposite: point-based design) committing early to one option risks expensive rework when it fails prototype two ingress controllers until load tests decide
P17 Technology maturity (Learn) SHOULD the design depends on a technology that is new to the team or the industry assess how mature the technology is, and keep immature technology out of critical paths immature technology carries unknown failures CNCF sandbox project vs. graduated project for a core platform component
P18 Decision speed by reversibility (Learn) SHOULD you make a decision classify it as reversible (two-way door) or irreversible (one-way door); make reversible decisions quickly at the lowest competent level, and irreversible decisions slowly, with consultation and review heavy process on reversible decisions causes slowness and too little experimentation; light process on irreversible decisions causes lasting harm a new linter rule: the team decides today; deleting a production database or changing the cloud provider: P42, red team, ADR
P19 Indicators are not targets (Learn) SHOULD a measure is used to reward, rank or punish people expect it to be gamed: pair it with a counter-measure, compare it with direct observation, and change it when it drifts from the real objective the more a quantitative indicator is used for decisions, the more it is corrupted and the more it distorts the process it measures (Campbell's law) deployment frequency is paired with change failure rate; MTTR is not a bonus target
P20 Stop criteria set in advance (Learn) SHOULD you start a project or prototype with an uncertain outcome write down, before starting, the evidence and the decision points (gates) at which it stops, and let someone who did not start it make the continue-or-stop decision people who are responsible for an earlier decision commit the most resources to it after negative results (escalation of commitment) a service-mesh pilot stops if p99 latency rises by more than 5 ms after 4 weeks; the architecture board, not the sponsor, decides
P21 Specific, challenging goals with feedback (Learn) SHOULD you set goals for people or teams set few, specific and challenging goals, give regular feedback on progress toward them, and for new or complex tasks set learning goals first specific, difficult goals lead to higher performance than "do your best", and goals plus feedback work better than goals alone "cut median build time from 12 to 6 minutes this quarter", with a weekly chart; for a new technology: "run three spikes and document what we learned"
ID Class (why) HOW TO CHECK VIOLATION (opposite of the rule) RELATED Evidence Source domain
P9 universal (U), category B: true for every system every requirement has an acceptance criterion and a link to a user need "the system shall be fast" strengthens P54, P59; strengthened by P21 moderate systems engineering
P10 universal (U), category B: trigger that occurs in the life cycle of every system each significant decision has a record with its reason and the rejected alternatives nobody knows why the system is built this way strengthens P64, P80; strengthened by P16, P18, P20 moderate software (ADR), civil and offshore (basis of design)
P11 universal (U), category B: trigger that occurs in the life cycle of every system a sample of records shows author, time and full change history editing a test report after the fact without a trace strengthens P59, P64; strengthened by P13, P14 strong (required in regulated domains) pharma and clinical trials (ALCOA)
P12 universal (U), category B: every design decision rests on a model or an estimate each model used for a decision states its validated range, and the decision lies inside that range extrapolating a benchmark far beyond the tested load depends on P54; strengthens P44; strengthened by P34, P58, P77 moderate simulation and computational engineering, engineering physics (Fermi estimates)
P13 universal (U), category B: every engineering result must be checkable by someone else (P56) each result can be regenerated from recorded inputs and versions with one command a report built by copying numbers by hand depends on P64; strengthens P11 moderate bioinformatics (reproducible computational research)
P14 universal (U), category B: almost every system uses parts or software from suppliers for each deployed artifact, origin, build and certificate can be shown running an unsigned image from an unknown registry strengthens P11, P78 moderate metallurgical engineering (mill test certificates)
P15 risk-scaled (R), category B: only for serious or irreversible harm with incomplete evidence for each serious or irreversible risk with incomplete evidence, a record states which protective measure was taken, or why none was writes continue while the team waits for proof of data corruption strengthens P37, P82; strengthened by P18 moderate (contested: critics call it vague and say strong versions block beneficial technology; this rule uses the weak, proportionate version) environmental engineering (precautionary principle)
P16 risk-scaled (R), category B: only where uncertainty is high early; for a repeat design, one option is enough early design records list the alternatives kept and the evidence that eliminated each rejected one choosing one design at the start and discovering at the end that it cannot meet a requirement depends on P58; strengthens P10, P17; strengthened by P20 moderate design engineering (Toyota set-based concurrent engineering)
P17 conditional (C), category B: counterexample: a system built only from proven technology each technology in a critical path has a recorded maturity assessment adopting an untested tool for the production control plane without an assessment depends on P10; strengthens P22; strengthened by P16, P20 strong (standardized as ISO 16290:2013; NASA defines TRL 1 to 9) aerospace (NASA TRL), EU, DoD
P18 universal (U), category B: trigger that occurs in the life cycle of every system each decision record (P10) states the class (reversible or irreversible) and the matching process a three-week approval for a reversible tool trial; a lock-in contract signed in one meeting strengthens P10, P15, P42; conflicts with P56, P64 (see K5) moderate (practitioner source: a CEO's shareholder letter; consistent with P15 and P42) management (decision making)
P19 universal (U), category B: every system and every team whose performance is measured (P70, P58) each rewarded indicator has a counter-indicator and a yearly review of whether it still tracks the objective ticket count as the only measure of on-call quality strengthens P58, P70, P82; conflicts with P21 strong (Campbell; the same pattern is known as Goodhart's law) management (performance measurement)
P20 universal (U), category B: trigger that occurs in the life cycle of every system (every system starts as a project) each project and prototype has written stop criteria and gate dates, and gate decisions are made by someone other than the sponsor "we have invested too much to stop now" strengthens P10, P16, P17, P65 strong (experimental research, Staw 1976; PRINCE2 "continued business justification") management (project management, organizational psychology)
P21 universal (U), category B: every engineering organization sets goals each goal has a measure, a deadline and a progress chart; new or complex work has learning goals "do your best" as the only goal; goals without progress feedback strengthens P9; strengthened by P63; conflicts with P19 (see K8) strong (experimental and field research summarized in the paper); contested by Deming points 11 and 12, who rejects management by numerical goals management (goals and motivation (goal-setting theory))

C. Design

How to shape a design before it is built, so that it fails less.

ID Name Strength IF (condition) THEN (action) BECAUSE (reason) Example (software/infra)
P22 Failure and interaction analysis (Learn) SHOULD always before you build, list how each part can fail, how parts that have not failed can interact unsafely, and how the system can cause harm while working as designed (insufficient design or foreseeable misuse) a known failure or interaction can be designed against "what happens if the registry is down?" and "what if two controllers fight over the same resource?"
P23 Simplicity and modularity (Learn) SHOULD always choose the simplest design that meets the requirements, and split it into modules every added part adds a way to fail one Helm chart per app, not one chart for all
P24 Lifecycle and decommissioning (Learn) SHOULD always plan operation, maintenance and decommissioning at design time early design decisions fix most end-of-life costs define how to delete a cluster and its data before creating it
P25 Human factors (Learn) SHOULD a person uses or operates the system design the interface for the real user in the real environment, including stress, and for the full range of users, not an average user a poor interface causes errors a runbook that works at 3 a.m.; unambiguous CLI output
P26 Design for testability (Learn) SHOULD always build ways to set and observe the internal state of each part into the design, so that it can be tested a state you cannot set or observe cannot be tested health and readiness endpoints, dry-run modes, feature flags for testing, debug endpoints
P27 Robustness (Learn) SHOULD always design so that the result changes little when inputs vary (robustness) removing every cause of variation costs more than tolerating it retries with jitter, idempotent operations, tolerance for clock drift
P28 Accumulated degradation (Learn) SHOULD always design for the damage that builds up over the whole design life, not only for the single largest load repeated loads far below the maximum load cause failure, and the damage does not recover soak tests over days, not only peak tests; disk wear; leaks that grow with uptime
P29 Compatibility (Learn) SHOULD parts of different kinds touch or interact verify that they are compatible with each other in the real environment, and separate them where they are not incompatible parts damage each other, even when each part is good on its own tested compatibility matrix for Kubernetes, CNI and CSI versions; separate node pools for incompatible kernel modules
P30 Exact constraint (Learn) SHOULD several mechanisms can set the same property constrain each property exactly once, with one owner (exact constraint) over-constraint makes parts fight each other and deform the system either the HPA or the GitOps manifest owns the replica count, not both; one source of truth per configuration value
P31 Design by selection (Learn) SHOULD no model is good enough to design the solution analytically generate many variants, test them, keep the best, and repeat (design by selection) selection by test finds good solutions without knowing exactly how they work A/B tests, fuzzing, parameter search for autoscaler settings
P32 End-to-end (Learn) SHOULD a function (integrity, security, deduplication) can only be fully correct with knowledge at the end points implement it at the end points; add it in lower layers only to improve performance lower layers cannot guarantee the function and would burden every user mTLS between services instead of relying only on network encryption; checksums on backups at the application level
P33 Strict interfaces (Learn) SHOULD components exchange data over an interface send strictly according to the specification, reject and report input that violates it instead of silently accepting it, and state units, time zone and reference frames explicitly in every interface silently tolerated defects become permanent unofficial standards and security holes, and unstated units get misread schema validation in CI; fail on unknown fields; field names like latency_ms; timestamps in UTC with offset
P34 Weakest-link scaling (Learn) SHOULD a system grows in size or in number of parts expect rare failures to become frequent, and design and test for the target scale the larger the system, the more likely it contains a critical weak part (weakest link) at 1,000 nodes, a node failure that happens once in 1,000 days per node happens every day
P35 Structure follows the intended system (Learn) SHOULD an organization designs a system with several components design team boundaries and communication paths to match the component structure you want, and change them when the intended structure changes organizations produce designs that copy their own communication structure (Conway's law) one team per bounded context; the platform team owns the platform API, not parts of each product's code
ID Class (why) HOW TO CHECK VIOLATION (opposite of the rule) RELATED Evidence Source domain
P22 universal (U), category C: true for every system a list of failure modes and unsafe interactions exists per component and is reviewed the first failure analysis happens after an incident strengthens P37, P38, P41, P44, P45, P46; strengthened by P17, P29, P55 moderate (method widely used; RPN scoring criticized) reliability and safety (FMEA, STPA), automotive (SOTIF)
P23 universal (U), category C: true for every system each component has one stated purpose, and no part is unused adding features for imagined future needs strengthened by P24, P30, P35; conflicts with P40, P41, P44, P45, P46, P47 moderate aerospace (Lockheed Skunk Works), software
P24 universal (U), category C: true for every system each design document has a maintenance and a decommissioning section orphaned resources that nobody can safely remove strengthens P3, P23; strengthened by P78 moderate nuclear, offshore, aerospace
P25 universal (U), category C: trigger that occurs in the life cycle of every system critical tasks are tested with real users or operators blaming users for errors that the interface invites depends on P80; strengthens P39; strengthened by P71, P76 moderate (strong in medical devices) human factors, medical devices, biomechanics (anthropometry)
P26 universal (U), category C: true for every system each component has documented test access to set and observe its key states a component that can only be tested in production strengthens P54, P57, P70 moderate computer engineering (design for testing)
P27 universal (U), category C: every system meets variation in its inputs tests with varied inputs (latency, clock drift, message order) show stable results a system that works only when timing is exact depends on P22; strengthens P44; conflicts with P33 moderate manufacturing quality (Taguchi), agricultural engineering
P28 universal (U), category C: every system that is used more than once degrades over time an endurance (soak) test runs for a period that represents real use, and the growth of leaks, wear or fragmentation is measured only a short peak test, then failure after weeks of normal load depends on P22; strengthens P74 moderate materials, mechanical, piping (fatigue, corrosion allowance)
P29 universal (U), category C: every system with parts of different kinds has interactions between them each interacting pair of components is on a tested compatibility list upgrading one component and breaking another that was never tested with it strengthens P22, P33 moderate materials (galvanic corrosion), biomaterials (biocompatibility)
P30 universal (U), category C: over-constraint can occur in any system with more than one control mechanism each managed field has exactly one owner Argo CD and the HPA both set the replica count and keep reverting each other strengthens P23, P64; strengthened by P35, P79 moderate optomechanical and precision engineering (kinematic coupling)
P31 risk-scaled (R), category C: only where models are too weak for analytical design each selection round has a defined test and records which variants were kept choosing a configuration by opinion when it could be tested depends on P58; strengthens P81 moderate (directed evolution received the 2018 Nobel Prize in Chemistry) molecular and biomolecular engineering (directed evolution, DBTL)
P32 conditional (C), category C: counterexample: a system without communication between end points (a passive structure) for each end-to-end property (integrity, authentication, exactly-once), the end points verify it themselves trusting the network to deliver data correctly without a check in the application strengthens P40 moderate network engineering (Saltzer, Reed, Clark 1984)
P33 conditional (C), category C: counterexample: a system without data interfaces (a passive structure) every interface has a machine-checked schema, and invalid input is rejected and logged silently ignoring unknown or malformed fields strengthens P39, P82; strengthened by P29, P35; conflicts with P27 moderate (disputed: Postel's original principle says to accept liberally; RFC 9413 argues against it) network protocol engineering (Postel, RFC 9413), space systems (Mars Climate Orbiter units)
P34 conditional (C), category C: counterexample: a system of fixed, small size failure rates are estimated per component and multiplied by the planned scale assuming that a failure never seen in a 3-node test will not happen at 300 nodes strengthens P12, P45 strong (ASTM C1683: "The larger the specimen or component, the weaker it is likely to be"; standard text is paid; only the official summary was read) ceramics and brittle materials (Weibull statistics, size effect)
P35 conditional (C), category C: counterexample: a system built by one person, or by one small team that communicates as one unit each major component boundary has one owning team, and cross-team dependencies are counted one component maintained by four teams that never talk to each other strengthens P23, P30, P33 moderate (widely observed; one original paper) management (organization design), software engineering

D. Protection

Controls that prevent harm, or contain it when it happens.

ID Name Strength IF (condition) THEN (action) BECAUSE (reason) Example (software/infra)
P36 Least privilege (Learn) MUST always give each person, service and process only the minimum access its function needs minimum access limits the damage when one part is compromised Kubernetes RBAC scoped to one namespace
P37 Fail-safe (Learn) MUST always define a safe state, and design failure to move there (fail-safe; opposite: fail-dangerous) an uncontrolled failure causes the most harm admission webhook rejects requests when it errors (fail-closed; opposite: fail-open)
P38 Hierarchy of controls (Learn) SHOULD a risk is found use the highest possible control level: 1 eliminate; 2 minimize, substitute or moderate; 3 engineering control; 4 administrative control; 5 protective equipment; and act first at the source, then along the path, then at the receiver higher control levels do not depend on human behavior, and a cause removed at the source cannot spread 1 remove the port → 2 store less data / safer library / lower rate limit → 3 policy engine → 4 runbook → 5 "be careful"; noisy neighbor: limit the source → separate node pool → client timeouts
P39 Error-proofing (Learn) SHOULD a person can make the same error repeatedly make the error impossible; if that is not possible, make the error visible immediately; if that is not possible either, limit its consequence so that it is survivable errors are certain, defects are not branch protection and required CI checks (impossible); a dry-run diff (visible); soft delete with a restore window (survivable)
P40 Defense in depth (Learn) SHOULD always use several independent and verified control layers (defense in depth) every single control fails at some point RBAC + network policy + admission policy + runtime isolation
P41 Compartments (Learn) SHOULD always divide the system into isolated compartments, so that one damaged compartment does not take down the whole system a failure that cannot spread stays small separate cloud accounts per environment, namespace quotas, cell-based architecture, bulkhead pattern
P42 Two-person rule (Learn) SHOULD an action is critical and cannot be undone require two authorized people at the moment of action (two-person rule) one person can make an error or act with bad intent, and nobody stops it break-glass production access and deletion of production data need a second approver, live
P43 Segregation of duties (Learn) MUST a process handles money, assets, access rights or records, and the possible loss is above the acceptable risk split the process so that no single person can request, approve, execute and record the same transaction; where the team is too small, add a compensating control (a later independent review) a person who controls every step can cause an error or fraud and hide it the engineer who requests production access cannot approve it; nobody can grant themselves admin rights and also delete the audit log
ID Class (why) HOW TO CHECK VIOLATION (opposite of the rule) RELATED Evidence Source domain
P36 universal (U), category D: true for every system no role holds a permission that was unused for a set period a CI pipeline with cluster-admin rights strengthens P38, P40; strengthened by P78 strong security engineering (NIST)
P37 universal (U), category D: every part can fail ("everything fails all the time") failure injection shows that the system reaches the defined safe state undefined behavior when a dependency is lost depends on P22; strengthened by P1, P15, P22 strong nuclear, elevators, aviation
P38 universal (U), category D: every system has risks; the trigger occurs in every life cycle for each risk, a record states why a higher control level, or a control closer to the source, was not possible a warning in the README as the only control depends on P24; strengthens P39; strengthened by P1, P22, P36 strong occupational and chemical process safety (NIOSH, Kletz), acoustic engineering (source-path-receiver)
P39 universal (U), category D: every system is built, operated or maintained by people each repeated error from postmortems has a technical guard at the highest possible level a "please remember to..." announcement as the only fix depends on P80; strengthened by P25, P33, P38, P55, P66 moderate manufacturing (poka-yoke), transportation (Safe System)
P40 universal (U), category D: every single control fails at some point; the number of layers scales with the master rule each critical asset has at least two independent control layers, and each layer is verified relying only on the perimeter firewall depends on P36; strengthened by P32, P36, P41, P43; conflicts with P23 moderate security, oil and gas (well barriers), drinking water (multi-barrier)
P41 universal (U), category D: every system with more than one part can spread a failure; how strict the compartments are scales with the master rule a failure test in one compartment leaves all other compartments working one shared database for all tenants and all environments strengthens P40, P45; strengthened by P22; conflicts with P23 strong naval architecture (watertight compartments)
P42 risk-scaled (R), category D: only for critical, irreversible actions; the cost is a second person who must be available the system enforces a second approval for each listed critical action one administrator can delete the production database alone depends on P36; strengthens P56; strengthened by P18, P43 strong (NIST SP 800-53 control AC-3(2) "Dual Authorization") nuclear, banking, aviation (two-person rule)
P43 risk-scaled (R), category D: required above the acceptable risk (master rule); in a very small team, compensating controls replace full segregation a matrix of incompatible roles exists, and an access review finds nobody holding two incompatible roles one person can create a cloud account, grant themselves admin and delete the audit log depends on P36; strengthens P40, P42, P56; strengthened by P6 strong (NIST SP 800-192 definition; internal control frameworks) management (internal control), security engineering

E. Capacity and continuity

How the system keeps working under high load and partial failure.

ID Name Strength IF (condition) THEN (action) BECAUSE (reason) Example (software/infra)
P44 Margin (Learn) SHOULD always design capacity above the expected load (margin), state the design load as a probability per time period, keep queued resources well below 100 % utilization, and set the margin by design maturity: larger early, smaller as uncertainty falls real load exceeds estimated load, and delay rises sharply as utilization approaches 100 % capacity for the 1-in-100-day traffic peak plus 30 % headroom; worker pools sized for \< 70 % average utilization
P45 Redundancy (N-1) (Learn) SHOULD one failure must not stop the function add redundancy, so that the function survives the loss of any single element (N-1), and make sure each copy and the switch-over mechanism are reliable enough for the redundancy to help one copy is a single point of failure nodes in several availability zones
P46 Diversity (Learn) SHOULD one cause can hit all copies at once make the copies different (diversity) identical copies fail together two different DNS providers
P47 Graceful degradation (Learn) SHOULD demand can exceed capacity define in advance which lower-priority functions switch off first, so that critical functions keep running (graceful degradation; opposite: cascading failure) uncontrolled overload makes the whole system collapse PriorityClasses with preemption, rate limiting, switching off recommendations to keep checkout running
P48 Damping (Learn) SHOULD a control loop reacts automatically to measurements add a deadband, delay or cooldown, so that the loop does not switch back and forth (oscillation; opposite: stable control) repeated on-off cycles waste resources and destabilize the system HPA stabilization window; failover hysteresis; circuit breaker cooldown
P49 Induced demand (Learn) SHOULD you add capacity to relieve congestion expect demand to grow into the new capacity, and also manage demand (quotas, priorities, pricing) added capacity lowers the cost of use, which increases use a larger cluster fills up again; faster CI leads to more CI runs
P50 Bottleneck first (Learn) SHOULD you want more throughput find the constraint (bottleneck) and improve it first improving other parts does not increase output speeding up lint does nothing if integration tests or the review queue are the bottleneck
P51 Shared demand signal (Learn) SHOULD several stages pass demand signals along a chain share the real end demand with every stage, instead of letting each stage react only to the stage below it each stage amplifies the variation it sees, so swings grow upstream (bullwhip effect) upstream services scale on front-end traffic, not only on their own delayed queue length
P52 Limit work in progress (Learn) SHOULD a team or system handles a flow of work items set a limit on the number of items in progress, and finish items before starting new ones at a given throughput, average lead time is proportional to average work in progress (Little's law), so more parallel work means longer waiting for every item at most 4 epics in progress per team; at most N concurrent rollouts per cluster
P53 Late work and added people (Learn) SHOULD work is late, and it needs coordination and learning do not expect added people to recover the schedule soon; cut or move scope first, and add people early, only where the work can be split new people need training and add communication paths, which at first lowers the output of the existing team (Brooks's law) two weeks before a cluster-migration deadline, scope is cut; new engineers join the next migration from its start
ID Class (why) HOW TO CHECK VIOLATION (opposite of the rule) RELATED Evidence Source domain
P44 universal (U), category E: every system has uncertain loads and inputs ("all models are wrong"); the size of the margin scales with the master rule a load test shows capacity ≥ the stated design load × the chosen factor, and queue delay stays within the target at that load sizing exactly to the average load strengthened by P12, P22, P27, P49, P50, P52; conflicts with P23; checked by P70 strong (the phase values of GSFC-STD-1000 come from a garbled table extraction; check the original before quoting them) mechanical, civil, coastal (factor of safety, return period), operations research (queueing), space systems (margins by phase), electronics (derating)
P45 risk-scaled (R), category E: only where the function must survive single failures; a system that may stop briefly (a development environment) does not need it removing any single element in a test keeps the function running a single replica of a critical service strengthened by P22, P41, P46, P34; conflicts with P23; conflicts with P53 when people are added for redundancy (add early, not late) strong (N-1 ignores how likely an outage is and how large the affected area is; use the master rule for those. Error correction helps only when component error rates are below a threshold (quantum threshold theorem)) aerospace, electronics, power grids, quantum engineering, computing theory (von Neumann)
P46 risk-scaled (R), category E: only where redundancy is required and a common cause is credible the shared dependencies of redundant copies are listed, and each one is justified all replicas depend on the same expiring certificate depends on P45; strengthens P45; strengthened by P22; conflicts with P23 moderate automotive (autonomous vehicles)
P47 conditional (C), category E: counterexample: a system with a fixed, known load (an embedded controller) an overload test shows that low-priority functions stop first and critical functions keep running all functions slow down together until everything fails depends on P44; strengthened by P48; conflicts with P23 moderate power grids (load shedding)
P48 conditional (C), category E: counterexample: a system without automatic control loops each automatic control loop has a documented deadband, delay or cooldown, and a test shows no repeated switching an autoscaler that scales up and down every minute depends on P70; strengthens P47; strengthened by P51 moderate control engineering
P49 conditional (C), category E: counterexample: a system without a shared, congested resource each capacity increase comes with a forecast of demand growth and a demand control (quota, priority or price) doubling the cluster size and being full again a month later depends on P70; strengthens P3, P44; strengthened by P51 moderate transportation (induced demand)
P50 conditional (C), category E: counterexample: a system without a throughput goal (a monument) before an improvement for throughput, the current constraint is measured and named optimizing a fast step while work piles up in front of a slow step depends on P70; strengthens P44; strengthened by P52 moderate industrial engineering (theory of constraints)
P51 conditional (C), category E: counterexample: a single-stage system each stage in a chain can see the end demand signal each service autoscaler reacts only to its own queue, and the swings grow along the chain depends on P70; strengthens P48, P49 moderate supply chain engineering (bullwhip effect)
P52 universal (U), category E: every system that is built, changed or operated has a flow of work (changes, tickets, requests) a visible WIP limit exists, and lead time and WIP are tracked everything is "in progress" and nothing is finished depends on P70; strengthens P44, P50 strong for the relation (mathematical theorem); moderate for the practice management (operations management, queueing theory)
P53 conditional (C), category E: counterexample: work that can be split into independent parts without communication (for example harvesting a field) before people are added to late work, a record states the expected training and coordination cost adding five engineers to a migration two weeks before its deadline strengthens P67; conflicts with P45 when people are added for redundancy (add early, not late) moderate; secondary only (the book is not online; Brooks himself calls the law an outrageous oversimplification) management (software project management)

F. Verification and review

How to prove that the work is correct.

ID Name Strength IF (condition) THEN (action) BECAUSE (reason) Example (software/infra)
P54 Verification and validation (Learn) MUST always do verification AND validation, and before handover test that all parts work together against the owner's requirements (commissioning) passing one does not mean passing the other, and parts that pass alone can fail together CI tests pass = verification; user acceptance = validation; end-to-end test of a new platform with DNS, certificates, monitoring and backup
P55 Find defects early (Learn) SHOULD always find and fix defects at the earliest possible stage the cost of a fix rises at each later stage lint and tests run in CI before merge
P56 Independent checker (Learn) MUST always have a checker review the work, and raise the checker's independence with the consequence of failure: self → peer → external organization authors do not see their own errors, and shared assumptions hide shared errors required PR approval; external penetration test for high-consequence systems
P57 Test as you operate (Learn) SHOULD a test must show that the system is ready run the test in the same configuration and conditions as real operation, and test again after every repair systems that passed every test have failed in operation because operation differed from the test staging uses the same image digest and Helm values as production
P58 Comparable measurement (Learn) SHOULD measurements are used to compare or decide measure under stated, controlled reference conditions, report the uncertainty with every result, and calibrate instruments regularly against traceable references uncontrolled conditions change results, and a result without its uncertainty is incomplete benchmarks on the same instance type with fixed load and warm-up; report the spread over several runs
P59 Traceability (Learn) MUST the system is safety-critical or regulated link every requirement in both directions to design and test standards require proof of complete coverage requirement ↔ code ↔ test ID in the ticket system
P60 Codes as minimum (Learn) MUST a code or standard exists meet it as the minimum, then apply the other rules a code is a minimum, not a maximum CIS Benchmark for Kubernetes
P61 Qualified procedure and person (Learn) SHOULD the quality of a result cannot be fully checked afterwards prove the procedure by a test before using it, and qualify each person who performs it a defect that inspection cannot find must be prevented by a proven procedure and a qualified person a restore procedure proven by a real restore; only engineers who did a restore drill run production restores
P62 Structured selection of people (Learn) SHOULD you select a person for a job or a promotion use structured, job-related interviews (the same questions for each candidate, answers rated on scales anchored to job requirements), and add work samples or job-knowledge tests structured interviews predict job performance better than any other common method (mean validity .42, compared with .19 for unstructured interviews) every platform-engineer candidate answers the same 6 questions and does the same debugging exercise; two raters score independently
P63 Feedback on the task (Learn) SHOULD you give feedback on a person's or a team's performance focus the feedback on the task and on how to improve it, not on the person's character or ranking, and check afterwards whether performance improved feedback improves performance on average, but in over one third of cases it decreased performance "the runbook missed the rollback step; add it and test it" instead of "you are careless"
ID Class (why) HOW TO CHECK VIOLATION (opposite of the rule) RELATED Evidence Source domain
P54 universal (U), category F: true for every system both a test result and a stakeholder acceptance exist declaring the work done because tests pass depends on P9; strengthened by P9, P26 strong systems engineering, building services (commissioning)
P55 universal (U), category F: true for every system each check runs at the first stage where it can run finding defects only in production strengthens P22, P39; strengthened by P57 moderate (direction strong; the '10x per stage' factor is weak) software engineering
P56 universal (U), category F: true for every system every change has a checker who is not the author, and the checker's independence matches the rigor matrix the author merges their own change depends on P2; strengthened by P2, P6, P42, P43, P62; conflicts with P18 strong technical drawing (checker in the title block), civil and structural (independent checking)
P57 universal (U), category F: trigger that occurs in the life cycle of every system the differences between the test setup and real operation are listed, and each one is justified testing a different build than the one that is deployed depends on P54; strengthens P55; strengthened by P26, P58, P61 moderate aerospace (Test Like You Fly)
P58 universal (U), category F: every engineering decision uses measurements each benchmark or test report states its reference conditions and the spread or uncertainty of the result comparing two single benchmark runs from different machines strengthens P12, P57; strengthened by P19 strong (standardized in ISO 139 and the GUM; standard text is paid; only the official summary was read) textile testing (ISO 139), metrology (GUM, traceability)
P59 risk-scaled (R), category F: required by safety standards for safety-critical or regulated systems; costly elsewhere a traceability report shows no requirement without a test and no test without a requirement tests that link to no requirement depends on P9; strengthened by P9, P11 strong aerospace, automotive, medical (DO-178C, ISO 26262, IEC 62304)
P60 conditional (C), category F: counterexample: novel technology for which no code exists yet a compliance scan passes treating compliance as proof of safety depends on P2 strong pressure vessels (codes and standards)
P61 conditional (C), category F: counterexample: results that can be fully inspected afterwards (a dimension check on a simple part) each such procedure has a test record, and each performer has a qualification record a backup procedure that was never restored depends on P2; strengthens P57, P71; strengthened by P62; conflicts with P7 strong (required for welding by ASME Section IX; standard text is paid; only the official summary was read) welding (WPS, PQR, welder qualification)
P62 universal (U), category F: every engineering organization selects people (trigger) interview guides with fixed questions and rating scales exist and are used; raters score independently before discussion "culture fit" chat with different questions for each candidate strengthens P2, P56, P61 strong (meta-analysis, Journal of Applied Psychology) management (personnel selection)
P63 universal (U), category F: every engineering organization gives feedback feedback records name a task and an improvement; the effect is checked at the next review feedback that compares people or judges character strengthens P5, P21 strong for the finding (meta-analysis); the "focus on the task" part rests on the authors' feedback intervention theory and is the author's summary, not a quote management (performance feedback)

G. Change

How to change the system safely.

ID Name Strength IF (condition) THEN (action) BECAUSE (reason) Example (software/infra)
P64 Versioning and change review (Learn) MUST always version every artifact; before each change, review its technical basis, its safety impact and the procedures it affects, approve it, and inform the affected people before go-live an unknown version makes failures unreproducible, and an unreviewed change brings in unknown hazards GitOps: every change is a reviewed pull request; the runbook is updated in the same pull request
P65 Small verified steps (Learn) SHOULD a change carries risk make the change in small steps, check the result of each step before the next one, and define each check as a hold point (work stops until the check is approved) or a witness point (work continues while the check is observed) small steps limit how much harm one wrong step can do canary rollout at 1 % → 10 % → 100 %, with a manual approval gate (hold point) before 100 %
P66 Isolation before work (Learn) MUST people work on a part of the system isolate that part from all inputs and energy, and lock the isolation so that nobody can restart it unexpectedly an unexpected restart during work injures people or destroys the work cordon and drain the node; pause Argo CD auto-sync before manual maintenance
P67 Critical path (Learn) SHOULD work consists of tasks that depend on each other identify the longest chain of dependent tasks (critical path) and protect it first a delay on the critical path delays everything; other tasks have slack in a cluster migration, data sync and DNS cutover are critical; documentation has slack
P68 Observational method (Learn) SHOULD key properties can only be measured during construction or operation design for the most probable conditions, monitor the real values, and plan trigger levels and backup actions in advance measuring the real values is more reliable than guessing them in advance Argo Rollouts analysis that rolls back automatically when the error rate exceeds a trigger level
P69 Guided change (Learn) SHOULD you change how many people work (a reorganization, a new process, a new tool for everyone) make the need visible, form a group that leads the change, communicate the vision far more often than seems necessary, remove obstacles, plan early visible wins, and continue until the new way is part of daily routine "skipping steps creates only the illusion of speed" (Kotter); changes declared finished too early fall back migration to the new CI system: reasons shared, a pilot team, weekly updates, old system switched off only when all teams use the new one
ID Class (why) HOW TO CHECK VIOLATION (opposite of the rule) RELATED Evidence Source domain
P64 universal (U), category G: true for every system every change record shows basis, impact review and approval, and the deployed state matches an approved commit a manual change in production (drift) strengthens P80; strengthened by P8, P10, P11, P30; conflicts with P18 strong all (configuration management), chemical process safety (management of change)
P65 universal (U), category G: trigger that occurs in the life cycle of every system each risky rollout has defined steps, and each check between steps is marked as hold point or witness point switching all traffic at once depends on P70; strengthens P68; strengthened by P20, P67, P69 moderate flight testing (build-up approach), construction management (hold points)
P66 universal (U), category G: every system is maintained by people each maintenance procedure starts with an isolation step and ends with a release step auto-sync overwrites a manual fix in the middle of an incident strengthens P39 strong industrial safety (lockout/tagout)
P67 universal (U), category G: every project has tasks that depend on each other each multi-step project plan marks its critical path and the slack of the other tasks speeding up tasks that have slack while the critical path slips strengthens P65; strengthened by P53 moderate construction management (critical path method)
P68 risk-scaled (R), category G: only where key properties stay uncertain until construction or operation each monitored value has a trigger level and a planned backup action discovering at go-live that there is no rollback plan depends on P65, P70; strengthened by P65, P72 moderate geotechnical (observational method)
P69 universal (U), category G: every engineering organization changes how its people work (trigger) each large change has a written reason, a named leading group, a communication plan, defined early wins and an end criterion ("the old way is switched off") announcing a change by email and declaring it done depends on P8, P64; strengthens P65; strengthened by P8 moderate (practitioner model from case experience; the eight steps have limited empirical testing) management (change management)

H. Operation and maintenance

How to run, watch and maintain the system.

ID Name Strength IF (condition) THEN (action) BECAUSE (reason) Example (software/infra)
P70 Monitoring in operation (Learn) SHOULD the system is in operation measure its behavior in real use, and alert on symptoms that users feel; where the output stays perfect until a sudden collapse (cliff effect), also monitor the remaining margin tests before release cannot cover all real conditions, and some systems show no symptom until they fail completely alerts on latency, traffic, errors and saturation; certificate days left, disk headroom, error budget
P71 Checklists (Learn) SHOULD a critical procedure is rare, complex or done under time pressure use a short checklist, and confirm each item by pointing at it and saying its status aloud memory fails under stress cluster upgrade checklist, incident commander checklist; read out cluster context and namespace before each destructive command
P72 Critical control points (Learn) SHOULD a repeated process has a few steps where control is essential define those critical control points, rank them by consequence rather than by how often incidents happen, and give each one a limit, monitoring, a predefined corrective action, a record and regular verification in practice tight control at the essential steps works better than loose control at every step image-signature admission gate; SLO limit on the payment path with automatic rollback
P73 Response faster than harm (Learn) SHOULD harm develops over time after a fault starts make sure the time to detect + alert + respond + recover is shorter than the time until harm, with a margin a response that arrives after the harm is no response an alert fires when the disk will be full in 4 h, and on-call response takes \< 30 min
P74 Maintenance by failure pattern (Learn) SHOULD you plan maintenance choose the maintenance method by how each part actually fails: replace on a schedule only what wears out with age, and monitor the condition of everything else most failures are not linked to age, so scheduled replacement does not prevent them rotate certificates on a schedule (age-related); alert on disk usage (condition-based); no "just in case" pod restarts
P75 Actionable alerts (Learn) SHOULD a system raises alerts to people make every alert actionable, and remove or change alerts that nobody acts on many non-actionable alerts make people ignore all alerts, including the important ones (alert fatigue) page only on symptoms that need action now; review alert noise every month
P76 Sterile critical phase (Learn) SHOULD work is in a critical phase (cutover, deployment, incident) allow only the activity and communication that the critical phase needs distraction during critical phases causes errors incident channel limited to the response; no unrelated changes during a cutover window
P77 Data as a dependency (Learn) SHOULD behavior depends on data or learned models version and validate the data like code, monitor for drift, and retrain or re-evaluate when the world changes data dependencies cost more than code dependencies, and predictions get worse over time versioned evaluation set for code-review prompts; alerts on shifts in the input distribution
P78 Asset inventory (Learn) SHOULD you operate many assets keep a complete inventory of all assets, with owner, condition and lifecycle stage you cannot maintain, secure or decommission what you do not know you have inventory of clusters, accounts, certificates and images with owners; SBOM per image
P79 Span of control (Learn) SHOULD one person directs other people during operation (incident, cutover, commissioning) keep the number of people one person directs in a manageable range (guideline: about five), and add group leads above that a person can coordinate only a limited number of people, and an overloaded coordinator misses actions an incident commander with 12 responders appoints two group leads (communication, mitigation)
ID Class (why) HOW TO CHECK VIOLATION (opposite of the rule) RELATED Evidence Source domain
P70 universal (U), category H: trigger that occurs in the life cycle of every system each service has dashboards and alerts for user-facing symptoms learning about an outage from users strengthens P80, P81, P82; strengthened by P19, P26, P75, P77; checks P44, P73 moderate site reliability engineering, broadcast (confidence monitoring)
P71 universal (U), category H: every system has rare or critical procedures (restore, upgrade, decommissioning) each critical procedure has a checklist that is used and is updated after postmortems an upgrade done from memory strengthens P25; strengthened by P61, P76, P79; conflicts with P7 moderate (mixed results: large effect in 8 pilot hospitals, no significant effect in 101 Ontario hospitals) surgery, railway (pointing and calling)
P72 universal (U), category H: every system is built or operated through repeated processes each critical control point has a limit, monitoring, a corrective action, records and a recent verification that it works monitoring everything equally, with no defined limits depends on P22; strengthens P68; conflicts with P7 strong food safety (HACCP), mining (critical control management)
P73 universal (U), category H: every operated system has harms that develop over time (wear, filling, drift) for each main hazard, the measured detection-plus-response time is shorter than the time until harm an alert that fires only when the disk is already full depends on P70; strengthened by P75; conflicts with P83; checked by P70 moderate fire protection (ASET > RSET)
P74 universal (U), category H: every system needs maintenance (see P24) each maintenance task states which failure pattern it addresses scheduled restarts that hide a memory leak depends on P22, P70; strengthened by P28, P78 moderate aviation maintenance (RCM)
P75 universal (U), category H: every operated system is monitored (P70), and monitoring raises alerts each alert has an owner and a runbook action, and the share of alerts with no action is measured and kept low an alert channel with hundreds of messages per day that nobody reads strengthens P70, P73, P82 strong (The Joint Commission: "between 85 and 99 percent of alarm signals do not require clinical intervention") clinical engineering, rail dispatch (alarm fatigue)
P76 universal (U), category H: every project has critical phases (cutover, commissioning, launch) critical phases are defined, and their communication rules are written down and used side discussions and parallel deployments during an incident strengthens P25, P71; strengthened by P79 strong (FAA regulation since 1981) aviation (sterile flight deck)
P77 conditional (C), category H: counterexample: a system whose behavior does not depend on data or learned models data and models have versions, inputs are validated, and drift is monitored with an alert a model or prompt that silently gets worse over months depends on P64; strengthens P12, P70 moderate data and ML engineering
P78 conditional (C), category H: counterexample: a single, small asset an automated discovery compares the real assets with the inventory and finds no unknown assets a forgotten test cluster with public access strengthens P24, P36, P74; strengthened by P14 moderate municipal and infrastructure engineering (asset management, ISO 55000)
P79 conditional (C), category H: counterexample: a system operated by one person or by fully automated control each incident record lists the roles and the number of people each lead directed; values above the guideline have a reason one incident commander directly coordinating 20 people in one channel strengthens P30, P71, P76 strong for incident management (US federal doctrine NIMS: 1:5 as guideline) management (incident management)

I. Learning

How to learn from failures and anomalies.

ID Name Strength IF (condition) THEN (action) BECAUSE (reason) Example (software/infra)
P80 Blameless root cause analysis (Learn) SHOULD a failure has happened find the root cause in the system, not a person to blame blame makes people hide information blameless postmortem with 5 Whys
P81 Plan-Do-Check-Act (Learn) SHOULD always repeat the cycle Plan → Do → Check → Act improvement is a cycle, not a single event retrospective after each sprint
P82 Investigate anomalies (Learn) SHOULD the system behaves differently from what was expected, even if nobody was harmed record the anomaly and investigate it before you accept it as normal ignored warning signs come before major accidents a flaky test, or an alert that everyone silences
P83 Preserve evidence (Learn) SHOULD a failure has happened document and preserve the as-found state before you repair or restart anything, and record who handled the evidence (chain of custody) a repair destroys the evidence needed to find the cause capture logs, heap dump and disk snapshot before restarting a pod or rolling back
ID Class (why) HOW TO CHECK VIOLATION (opposite of the rule) RELATED Evidence Source domain
P80 universal (U), category I: trigger that occurs in the life cycle of every system each failure above a set severity has a postmortem with system-level actions "operator error" as the final root cause depends on P64; strengthens P81; strengthened by P5, P10, P64, P70, P82, P83 moderate site reliability engineering
P81 universal (U), category I: true for every system actions from earlier cycles are tracked until they are completed the same failure happens again with no process change depends on P70, P80; strengthened by P31, P70, P80 strong quality management (ISO 9001)
P82 universal (U), category I: trigger that occurs in the life cycle of every system each anomaly has a ticket with a decision: fix it, or accept it with a written reason silencing an alert permanently without an investigation depends on P4, P70; strengthens P80; strengthened by P4, P5, P15, P19, P33, P70, P75 moderate aerospace, accident research (normalization of deviance)
P83 universal (U), category I: trigger that occurs in the life cycle of every system each incident record lists the evidence captured before the first repair action restarting the service first and finding no logs afterwards depends on P11; strengthens P80; conflicts with P73 strong (required in regulated failure investigation (PHMSA protocol)) forensic engineering