5 Whys 根本原因分析
概要
5 Whys 根本原因分析は、問題ステートメントから始め、順に「なぜ?」を5回問う体系的な問題解決手法です。各回答が次の質問の対象となります。目的は、症状を超えて、実際に修正できるプロセスやシステムの不具合という根本原因を明らかにすることです。
利用対象
製品およびエンジニアリングチーム
運用および DevOps チーム
カスタマーサポートおよびサービスチーム
プロジェクトマネージャー
品質保証チーム
再発する課題やインシデントを調査する人
使用方法
明確な Problem Statement を記入する — 何が起きたか、いつ起きたか、影響は何か。
「なぜこれが起きたのか?」と尋ねる、そして回答(Answer 1)を記録する。
「なぜ Answer 1 が起きたのか?」と尋ねる、そして回答(Answer 2)を記録する。
Answer 3、4、5 についても繰り返す。
プロセスやシステムの変更で対処できる原因に到達したら止める — これが Root Cause です。
Define Corrective Actions: 各アクションに所有者と期限を割り当てる。
ヒント:良い根本原因は個人ではなくプロセスやシステムを指します。回答が人名の場合は、もう一度「なぜ?」と問いかけてください。
例
Problem Statement: チェックアウトページは8月12日に3時間ダウンしました — 受注が約$18,000失われ、サポートチケットが40件以上発生しました。 (8月13日にプラットフォームチームが調査しました。)
Why 1: 決済サーバーがメモリ不足でクラッシュした。
Why 2: 決済サービスにメモリリークがある。
Why 3: 8 Aug リリースが古いデータベース接続を閉じていない。
Why 4: そのリリースは本番稼働前にロードテストが実施されていなかった。
Why 5: リリースチェックリストに性能テストの工程が含まれていない。
Root Cause: リリースプロセスに必須のロード/パフォーマンステスト工程がない。
Corrective Actions:
CI パイプラインに自動化されたロードテストを追加する(DevOps リード、30 Aug)
メモリ使用量が 80% に達したらアラートを設定する(SRE チーム、22 Aug)
リリースチェックリストを更新し、チームをトレーニングする(Eng マネージャー、20 Aug)
乾杯!
Khawaja Rizwan