chapter eight

8 Root cause thinking for developers

 

This chapter covers

  • Breaking the symptom-fix cycle that creates endless rework
  • Applying 5 Whys, Fishbone, Pareto, and Is/Is Not to expose root causes
  • Tracing from stack traces to systemic failures, not code-level guesses
  • Catching AI-generated patches before they become technical debt
  • Writing A3 reports that communicate problems without drama

Your payment service throws 100+ errors every few hours. The pattern looks random. You restart the service, the errors stop, and you move on. Two days later, the same alert fires at 3 a.m. You restart again. A week later, it happens a third time. On the third restart, you stop and actually trace the failure. The service crashes on large transactions because the amount_cents column is a 32-bit INTEGER. Any transaction over $21,474,836.47 overflows the column and throws a SQLException. Three restarts fixed nothing because the column type was the problem the entire time.

8.1 Going beyond symptoms to the root cause

8.2 Lean problem-solving tools and techniques

8.2.1 The 5 whys

8.2.2 Fishbone diagrams

8.2.3 Pareto analysis

8.2.4 Is/Is not

8.2.5 Combining them: Root cause analysis

8.3 Debugging at the gemba

8.4 When AI introduces non-RCA fixes

8.5 Countermeasures, not quick fixes

8.6 A3 reports: Structured, blameless problem solving

8.7 RCA beyond your value stream

8.8 Exercise: Write an A3 report for a production issue

8.9 Summary