methodatlas
RunsheetOperations

Fishbone Diagram

ComplexityLow
Time30-60 min
Participants2-8
FormatWorkshop
MaturityCanonical
01

Prerequisite

What needs to be finished first

Complete firstProblem definitionnot in catalog

The problem is formulated as an observable symptom with date, frequency, and impact in one sentence.

Without: Without a clear symptom, the group analyzes hypothesized causes with unknown effects and produces diagrams without a reference point.
Complete first5 Whys

For tightly bounded symptoms with a clear causal chain, check whether 5 Whys is sufficient and whether Fishbone adds value through broader categorization.

Without: Without this check, Fishbone is used for linear causes, creating method overhead without extra insight.
02

Preparation

What needs to be ready before start

Materials

Whiteboard or Miro board with a pre-drawn Fishbone (head on the right, spine horizontal, 4-6 ribs); stickies; markers; timer; link to logs, tickets, or data that can support causes.

People / roles

One facilitator, who separates categories from severity judgment; two to eight participants with direct process involvement (Operations, Engineering, Quality, Support); one scribe for clean transcription.

Pre-read

Problem sentence with time, frequency, and impact; known prior hypotheses; access to data (logs, KPIs, incident reports); list of people who worked close to the problem in the last four weeks.

Time needed

30-60 min

Setup

Write problem in Fishbone head. Choose categories (classically 6Ms: Methods, Machines, Materials, Manpower, Measurement, Milieu; alternatively 4Ps for services). Set timer for first collection phase.

03

Core question

The one question this method answers

Which possible causes across all relevant categories deserve data-driven deep validation as the next action?

04

Flow

Marker: Phase

StepDurationActionHint
1Phase 1: Clarify the problem
5 minRead and test the problem sentence, checking whether it is an observable symptom with time and impact. If not, rewrite it."Performance is poor" is not a symptom. "P95 API latency on /orders > 800 ms since 2026-05-10" is. Without a symptom there is no Fishbone.
2Phase 2: Choose categories
5 minDefine 4-6 categories as ribs. Use classic 6Ms for production, 4Ps (People, Process, Policy, Place) for services, or custom categories for context.More than six categories overloads participants. If a category stays empty, it is likely irrelevant for this problem and should be removed.
3Phase 3: Collect causes
20-30 minCollect causes for each category for 5 minutes each, then share in sequence. Add causes as stickies on each rib. For each main cause, add 2-3 sub-causes (Why).If all causes land in one category, the group is one-sided or has a preformed model. Explicitly probe other categories.
4Phase 4: Prioritize
10 minMark causes by (a) likelihood and (b) data availability for verification. Label top 3-5 causes with owner and investigation method.Prioritize by likelihood, not favorite hypothesis. If no data is available, treat the cause as an investigation task, not an action.
5Phase 5: Follow-up
5-10 minCreate investigation backlog: one concrete check action (log query, experiment, interview) per top cause with due date. Store the clean diagram as artifact.A Fishbone without investigation backlog stays a nice sketch. At least three investigation actions with dates are required for diagnostic value.
05

Artifact

What comes out at the end

Form

Refined Fishbone diagram with problem statement in the head, labeled ribs per category, all causes and sub-causes collected, top 3-5 highlighted, and separate investigation backlog with owner, method, and due date.

Versioning / ownership

One entry per investigation case with date and problem ID. Follow-up sessions after data checks should create Version 2, adding new findings and marking disproven causes instead of deleting them.

Tool alternatives
  • Miro or FigJam with a Fishbone template
  • Lucidchart or draw.io for persistent diagrams
  • Whiteboard photo plus Markdown table with categories and causes
  • Notion or Confluence page in the incident space

fishbone-diagram-working-template.md

Compact working template for Fishbone Diagram with problem, cause categories, evidence, and next investigation.

Fishbone Diagram Working Template

Goal

Surface possible cause categories and likely root causes for a problem.

Context

When and for what do we use this method?

Input

Which data, observations, decisions, or materials are available?

Working area

  • Problem statement:
  • Cause categories:
  • Possible causes:
  • Evidence:
  • Likely causes:

Output artifacts

  • Fishbone diagram:
  • Cause list:
  • Investigation backlog:

Open questions

  • ...

Next step

Owner, date, and success signal.

06

Example output

Concrete filled scenario, fictional example

fishbone-diagram-beispiel.md

Concrete filled scenario, fictional example

Fishbone — P95 latency on /orders > 800 ms since 2026-05-10

Problem: Since 2026-05-10, P95 latency on /orders has been continuously above 800 ms (before 220 ms), with 4% additional checkout abandonment as impact.

Categories (adapted 6Ms):

  • Methods: ORM update changed query plan; missing index usage.
  • Machines: DB instance still on t3.large instead of t3.xlarge.
  • Materials (Data): Orders table grew to 14M rows since Black Friday.
  • Manpower: New developer deployed query refactor on 2026-05-09.
  • Measurement: Slow-query log was turned off for 6 weeks.
  • Milieu: AWS region eu-central-1 had elevated network latency on 2026-05-10 (temporary spike from status page).

Top 3 causes (prioritized):

  1. Query refactor on 2026-05-09 (Methods) — test: Git blame + EXPLAIN ANALYZE. Owner: @ben, by 2026-05-19.
  2. Missing index usage on orders.customer_id (Methods/Data) — test: pg_stat_user_indexes. Owner: @anna, by 2026-05-19.
  3. Table growth without partitioning (Data) — test: size analysis + partitioning plan. Owner: @lisa, by 2026-05-26.
07

Pitfalls

Recognize symptoms and steer against them

Trap

Problem statement too vague

Symptom

Fishbone head says "App is slow" or "customers are dissatisfied" without time, frequency, or metric.

What to do

Pause and restate symptom with date, frequency, and measurable impact. Without a symptom, you get cause speculation instead of analysis.

Trap

Cause and solution mixed

Symptom

Stickies contain actions ("add index") rather than causes ("missing index on customer_id").

What to do

Separate cause and intervention. Place cause on the rib and solution in a separate list. Fishbone analyzes why, not how.

Trap

Category theater

Symptom

The group forces causes into incompatible categories to fill all ribs.

What to do

Empty ribs are allowed and can indicate relevant categories. Wrongly assigning entries distorts prioritization. Categories are support, not quotas.

Trap

Prioritization by volume

Symptom

Top cause is the one defended with the loudest voice rather than most likely.

What to do

Use silent dot voting by likelihood first. Use data availability as a second criterion. Vote on both separately, then combine.

Trap

No data validation

Symptom

Workshop ends with top 3 causes but no one verifies them with logs or experiments; the diagram goes to archive.

What to do

Investigation backlog is mandatory. For every top cause, define a concrete check with owner and date. Document review one to two weeks later.

08

Stop criteria

Done signals checkable in under a minute

Problem is not reproducible or is a one-off event; causal analysis has no leverage.
The symptom is acute and critical, so incident response and hotfix take priority over structured analysis.
Causal chain is clearly linear, in which case 5 Whys is faster and sufficient.
No person with direct process access is present, causes are based on hearsay.
No possibility to validate hypotheses with data, analysis is not falsifiable.
More than three clearly separate problem classes are present; one Fishbone becomes unreadable. Create one Fishbone per class.

Finished the runsheet?

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