5whys について
5whysは、原因を繰り返し問い、実行可能な根本原因を特定するための構造化された分析スキルです。因果関係や是正措置、仮説の検証方法も整理します。
主な機能
- 01なぜを繰り返す分析
- 02実行可能な根本原因の特定
- 03分岐する原因の分析
- 04是正措置の計画
- 05根本原因仮説の検証
活用シーン
- 01繰り返すソフトウェアエラーの調査
- 02顧客離脱の原因分析
- 03問題の背景にある業務プロセスの欠落特定
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ neurofoo/ agent-skills --skill 5whysインストール後、Claude Code で/5whysを入力して読み込まれたか確認します。
詳細
5つのなぜ分析
「なぜ」を繰り返し問い、根本原因にたどり着くまで反復的に根本原因分析を行います。
手順
明示された問題から始め、なぜそれが起きたのかを問いかけます。回答ごとに、さらに「なぜ」と問いかけます。次の条件を満たす根本原因にたどり着くまで続けます。
- 対応可能である(何らかの対策を講じられる)
- 根本的である(さらに「なぜ」と問うと、抽象的または役に立たない回答になる)
- 因果関係の連鎖を説明できる
通常は5回の反復でたどり着きますが、それより少ない場合も多い場合もあります。
出力形式
問題の説明 問題を明確かつ具体的に言い換えます。
「なぜ」の連鎖
| レベル | 質問 | 回答 |
|---|---|---|
| 1 | なぜ[問題]が起きたのですか? | [回答1] |
| 2 | なぜ[回答1]が起きたのですか? | [回答2] |
| 3 | なぜ[回答2]が起きたのですか? | [回答3] |
| 4 | なぜ[回答3]が起きたのですか? | [回答4] |
| 5 | なぜ[回答4]が起きたのですか? | [根本原因] |
根本原因 特定された根本的な問題です。これが単なる別の症状ではなく根本原因である理由を説明します。
分岐(該当する場合) いずれかのレベルで複数の妥当な回答がある場合は、分岐分析を示します。
是正措置
- 即時:症状に対処するために今すぐ行うこと
- 体系的:再発を防ぐために変更すること
検証 根本原因が正しいとどのように確認しますか?(仮説を検証します)
ガイドライン
- それぞれの回答は事実に基づき、検証可能なものにしてください
- 非難を避け(「John が X をしなかった」など)、システムやプロセスに焦点を当ててください
- 推測している場合は、検証が必要な仮説であることを明記してください
- 循環論法に注意してください
- 妥当な原因が複数ある場合は、分岐してかまいません
- さらに「なぜ」と問うことが哲学的、または役に立たなくなったら、そこで止めてください
例
ソフトウェアのバグ
問題:ユーザーにチェックアウトページで500エラーが表示されています
| レベル | 質問 | 回答 |
|---|---|---|
| 1 | なぜユーザーに500エラーが表示されるのですか? | 決済サービスがタイムアウトしています |
| 2 | なぜ決済サービスがタイムアウトしているのですか? | データベースクエリに30秒を超える時間がかかっています |
| 3 | なぜデータベースクエリが遅いのですか? | orders テーブルに5,000万行あり、customer_id にインデックスがありません |
| 4 | なぜインデックスがないのですか? | このテーブルは、このクエリパターンが必要になる前に作成されたからです |
| 5 | なぜクエリの追加時にインデックスが追加されなかったのですか? | 新しいクエリに対するデータベースレビューのプロセスがないからです |
根本原因:新しいクエリパターンを追加する際のデータベースレビューのプロセスがありません。
是正措置:
- 即時:customer_id にインデックスを追加する
- 体系的:PR テンプレートにデータベースレビューのチェックリストを追加する
顧客離れ
問題:エンタープライズ顧客が6か月後に契約を解約しました
| レベル | 質問 | 回答 |
|---|---|---|
| 1 | なぜ顧客は解約したのですか? | 製品から価値を得られなかったと述べています |
| 2 | なぜ価値を得られなかったのですか? | 機能の利用率が12%にとどまっていました |
| 3 | なぜ利用率がそれほど低かったのですか? | ユーザーが主要なワークフローについてトレーニングを受けていませんでした |
| 4 | なぜユーザーはトレーニングを受けていなかったのですか? | オンボーディングが技術的なセットアップ後に終了していました |
| 5 | なぜオンボーディングはセットアップの段階で終了するのですか? | カスタマーサクセスチームの人員が不足しており、新規販売が優先されているからです |
根本原因:カスタマーサクセスチームの対応能力が不足しているため、オンボーディングを早期に終了せざるを得ません。
是正措置:
- 即時:解約リスクのあるアカウントに連絡し、トレーニングを提供する
- 体系的:カスタマーサクセスの人員を増やし、利用定着のマイルストーンを含めるようオンボーディングを再定義する
$ARGUMENTS
コメント
Markdown 対応