Five Whys

The Toyota technique adapted for SRE: where it works, where it lies, and "contributing factors" as the modern alternative.

Overview

Ask why, five times

Five Whys is a root-cause technique from Toyota's manufacturing process, adapted into SRE postmortem practice. Ask "why?" five times, peeling back one layer each time.

By why 5 you have moved from the symptom (500 errors) to a systemic cause (a library bug). Action items at the systemic level are higher-leverage than those at the symptom level.

Where it works and where it breaks

  • Linear causal chains: each effect has one obvious cause — Multiple contributing factors: most software incidents have 3-5 independent ones, and Five Whys forces a tree into a list
  • Manufacturing defects, Toyota's domain: physical parts with well-defined failure modes — Hindsight bias: you ask the question that fits the answer you already know
  • Single-component failures: a bad disk, config push or query — False precision: five layers feels rigorous, but choosing which "why" to follow is subjective
  • Stopping point — Arbitrary stopping: the answer may be at why 2 or why 8; "five" is convention, not science

The modern alternative: contributing factors

List every factor that needed to be true for the incident to happen. Most incidents have 3-7.

  • 1 — The bad code was introduced in commit X
  • 2 — The CI test for connection leaks was disabled (legacy)
  • 3 — Canary deployment didn't cover the slow-path code
  • 4 — The connection-pool alert was at 90%, but the pool sat 95% saturated for hours before the page
  • 5 — The on-call runbook didn't list "check connection pool" as a debug step
  • 6 — The retry library has known bugs (since 2024), but we're still on the old version

> [!IMPORTANT] Each factor is independently fixable. Cause is plural, and the postmortem should say so.

> [!NOTE] The Sidney Dekker (human factors) school: every incident has several contributing factors that aligned. Pulling on the one labeled "root cause" misses the vulnerability that let many factors align at once.

Pragmatic guidance

  • Exploration — Five Whys as a brainstorming technique in the postmortem: "keep asking why until we run out"
  • Documentation — A contributing-factor list, not "the root cause": "here are the seven things that all had to be true"
  • Action items — Target several factors, not just the deepest: the library bug and the missing CI check and the runbook gap

Key concepts

Five Whys
Iterative why-chain. Toyota origin. Useful for brainstorming; lying as a sole technique.
Contributing factors
Multiple things that combined to cause the incident. Modern human-factors approach. More accurate.
Hindsight bias
In retrospect, the cause is "obvious." Ask "given what was known at the time, was the decision reasonable?" to combat.
Linear vs systemic causation
Five Whys assumes linear chain; reality is usually networked — multiple causes aligned.
Sidney Dekker school
Human factors approach to incidents: multiple factors must align for failure. Eliminating one factor breaks the chain.

When to use it

  • During the postmortem review meeting — Five Whys as a brainstorming technique
  • When documenting root cause — favor "contributing factors" over a single "root cause"
  • Action item generation — each factor is its own action item
  • Recurring incidents — the contributing-factor list is more useful than a single root cause for finding patterns

Interview questions

  • Walk me through Five Whys for this scenario: a deploy caused a 30-minute outage.
  • What's wrong with Five Whys, and what's the alternative?
  • Why is "user error" rarely a valid root cause?

Sign up free to read the full topic

More SRE topics

Start free on Cariara · Coding problems · System design studio