root-cause-analysis について
ソフトウェア、ハードウェア、プロセス、個人の問題を体系的に調査する根本原因分析スキルです。問題の種類と複雑さに応じて、5 Whys、フィッシュボーン、パレート、フォルトツリーなどを選びます。
主な機能
- 01問題領域と複雑さの分類
- 02分析手法の選択
- 03証拠に基づく調査のガイド
- 04順方向・逆方向テストによる検証
- 05テンプレートと分析例の活用
活用シーン
- 01ソフトウェア障害の調査
- 02設備やプロセスの不具合分析
- 03複数の問題の優先順位付け
- 04検証済みの原因に基づく解決策の立案
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ markpitt/ claude-skills --skill root-cause-analysisインストール後、Claude Code で/root-cause-analysisを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
resources/advanced-techniques.mdcommon-root-causes.mdexample-analyses.mdrca-methodologies.mdtemplates/software-debugging-rca.md詳細
根本原因分析のオーケストレーションスキル
このスキルでは、トヨタ生産方式やその他の業界標準の手法を用いて、あらゆる問題の根本原因を体系的に特定できます。
クイックリファレンス:読み込むリソースの選び方
| 問題の種類 | 読み込むリソース | 理由 |
|---|---|---|
| なぜなぜ分析、フィッシュボーン分析、パレート分析、故障の木解析の手法を理解したい | resources/rca-methodologies.md | 各手法を、例を使って手順ごとに学べます |
| 自分の分野でよくある根本原因を探している | resources/common-root-causes.md | ソフトウェア、ハードウェア、プロセス、個人の既知の原因とパターンを照合できます |
| 完成した分析例を見たい | resources/example-analyses.md | ソフトウェアのバグ、車両のメンテナンス、システム障害、個人的な問題の実例を学べます |
| 上級:バリア分析や複雑な原因マッピングが必要 | resources/advanced-techniques.md | 故障の木解析、バリア分析、複数手法を組み合わせた連鎖などの正式な手法を学べます |
基本原則
症状に対処するのではなく、根本原因を見つけて解決してください。 トヨタ生産方式の創始者である大野耐一は、次のように述べています。「なぜを5回繰り返すことで、問題の本質と解決策が明らかになる。」
オーケストレーション手順
フェーズ1:問題の分類
問題の分野と複雑さをすばやく特定します。
問題の分野:
- ソフトウェア:コードのバグ、システム障害、パフォーマンス、デプロイ
- ハードウェア:設備、機械、電気、メンテナンス
- プロセス:ワークフロー、手順、組織、コミュニケーション
- 個人:人生の課題、生産性、習慣、ウェルビーイング
複雑さのレベル:
- 単純:明確な故障の連鎖があり、原因候補が1~2個 → なぜなぜ分析を使用
- 複雑:原因候補が複数あり、範囲が不明 → フィッシュボーン分析から始める
- 重大/安全性:影響が大きく、厳密な分析が必要 → 故障の木解析を使用
- 複数の問題:競合する問題が多数ある → まずパレート分析を使用
実行内容: 分類に基づいて適切なリソースファイルを読み込みます。
フェーズ2:手法の選択
問題の種類に応じて、分析方法を選択します。
| 状況 | 推奨手法 | 読み込むリソース |
|---|---|---|
| 単一の明確な故障 | なぜなぜ分析 | methodologies.md |
| 複雑/可能性が複数ある | フィッシュボーン分析 → なぜなぜ分析 | methodologies.md |
| 優先順位が競合する | パレート分析 → なぜなぜ分析 | methodologies.md |
| 安全性/重大な影響 | 故障の木解析 | advanced-techniques.md |
| プロセスの破綻 | バリア分析 | advanced-techniques.md |
| パターン照合 | よくある原因 + なぜなぜ分析 | common-root-causes.md |
フェーズ3:実行と検証
分析中:
- 問題を明確に定義します(何が/どこで/いつ/影響)
- 証拠を体系的に収集します
- 選択した手法を適用します
- 各段階の推論を記録します
- 順方向/逆方向テストで根本原因を検証します
最終決定の前に:
- 結論を証拠と照合して検証します
- 危険信号がないか確認します(common-root-causes.mdを参照)
- 対処可能か確認します(解決できる問題ですか?)
- 根本原因に対処する解決策を立案します
問題定義のフレームワーク
分析の前に、明確な問題記述を作成します。
必須要素:
- 何が: 観察可能な症状(想定される原因ではありません)
- どこで: 影響を受ける場所/システム/コンポーネント
- いつ: 発生時期、頻度、パターン
- 影響: 影響を受けるユーザー/システム、深刻度
例: 「EU 地域のユーザーは、UTC のピーク時間帯である午前9時から午前11時に、ダッシュボードの読み込みに3~5秒かかっています。1日あたり約2,000人のアクティブユーザーに影響しています。11月18日の v2.4 のデプロイ後に発生し始めました。」
証拠の収集(現地現物)
トヨタの原則に従い、意見ではなく事実を集めます。
主な証拠の情報源:
- ログ、メトリクス、監視データ
- イベントや変更のタイムライン
- 問題発生前のシステム/コード/設定の変更
- 環境要因(負荷、トラフィック、季節)
- ユーザーからの報告と再現手順
- 発生前/発生中/発生後のシステム状態
RCA 手法
手法の完全なガイドについては、resources/rca-methodologies.mdを参照してください。
リソースファイルの概要
resources/rca-methodologies.md
包括的な方法論ガイド:
- 5 Whys:ソフトウェアの例を用いた段階的なプロセス
- Fishbone Diagram:構造、6 M のカテゴリ、プロセス
- Pareto Analysis:80/20 の法則を用いた優先順位付け
- Fault Tree Analysis:トップダウンによる形式的な分析
- Barrier Analysis:制御の失敗の検証
- RCA の構造化された6段階プロセス、ドメイン固有のガイダンス、テンプレート
resources/common-root-causes.md
ドメイン別のパターンをまとめたリファレンスカタログ:
- Software Engineering:コードの欠陥、構成、依存関係、デプロイ
- Hardware & Equipment:機械、電気、運用、保守
- Process & Operations:ワークフロー、設計、リソース
- Personal/Life:健康、習慣、環境、スキル
- 危険信号、繰り返し現れるテーマ、パターン認識
resources/example-analyses.md
詳細な分析を含む4つの実例:
- Software Bug:JWT 認証(5 Whys)
- Vehicle Maintenance:オーバーヒート(5 Whys)
- System Failure:E コマースのチェックアウト(Fishbone + 5 Whys)
- Personal Productivity:締め切りの遅延(Fishbone + 5 Whys)
resources/advanced-techniques.md
複雑な問題に対する形式的な手法:
- Fault Tree Analysis:ブール論理、安全システム
- Barrier Analysis:制御の失敗
- Multi-Methodology Chains:複雑なオーケストレーション
- Verification Frameworks:包括的なテスト
このスキルの仕組み
- 状況を明確にする:ドメイン、観察事項、証拠、時間
- アプローチを提案する:複雑さの分析、方法論、リソース
- 分析を案内する:問題の記述、証拠、方法論、検証
- 成果を提示する:分析、根本原因、解決策、実装
クイックスタート:5分で行う RCA
- 問題を説明する(何/どこ/いつ/影響)
- 1つ目の Why:事実に基づいて回答する
- 2つ目の Why:さらに掘り下げる
- 3つ目の Why:さらに掘り下げる
- 検証する:これを修正すれば再発を防げるか?
テンプレートと例
resources/rca-methodologies.mdの 5 Whys Templateresources/rca-methodologies.mdの Fishbone Templateresources/example-analyses.mdの Worked Examplesresources/example-analyses.mdの Solution Structures
次のステップ
- 問題のドメインを特定する(ソフトウェア/ハードウェア/プロセス/個人)
- 上の表から適切なリソースを読み込む
- 複雑さに基づいて方法論を選ぶ
- リソース内の段階的なプロセスに従う
- 根本原因を検証する(前向き/後ろ向きテスト)
- 実行可能な解決策を立案する
覚えておいてください:目標は体系的な調査です。実際に修正できる原因にたどり着くまで、規律を持って問い続けます。