When 'why' has multiple independent answers, branch the analysis into a tree — multi-causal problems aren't linear chains
When asking 'why' produces multiple independent answers, branch the Five Whys analysis to follow each causal path separately rather than selecting one primary cause, because multi-causal problems require tree structures not chains.
Why This Is a Rule
Five Whys is often taught as a linear chain: one cause leads to one deeper cause leads to one root cause. But real-world failures are rarely monocausal. "Why did the project fail?" might have three genuinely independent answers: scope crept, key engineer left, and market shifted. These aren't three versions of the same cause — they're independent causal branches that each contributed to the failure.
Selecting one "primary" cause and following it exclusively is the most common Five Whys error. It feels rigorous ("let's focus on the real cause") but it's reductive: you fix one branch while two others continue producing failures. The error recurs, and the post-mortem concludes "we didn't really fix the root cause" — when actually, you fixed one of three root causes.
Tree structures capture multi-causal reality. When "why" produces N independent answers, you create N branches and follow each to its own root. The result is a causal tree, not a causal chain. The tree reveals which branches are independent (fixing one doesn't affect others) and which share deeper roots (fixing the shared root addresses multiple branches simultaneously — high leverage).
When This Fires
- During Five Whys analysis when a single "why" produces more than one independent answer
- When root cause analysis keeps converging on a single cause but the error has multiple contributing factors
- When previous single-cause fixes didn't eliminate the error — additional causal branches likely exist
- When analyzing complex failures in systems with multiple interacting components
Common Failure Mode
Forcing a single chain by selecting the "most important" cause at each branch point: "Yes, there were multiple factors, but the real cause was X." This discards valid causal branches that will continue producing errors. All independent causal branches are "real causes" — prioritize by fixability and impact, but don't discard branches.
The Protocol
(1) At each "why" in the analysis, ask: "Is there more than one independent answer?" (2) If yes → branch. Create a separate analysis path for each independent cause. (3) Follow each branch to its own root cause using the elimination test (A true root cause, eliminated, makes the error impossible — if it only reduces frequency, keep digging). (4) After all branches reach their roots, assess: do any branches share a deeper common root? If yes → the shared root is the highest-leverage fix (addresses multiple branches). (5) If branches are truly independent → prioritize fixes by: Which root cause, if fixed, prevents the most damage? Which is cheapest to fix? Address in order of leverage, but plan to address all branches eventually.