SRE Root Cause Analysis

Restoring service ends the pain. Understanding why the failure happened prevents the next one. Root cause analysis, often shortened to RCA, is the careful search for the deeper reasons behind an incident.

What Is a Root Cause?

A root cause is a condition that, once removed, stops the same failure from returning. Think of a leaking ceiling. Mopping the floor treats the symptom. Finding the broken roof tile treats the cause. Most real incidents have several causes working together, so teams often speak of contributing factors instead of a single culprit.

Symptom, Trigger, and Cause

TermMeaningExample
SymptomWhat users seeCheckout pages time out
TriggerThe event that started the failureA configuration change at 10:02
Root causeThe weakness that allowed the trigger to hurtNo validation on configuration values

Method 1: The Five Whys

Ask "why" repeatedly until the answer points to a process or design gap. Five is a guide, and the real number varies.

Problem: Checkout failed for 40 minutes.
Why 1: The database refused new connections.
Why 2: The connection limit was set to 10 instead of 1,000.
Why 3: A new configuration file shipped with a test value.
Why 4: The release process does not check values against safe ranges.
Why 5: Nobody owns validation rules for configuration.
Action: Add range checks to the release pipeline and assign an owner.

Method 2: The Fishbone Diagram

A fishbone diagram groups possible causes into categories. The team brainstorms in each branch and marks the likely ones.

  People            Process             Technology
     \                 |                   /
      \                |                  /
       ──────────────────────────────────────→  [Checkout Outage]
      /                |                  \
     /                 |                   \
  Environment       Monitoring          Dependencies

Questions for Each Branch

  • People: Did the on-call engineer have the right access and training?
  • Process: Did a review or approval step exist, and did it work?
  • Technology: Did the code, config, or hardware behave as designed?
  • Environment: Did load, region, or timing play a role?
  • Monitoring: Did alerts fire quickly and point to the problem?
  • Dependencies: Did an outside service change behavior?

Method 3: Timeline Review

List every event in time order, including quiet moments before the alert. Gaps in the timeline reveal missing monitoring. Surprising delays reveal slow decisions. Many causes appear only when the whole sequence sits on one page.

Method 4: Fault Tree

              [Checkout Down]
                    │
          ┌─────────OR─────────┐
          ↓                    ↓
 [Database Unavailable]   [Payment API Fails]
          │
   ┌─────AND──────┐
   ↓              ↓
[Low Limit]  [High Traffic]

Read the tree from top to bottom. An OR gate means any branch alone can cause the failure. An AND gate means both conditions must occur together.

Avoid the Human Error Trap

Many reports stop at "an engineer made a mistake." People make mistakes in every workplace. A strong analysis asks why the system allowed one mistake to cause so much damage. Better checks, safer defaults, and automated tests turn a human slip into a harmless event.

Turning Findings into Actions

FindingActionOwnerDue
No range check on configurationAdd validation to the pipelineRelease teamTwo weeks
Alert fired 15 minutes lateLower the alert thresholdMonitoring teamOne week

Each action needs a named owner and a date. Track actions to completion, because an unfinished list repeats the same outage.

Common Mistakes

  • Naming a single cause for a complex failure.
  • Blaming a person instead of a process.
  • Writing vague actions such as "be more careful."
  • Filing the report and never checking the results.

Key Takeaways

Pick a method that fits the incident, gather facts before opinions, look for system gaps, and assign concrete actions. Good analysis makes the next incident smaller or removes it entirely.