Root cause analysis methods: A complete guide for SRE teams

October 28, 2026 — 19 min read
TL;DR: The right root cause analysis method depends on your incident's severity, type, team capacity, and available data, not a default template. During a P0 or P1, capture the timeline and run a quick 5 Whys to guide mitigation, then save fishbone or fault tree analysis for the post-mortem. P2 incidents with several interacting causes suit a fishbone. P3 incidents often need only a short 5 Whys. incident.io's Investigations handles the first 80% of incident response, but human judgment remains the final check.

Post-mortems that stop at surface-level causes, such as "database connection pool exhausted," explain what happened but not why, and offer no path to prevention. The difference between a post-mortem that prevents recurrence and one that produces no follow-through is the root cause analysis (RCA) method you choose before you start asking why.

Root cause analysis works best as a toolkit, not a template. The 5 Whys, fishbone diagrams, fault tree analysis, and timeline mapping each suit different problems under different constraints. This guide maps each method to the incidents where it works, with worked examples modeled on common production failures, so you can match the method to the incident rather than reaching for the same template every time.

Understanding RCA in modern SRE workflows

RCA is the practice of investigating why an incident happened, not just what happened. Teams that apply it consistently turn individual failures into lasting improvements.

Defining root vs proximate causes

Teams use these terms loosely, so it helps to define them up front. In this guide, the trigger is the event that initiated the failure sequence (an automated release deployment, a sudden traffic spike, a config change). The proximate cause is the immediate technical condition directly producing service disruption (Redis thread pool starvation, TCP SYN backlog queue saturation, connection pool exhaustion). The root cause is the underlying system or process failure that made the proximate cause possible. Contributing factors are conditions that increased the likelihood or impact without directly causing it.

"Root cause" is often a misnomer in complex distributed systems, where failures are emergent and multiple contributing factors interact. incident.io's SRE post-mortem best practices guide frames the goal in similar terms: identify contributing causes rather than indict an individual.

Running RCA during an incident

During an active P1, you won't have time for a full fault tree. A lightweight 5 Whys against the proximate cause can still guide your next mitigation step, as long as the timeline is being captured for deeper analysis later.

Quick-start checklist for in-incident RCA:

  1. Capture the timeline as it happens (severity changes, responder actions, status updates).
  2. Run a quick 5 Whys on the proximate cause to guide mitigation.
  3. Defer deeper analysis (fishbone, fault tree) until after resolution.
  4. Schedule the post-mortem promptly, while memory is fresh.

Deferring RCA until after resolution

Deep analysis requires data and calm. Running a full fishbone or fault tree mid-incident risks splitting your team's focus and slowing response. Waiting until the timeline is complete and the adrenaline has cleared leads to better analysis.

Matching RCA methods to urgent incident needs

Four factors decide which RCA method fits: severity, incident type, team capacity, and how complete your incident data is.

Selecting RCA methods by severity level

Match the method to the severity. During P0 and P1 incidents, use fast, lightweight methods that guide mitigation, then run deeper analysis in the post-mortem. P2 incidents have time for structured analysis. P3 incidents rarely justify more than a short 5 Whys.

SeverityApproachWhy it fits
P0Timeline mapping and a quick 5 Whys, fault tree deferredCapture everything live, analyze rigorously after
P15 Whys in-incident, fishbone post-incidentFast mitigation guidance, then structured analysis
P2Fishbone, or 5 Whys for a single clear causeMultiple interacting causes, time available
P35 Whys, or skip formal RCALow impact, fix and move on

Mapping RCA methods to incident types

The type of failure narrows the choice further, because some failures follow a single chain and others combine across systems.

Incident typeRecommended methodWhy
Deployment failureTimeline mapping + 5 WhysClear trigger, linear causal chain
Infrastructure failureFault treeMultiple redundant systems, need rigorous analysis
Config changeFishboneMultiple interacting factors across teams
External dependencyTimeline mappingFocus on detection and response, not internal causes

Evaluating team capacity for RCA

A small team mid-incident rarely has the capacity for a full fault tree, so match method complexity to the people and time available. A 5 Whys needs one or two responders and gives an answer in minutes. A fishbone needs input from several people across the affected teams. A fault tree needs a facilitator and a complete timeline.

At the formal end, the 8D (Eight Disciplines) model suits teams with formal documentation requirements. It runs from D1 (establish a team) to D8 (recognize the team), and a later revision added a D0 planning stage at the start. It is most common in the auto industry but is also used in healthcare, finance, and government.

Overcoming incomplete incident data

Manual reconstruction from Slack scroll-back is slow and loses detail. Every method in this guide depends on a timeline captured while the incident runs.

Using 5 Whys to find hidden causes

The 5 Whys is the quickest RCA method in this guide to run under pressure, which makes it the default during P0 and P1 incidents.

Running a 5 Whys workflow

The 5 Whys technique traces a problem to its underlying cause by asking "why" repeatedly, conventionally about five times. Each answer leads to the next question. Stop when you reach a process or system failure you can control, not a person.

To see the workflow in practice, here is an illustrative list:

  1. Why #1: Why did the service degrade? The database CPU hit 100%.
  2. Why #2: Why did CPU hit 100%? A specific query ran a full table scan on a large table.
  3. Why #3: Why was it doing a full table scan? A new code path queried a column with no index.
  4. Why #4: Why was there no index? The deploy checklist had no index review step.
  5. Why #5: Why was the checklist missing that step? Checklist maintenance had no owner after a team restructure.

In this scenario, the systemic causes are two process gaps with clear fixes: add an index review step and give the checklist an owner.

Choosing 5 Whys for incident RCA

5 Whys suits fast, single-cause incidents: P0, P1, or P2 incidents with a clear proximate cause, low team capacity, or any situation where you need an answer in minutes rather than hours. It works best when the causal chain is linear and you have a captured timeline to test each "why" against.

Preventing 5 Whys bias

The main risks are hindsight bias, which makes a causal chain look more obvious than it was in real time, and steering each answer toward a convenient explanation. Teams mitigate by involving multiple responders, documenting each answer against the timeline, and testing the chain for logical consistency. Blameless post-mortem practice, as Google's SRE Book describes it, keeps the focus on contributing causes rather than individual behavior.

Mapping system failures using Ishikawa analysis

A fishbone diagram suits incidents with several interacting causes, because it maps every candidate cause in one view.

Organizing incident causes with fishbone

The fishbone (Ishikawa) diagram is a visual method that organizes candidate causes into categories branching from the incident. Kaoru Ishikawa introduced six generic categories: materials, machines, methods, measurement, manpower, and mother nature. He also encouraged teams to rename them, so engineering teams often adapt these to areas like systems, skills, and tooling.

Breaking down a database connection pool exhaustion

A hypothetical connection pool exhaustion incident might map to a fishbone with four branches:

  • Code: A missing connection release in a new service.
  • Config: Pool size set too small for production traffic.
  • Process: No load test required before deploy.
  • Environment: A traffic spike from a marketing campaign.

Populate each branch from the captured timeline rather than from memory.

Selecting fishbone for incident RCA

Beyond interacting causes, fishbone fits when the causes span several teams or systems, when 5 Whys feels too linear, or when you need a visual artifact for the post-mortem that stakeholders can review. It works better when you have time to gather the team, since the method depends on input from multiple people.

Running fishbone analysis async vs live

A live fishbone session after the incident can work for P1 and P2 post-mortems with a dedicated facilitator, while an async fishbone in a shared doc suits distributed teams. The async approach outperforms live sessions on idea volume, which cuts against the intuition that group discussion produces richer analysis. Decades of research show that individuals who work alone and pool their ideas generate more unique ideas than group brainstorming sessions. In a study at a technology company, alternating solo writing with short group reviews produced a 71% higher idea rate per person per minute than a standard group brainwriting session. If your goal is the widest pool of candidate causes, run the fishbone async and pool the results.

Building structured fault trees for SRE teams

Fault tree analysis fits high-impact incidents where you need a formal record of how failures combined.

Running a fault tree step by step

Fault tree analysis uses Boolean logic to map the chain of failures. Define the top event, identify first-level contributors, link each with AND/OR gates, and expand until you reach basic events.

Analyzing failed multi-region failovers

For illustration, here's how a hypothetical failed multi-region failover might map to a fault tree:

  • Top event: The failover does not complete.
  • OR gate: The DNS update fails OR the application servers fail to start.
  • DNS branch: A propagation delay (AND: TTL set too high AND no TTL review in change management).
  • App server branch: A health check timeout (AND: insufficient warm-up time AND no pre-failover validation).

In this hypothetical example, the OR gate shows that either branch could stop the failover on its own. Each branch traces back to a process gap, missing TTL review on one side and missing pre-failover validation on the other. Fixing one gap still leaves the other branch as a single point of failure.

Choosing fault tree analysis for RCA

Reserve fault trees for incidents where recurrence would be costly enough to justify the time, and for compliance-sensitive environments. A fault tree demands more data and time than 5 Whys or a fishbone.

Applying Boolean logic to RCAs

AND gates mean all causes must occur together. OR gates mean any single cause is sufficient. Boolean logic helps identify single points of failure (OR gates with no redundancy) and redundancy gaps (AND gates where one leg is weak). This explicit logic gives reviewers a record they can check step by step.

Sequencing incident events for precise RCA

Timeline mapping gives every other RCA method its facts: what happened, in what order, and with what impact.

Mapping events to incident impact

Build a timeline of events (alerts, deployments, config changes, responder actions) and map each to its impact. This provides the raw material for precise RCA. Without a timeline, methods rely more heavily on responder memory and speculation.

Reconstructing a deployment-triggered memory leak

For illustration, here's how timeline mapping might capture a memory leak triggered by a deployment:

  • T+0: Deploy of service v2.4.1 completes.
  • T+13 min: Memory usage begins climbing (first alert fires).
  • T+38 min: OOM kill on pod, service degrades.
  • T+40 min: Incident declared, P1 severity set.

The timeline pinpoints the deploy as the trigger. Without it, the team might have stopped at the OOM kill instead of tracing it back to the memory leak introduced in v2.4.1, which is where the 5 Whys should start.

Replacing manual timeline reconstruction

incident.io's timeline capture records severity changes, status updates, and pinned messages automatically. Responders can add role changes and other events from the incident activity log. The timeline is editable, so you can add context after the fact.

Automating RCA workflows for faster resolution

Automation can take on much of the repetitive work in an investigation. This frees engineers to focus on the judgment calls automation cannot make: validating hypotheses, deciding which contributing factors to fix first, and reviewing AI-drafted pull requests.

Linking log spikes to root causes

Correlate log spikes with deployment timestamps and config changes. Automated correlation shortens the manual search across tools. incident.io's alert timeline shows when each alert fired and resolved, plus the incident it created or was grouped into.

Tracing requests across microservices

Distributed tracing threads a unique identifier through every service-to-service call, so you can reconstruct the full journey of a request after the fact. With tracing, you get an end-to-end view of each request, including where the time went.

Generating hypotheses with AI

Investigations handles the first 80% of incident response by analyzing telemetry, code changes, and past incidents to surface likely root causes. It drafts a pull request a human reviews and merges. It never takes action on production systems without that review.

The Investigations product page describes the same capability as getting teams from alert to resolution an order of magnitude faster. The product launch video shows the actual workflow.

Drafting RCA with automated insights

On resolution, incident.io drafts a complete post-mortem from the captured timeline, Slack threads, PRs, and custom fields. A human edits and refines it instead of reconstructing from memory. The post-mortem documents API lets you list and retrieve post-mortem documents, update their status, and fetch their full content.

Spotting hallucinations in AI output

AI can hallucinate root causes. Mitigate by requiring human review of every AI-generated hypothesis, cross-checking against the captured timeline, and treating AI output as a starting point, not a conclusion. As incident.io's AI vendor evaluation guide puts it, if a vendor's AI executes remediation autonomously on day one, "that's not a feature. That's a risk you haven't priced in."

Layering different RCA approaches

No single RCA method covers every situation. Combining techniques lets each one compensate for the limits of the others.

Linking timelines to 5 Whys analysis

Use the auto-captured timeline as the factual basis for each "why" in a 5 Whys chain. The timeline prevents the chain from drifting into speculation. Each answer should reference a specific timeline event, not a responder's memory.

Visualizing cross-team RCA via fishbone

When an incident spans multiple teams, a fishbone diagram organizes causes by team or system. The timeline provides the raw events, the fishbone provides the structure. This combination produces a post-mortem artifact that stakeholders across teams can review and act on.

Documenting high-impact failures with fault trees

For high-impact or compliance-sensitive incidents, a fault tree documents the logical chain of failures, giving auditors and reviewers a clear chain of evidence. incident.io's ITSM automation guide covers how automated incident capture produces audit documentation as part of the response itself.

Choosing your RCA method

Match the method to the incident: a quick 5 Whys under P0 or P1 pressure, a fishbone for interacting causes, a fault tree when the record must stand up to review. Whichever you pick, start from the timeline captured during the incident, not from memory.

Favor reduced Mean Time To Resolution by 37% after adopting incident.io. According to Favor's team, spinning up an incident used to take 20-30 minutes of manual coordination. incident.io automated that setup, so troubleshooting starts sooner. That's time reclaimed for proactive reliability work instead of coordination overhead.

Book a demo of incident.io and see your first incident's timeline captured automatically in Slack.

Key terms glossary

Root cause: The underlying system or process failure that, once fixed, reduces the chance of recurrence. In distributed systems, multiple contributing factors often matter more than a single root cause.

Proximate cause: The immediate technical condition directly producing service disruption, such as connection pool exhaustion or thread pool starvation. The proximate cause is what happened. The root cause is why it happened.

Contributing factor: A condition that increased the likelihood or impact of an incident without directly causing it. Examples: missing load tests, unclear ownership, insufficient monitoring.

Blameless post-mortem: A post-incident review that focuses on process and system failures rather than individual blame.

MTTR: Mean Time To Resolution. The average time from incident detection to resolution. A key metric for tracking incident response improvement.

FAQs

Picture of Tom Wentworth
Tom Wentworth
Chief Marketing Officer
View more

See related articles

View all

So good, you’ll break things on purpose

Ready for modern incident management? Book a call with one of our experts today.

Signup image

We’d love to talk to you about

  • All-in-one incident management
  • Our unmatched speed of deployment
  • Why we’re loved by users and easily adopted
  • How we work for the whole organization