methodatlas
RunsheetOperations

Family Tree Analysis

ComplexityMedium
Time2-4 h
Participants2-6
FormatWorkshop + async
MaturityEmerging
01

Prerequisite

What needs to be finished first

A timeline of the target incident and at least two similarly suspicious prior incidents exist, with date, location, participants, impact, and suspected causes.

Without: Without ancestral incidents, no family tree emerges; the method only yields a trivial single-case view with no added value beyond 5 Whys.
02

Preparation

What needs to be ready before start

Materials

Whiteboard or diagram tool (draw.io, Miro, FigJam) with family tree layout (target incident at bottom, ancestors above); incident database extract or postmortem archive; comparison table with columns for incident, date, factors, recurrence indicator; pattern tags.

People / roles

One analyst with RCA experience (lead); one to two participants from target incident; one owner familiar with previous postmortems; optionally a systems reviewer from adjacent area.

Pre-read

Target incident description; list of suspected similar incidents from the last 3-24 months; postmortem archive or incident tracker; common tags or categories.

Time needed

2-4 h

Setup

Target incident as root node at bottom. Empty parent rows above. Prepare pattern tags (e.g., deploy-window, cron-conflict, dependency-drift). Keep comparison table on second sheet.

03

Core question

The one question this method answers

Which earlier or parallel incidents form a family with the target incident, and what systemic patterns become visible through that relationship?

04

Flow

Marker: Phase

StepDurationActionHint
1Phase 1: Target incident as anchor
20-30 minSet target incident as root: symptom, trigger, contributing factors, affected components. Add tags (for example, payment, retry-loop, deploy-window). Limit to maximum 5 characteristic factors.If target incident cannot be compressed into five factors, it is a multi-event incident and should be split into multiple trees.
2Phase 2: Search parent generation
30-45 minSearch incident archive for incidents with overlapping tags. For each candidate check common factors, time distance, owner, component. Require at least 2-factor overlap as parent criterion.Including all similar incidents as parents dilutes the picture. Keep entry criteria strict: at least two overlapping factors; otherwise classify as sibling or cousin.
3Phase 3: Add ancestor generations
30-45 minFind parents for each identified parent. Limit to three generations, otherwise tree becomes unreadable. Mark cross-generational connections as dashed lines.If connections are still found in third generation, this often indicates a systemic cause reproducing for years. That is the most valuable finding.
4Phase 4: Name patterns
30-45 minMark recurring cross-generational factors (e.g., always Friday deploys, always Service X, same on-call handover). For each pattern, name a cause and reach (how many incidents).Patterns are not correlations. For each pattern, explain mechanism. Without mechanism, pattern is only statistics.
5Phase 5: Systemic actions
30-45 minFor each pattern, define systemic action. Not incident-specific, but for entire pattern. Assign owner with mandate beyond a single service. Success metric: pattern no longer appears in future trees.Actions at single-service level treat symptoms. If the pattern is "Friday deploys," a freeze on that day addresses the family.
05

Artifact

What comes out at the end

Form

Family tree diagram (3 generations) plus comparison table with factors matrix, identified patterns with mechanism and reach, systemic actions with owner and deadline. Complements classic postmortems.

Versioning / ownership

Date and target incident in header. For later similar incidents, add new root with link to existing tree, or extend existing tree. Keep pattern list as a living document.

Tool alternatives
  • Miro or FigJam with family tree frame
  • draw.io or Lucidchart with hierarchy layout
  • Notion database with parent relationship
  • Causelink or TapRoot for integrated multi-incident analysis

family-tree-analysis-working-template.md

Compact working template for Family Tree Analysis with context, input, output artifacts, and next step.

Family Tree Analysis Canvas

Context

What is this method used for?

Core question

Which question should be answered at the end?

Input

Which data, observations, or materials are available?

Working area

  • Area 1:
  • Area 2:
  • Area 3:
  • Relationships / patterns:

Output artifacts

  • Family tree diagram:
  • Pattern notes:
  • Systemic actions:

Open questions

  • ...

Next step

Owner, date, success signal.

06

Example output

Concrete filled scenario, fictional example

family-tree-analysis-beispiel.md

Concrete filled scenario, fictional example

Family Tree — Checkout 500 Error Wave 14.05.2026 (Analysis 18.05.2026)

Root (target incident): 14.05. 09:12 UTC, 8% Order API HTTP 500, connection pool saturated by a new batch job. Tags: connection-pool, batch-job, friday-deploy.

Parents (generation 1):

  • 22.02.2026, Payment API latency, batch job without pool quota. Tags: connection-pool, batch-job, monday-deploy.
  • 03.11.2025, Checkout timeout, new reporting job without quota. Tags: connection-pool, batch-job, friday-deploy.

Grandparents (generation 2):

  • 17.05.2024, Order DB CPU 100%, migration done without off-peak window. Tags: batch-job, no-window.

Patterns:

  1. "Batch job without quota shares online pool" (3 incidents in 15 months). Mechanism: no code-review checklist for batch workloads.
  2. "Friday deploys with side effects" (2 incidents). Mechanism: no deploy freeze after Friday 14:00.

Systemic actions:

  1. CODEOWNERS checklist for batch jobs (own pool or documented workaround). Owner @ben, due 2026-05-28.
  2. Deploy freeze Friday 14:00 to Monday 08:00 for order domain. Owner @lisa, RFC due 2026-05-30.
  3. Pool saturation alert at 80%, 5-minute trigger. Owner @anna, by 2026-06-10.
07

Pitfalls

Recognize symptoms and steer against them

Trap

Loose family criteria

Symptom

Tree includes 15 incidents over 2 years, common factors are generic (all in production).

What to do

Use at least two overlapping factors as parent criterion. Generic tags such as production or live do not count. Better a smaller but specific tree.

Trap

Patterns without mechanism

Symptom

A pattern is named, but no one explains why that factor repeats.

What to do

For every pattern, require mechanism: why does this factor reproduce? Without mechanism, pattern is only repetition.

Trap

Action at incident level only

Symptom

Recommendations address only the target incident, pattern persists.

What to do

Actions must affect the whole pattern, not just one instance. Success criterion: pattern does not recur in next 12 months.

Trap

Too many generations

Symptom

Tree has 6+ generations; no one can interpret it.

What to do

Limit to maximum 3 generations. Older predecessors belong in appendix or separate tree analysis. Visualization should stay interpretable.

Trap

Incomplete archive

Symptom

Postmortem data only goes 6 months back; older incidents unavailable.

What to do

Document limitation. Work with available depth, but add recommendation to establish postmortem archive.

08

Stop criteria

Done signals checkable in under a minute

Fewer than two comparable prior incidents found, no family identified.
Target incident is demonstrably unique with one-off conditions.
No incident archive or postmortem pool, family tree would only capture memory.
Systemic actions are outside investigation mandate, making findings non-actionable.
Available time under 90 min, phases 2-4 cannot run consecutively.
Pattern hypothesis is trivial and already known, tree becomes proof delivery without new leverage.

Finished the runsheet?

Go to the profile for purpose, similar methods, and sources or continue to the next method in the catalog.