On this page (10 sections)
A fishbone retrospective lays out every possible cause of one problem, sorted into categories, before anyone decides which cause is real. The problem is the fish's head and the causes are its bones. Retro Rabbit's board has five bones: People, Process, Tools, Environment and Measurement. Use it when a problem has too many suspects for one line of questioning.
The five columns
| Column | What goes here | Example note |
|---|---|---|
| ๐ฅ People | Skills, staffing, handoffs, who knows what (never who's to blame) | "Only one person knows how the CI runners are set up." |
| โ๏ธ Process | How the work flows: steps, rules, reviews, habits | "We rerun failed builds instead of filing a ticket." |
| ๐งฐ Tools | Code, infrastructure, libraries and test suites | "End-to-end tests still use fixed five-second sleeps." |
| ๐ Environment | Conditions around the team: shared systems, other teams, deadlines | "Staging is shared with two other teams' test runs." |
| ๐ Measurement | How you detect and measure: metrics, alerts, dashboards | "The CI dashboard counts a passing rerun as a pass." |
How the board maps to the classic diagram. On paper, the problem is the head and each category is a bone, with smaller bones for sub-causes. Manufacturing versions often use six Ms: manpower, methods, machines, materials, measurement and mother nature. The board fits them into five columns: People is manpower, Process is methods, Tools covers machines and materials, Environment is mother nature, and Measurement stays. The head becomes the retro's name, and sub-causes become groups of notes within a column.
Where it comes from. The Japanese quality engineer Kaoru Ishikawa invented the cause-and-effect diagram, which is why it's also called the Ishikawa diagram (JUSE, the Union of Japanese Scientists and Engineers). He taught it as one of the basic quality tools in his Guide to Quality Control, which the Asian Productivity Organization published in English in the 1970s. The fishbone name comes from its shape.
In Retro Rabbit
The Fishbone template in Retro Rabbit
Pick Fishbone from the format library when you create a Team Room (or later in its Settings) and the board starts with its five columns. Your team adds notes during the sprint, with or without their name shown, then votes on what to talk about.
Fishbone ยท Sprint #14
Example notes
People
- Only Lena knows how the CI runners are set up2 votes
- New joiners can't tell which tests are known to be flaky4 votes
Process
- We rerun failed builds instead of filing a ticket5 votes
- Nobody is on point for CI health during a sprint3 votes
Tools
- E2E suite still uses fixed 5-second sleeps3 votes
- All runners share one Docker cache and the disk fills up2 votes
Environment
- Staging API is shared with two other teams' test runs1 vote
- Payment sandbox rate-limits us during US business hours1 vote
Measurement
- The CI dashboard counts a passing rerun as a pass4 votes
- We track pass/fail per build, not flake rate per test5 votes
- People
- Process
- Tools
- Environment
- Measurement
14-day free trial ยท No credit card
When to use it (and when not to)
Use it when:
- a problem has many suspects and people argue for their favorite: flaky builds, a slow page, missed sprint goals
- the same problem came back after a 5 Whys fixed one cause
- you want quieter people's theories on the board before the loudest one wins
Pick something else when:
- the cause is fairly clear and you need to go deep, not wide. Use 5 Whys.
- it was one outage with a timeline. Start with an incident review.
- the problem is a feeling, like "morale is low". A fishbone needs a head you can measure. Try Mad Sad Glad.
How to run it live (45 minutes)
| Time | Step |
|---|---|
| 0โ5 min | Review last retro's action items and read the problem |
| 5โ17 min | Silent writing in all five columns |
| 17โ24 min | Group sub-causes within each column |
| 24โ28 min | Dot vote on the likeliest causes |
| 28โ40 min | Discuss the top causes and the evidence |
| 40โ45 min | Agree on checks and fixes, with owners |
- Carry-over, then the head. Check Previous Retro and Old / Unresolved Items in the Action Items panel. Then read the problem out loud. It should be measurable: "Main build fails about one run in four since September," not "CI is bad."
- Write silently, one cause per note. Set the shared timer for 12 minutes and ask everyone to consider every column.
- Group within columns. Drag notes that describe the same cause onto each other. Each group is a sub-bone.
- Vote for likeliest, not loudest. Dot voting, three votes each, then sort by Most Votes.
- Ask for evidence. For each of the top three: do we know this, or suspect it? Most fishbone causes are hypotheses. A suspected cause gets a check first; a confirmed one gets a fix.
How to run it async over a sprint
Fishbone suits async, because causes occur to people at odd moments: during a rerun, in code review, on call.
- Day 1: start the retro with Fishbone (Try a different format in Start New Retro) and post the baseline in Measurement: "Main build failure rate: 24% over the last 30 days."
- During the sprint: whoever hits the problem adds a possible cause, with a link or log line if they have one, on the board or through Quick Notes.
- Mid-sprint: the facilitator asks one person per empty column for a note. Environment and Measurement are the usual gaps.
- Two days before the end: everyone votes. The facilitator groups duplicates and reads the CarrotIQ summary of each column.
- Retro day: a 20-minute call on the top three causes and their checks. Or post the top three with a proposed check each, and let owners accept in writing.
See how to run an async retrospective.
10 example prompts
People
- Who is the only person who knows how this works?
- Did anyone new or overloaded work in this area recently?
Process 3. Which step do we skip when we're in a hurry? 4. What do we do when this problem happens, and does that make it worse?
Tools 5. Which part of the code or infrastructure is oldest or least tested? 6. What changed in our dependencies just before this started?
Environment 7. What do we share with other teams that could interfere? 8. Does it follow a pattern in time: end of day, release week, one time zone?
Measurement 9. Could our numbers be hiding or exaggerating the problem? 10. What would we need to measure to prove a cause?
For more, see 60 sprint retrospective questions.
Facilitator tip and a common pitfall
Tip: put each note where its fix would live. "Nobody owns CI health" could be People or Process. If the fix is naming an owner, it's Process. It also stops one cause appearing in three columns.
Pitfall: treating votes as proof. Voting tells you which causes the team believes, not which are true. Teams that fix the top-voted cause straight away often find the problem still there a sprint later. Make the first action item a check that confirms or rules out the cause.
How AI helps with this format
On Pro AI (and during the free trial), CarrotIQ handles the admin around the board:
- Group names. Drag "fixed sleeps in E2E" onto "tests depend on timing" and CarrotIQ names the sub-bone, for example "Timing-Dependent Tests".
- Summaries. The Sprint Summary covers each column, a quick way to see which bone carries the most weight, plus the whole retro.
- Suggested action items. CarrotIQ Suggest drafts an action weighted by the most-voted causes. If a cause isn't confirmed, edit the draft into a check.
Example action items
| Note | Action item |
|---|---|
| Measurement: "Dashboard counts reruns as passes" | "Leo switches the CI dashboard to first-run pass rate by Wednesday. Check: next retro starts with the real number." |
| Tools: "E2E tests use fixed sleeps" | "Hana replaces sleeps with explicit waits in the five flakiest tests and compares their failure rate after a week." |
| People: "Only one person knows the CI runners" | "Omar rebuilds one runner from the docs with Lena watching, and fixes the docs wherever they fall short." |
| Environment: "Staging shared with two teams" | "Ravi asks the platform team for our own staging namespace and reports back at the next retro." |
| Process: "We rerun instead of filing a ticket" | "From Monday, a test that fails twice gets a ticket tagged flaky. Sofia counts them after two sprints." |
At the next retro, compare the failure rate with the number in the head. See retrospective action items that actually get done.
Use this template in Retro Rabbit
- Start a 14-day free trial. No card is needed.
- For one retro, click Try a different format in Start New Retro and pick Fishbone: it applies to that retro only, and your Team Room keeps its usual columns. To make it the room's format, choose it under "Browse all formats" when you create your Team Room, or later in the Team Room's Settings.
- In the same dialog, type the problem as the retro's name, then post today's number in Measurement so you can see later whether it moved.
Want other bones, such as Policies or Customers? With Fishbone as the room's format, rename the columns in the Team Room's Settings. See pricing for plans.
Related formats
- 5 Whys: dig deep into the cause the vote picked
- Incident Review: when the problem is one outage with a timeline
- Project Post-Mortem: a whole project, root causes included
- Kanban retrospective: when the problem is flow: waiting, WIP and blocked work
- More formats in Incidents and postmortems
- All retrospective templates
Frequently asked questions
What is a fishbone retrospective?
A retrospective built on the fishbone (Ishikawa) diagram. The team names one problem, lists possible causes under categories such as people, process and tools, then votes on the likeliest. It goes wide across causes before anyone picks one.
Why is it called a fishbone or Ishikawa diagram?
Kaoru Ishikawa, a Japanese quality engineer, invented it. Drawn on paper, the problem sits at the head, a spine runs to it, and the cause categories branch off like bones, so it looks like a fish skeleton.
What categories should a fishbone diagram use?
Manufacturing versions often use six Ms: manpower, methods, machines, materials, measurement and mother nature. Retro Rabbit's board uses People, Process, Tools, Environment and Measurement, which fit software work. With Fishbone as the Team Room's format, you can rename the columns in Settings.
How is a fishbone diagram different from 5 Whys?
A fishbone goes wide: it collects many possible causes across categories. 5 Whys goes deep on one chain of cause and effect. Many teams use a fishbone to find the likeliest cause, then 5 Whys to dig into it.
How do you find the root cause on a fishbone diagram?
Vote on the likeliest causes, then check the top ones with data before you fix anything. The diagram lists suspects; it doesn't prove which one did it.
What problems suit a fishbone retrospective?
Problems with many possible causes and a number you can track: flaky builds, a slow page, rising support tickets, sprint goals missed several times in a row. Vague problems like 'morale is low' don't work well, because there's no clear head to draw causes toward.
Run this retro in Retro Rabbit
Your team adds notes during the sprint, CarrotIQ groups and summarizes them and suggests action items, and unfinished items carry into the next retro.
14-day free trial ยท No credit card