A root-cause technique that starts from a symptom and asks "why?" iteratively, each answer becoming the next question, until the chain reaches an actionable underlying cause.
What is the real cause beneath this symptom, and where does the chain of "why?" actually end?
Five Whys is the simplest root-cause technique in wide use. You start from a symptomSymptomEngineeringA symptom of a problemView reference → and ask why it happened; the answer becomes the next question, and you repeat, conventionally about five times, until you reach a cause that is worth fixing rather than another symptom to treat. The number five is a rule of thumb, not a law. You stop when the next why stops being useful.
The technique originated at Toyota. Sakichi Toyoda, the founder of the company that became Toyota Industries, developed the questioning discipline in the 1930s, and it was later formalised as a core tool of the Toyota Production System by Taiichi Ohno, who described it in his writing on lean manufacturing. Ohno framed it as the scientific habit behind Toyota's approach to problems: repeating why five times to push past the obvious answer to the real one.
Ohno's own illustration is the canonical example. A machine stops. Why? A fuse blew from an overload. Why the overload? The bearing was not lubricated enough. Why? The lubrication pump was not pumping enough. Why? The pump shaft was worn. Why? There was no filter, so metal scrap got in. The fix that survives five whys is fitting a filter, not replacing the fuse. Replacing the fuse treats the surface; the filter addresses the cause.
A team facing a recurring problem writes the symptom plainly, then works the chain together:
A worked example. A SaaS team finds customer invoicesInvoiceSales & RevenueAn invoice for billingView reference → are occasionally wrong. Why? Some line items use a stale tax rate. Why? The rate is cached and the cache is not invalidated when rates change. Why? Rate changes are applied directly to the database, bypassing the application that owns the cache. Why? There is no admin path for rate changes, so finance edits the table by hand. Why? The admin tooling was descoped at launch and never revisited. The root cause is a missing internal tool, not a bad cache, and that is a very different ticket from the one the symptom suggested.
Five Whys fits problems with a single dominant cause and a reasonably linear causal history: a specific defect, an outage, a process breakdown. It is fast, needsNeedUserA user need, pain, desire, or constraintView reference → no tooling, and works well in a blameless conversation where people are willing to keep asking past the comfortable first answer.
It is the wrong tool for problems with many interacting causes, where a single chain oversimplifies and a fishbone diagram or a fuller causal analysis serves better. Its two classic failure modes are stopping too early, landing on a symptom dressed up as a cause, and drifting into blame, where the chain terminates at a person rather than the system that let the error through. The Toyota framing guards against the second: the goal is a process you can change, not a culprit you can name.
Five Whys is a reflection framework in the team-process category. Its chain maps cleanly onto graph entities:
needNeedUserA user need, pain, desire, or constraintView reference →: the problem the team still has to solve.insightInsightUser ResearchA synthesised finding from researchView reference →, linked in sequence so the causal path is preserved, not flattened.insightInsightUser ResearchA synthesised finding from researchView reference →, the one the team will act on.Holding the chain in the graph means the root cause is connected to the work that addresses it and to the symptom it explains. A later incidentIncidentDevOps & PlatformA production incidentView reference → with the same symptom can find the prior analysis instead of restarting it, and the reasoning survives past the meeting that produced it.
Tracing a recurring checkout failure
A payments team keeps seeing the same checkout error reappear after each hotfix. Asking why surfaces a failed charge; why again points to a timeout calling the card processor; why again to a connection pool exhausted under load; why again to retries piling up with no backoff; and the fifth why lands on a config default that never set a retry ceiling. The fix that survives the chain is correcting the retry policy, not restarting the service, and the error stops recurring.
Why onboarding completion stalled
A B2B SaaS team notices trial-to-activation rates dropped after a release. Why? Fewer users finish setup. Why? They abandon at the data-import step. Why? The import silently fails for large files. Why? The new upload limit was lowered without a user-facing message. Why? The limit was a quick mitigation for a storage scare that was never revisited. The actionable root cause is the orphaned limit, so the team raises it and adds a clear error state rather than redesigning the whole onboarding flow.