ストーリー
田
田中VPoE
ブレイムレスカルチャーの核となるプラクティスが「ポストモーテム」だ。直訳すると「検死」だが、インシデントの死因を解剖する、という意味でこの名前が使われている
田
田中VPoE
根本的に違う。障害報告書は「誰が何をした」を記録するもの。ポストモーテムは「なぜそれが起きたのか」「何を学んだのか」「どう仕組みを変えるのか」を組織全体で共有するものだ
あなた
「報告書」ではなく「学習文書」ということですね
あ
田
田中VPoE
まさにそうだ。Googleでは年間数千件のポストモーテムが書かれ、全社員が閲覧できる。この「学びのアーカイブ」が組織の知恵になる。今日はポストモーテムの書き方と運営方法を実践的に学ぼう
ポストモーテムの基本構造
テンプレート
| セクション | 内容 | 記入のポイント |
|---|
| タイトル | インシデントの概要を一文で | 技術的すぎず、誰でも分かる言葉で |
| サマリー | 何が起き、どんな影響があったか | ユーザーへの影響を中心に |
| タイムライン | 発生から解決までの時系列 | 分単位で正確に、判断の根拠も記載 |
| 根本原因分析 | なぜこのインシデントが起きたか | 「誰が」ではなく「何が」を問う |
| 影響範囲 | 影響を受けたユーザー、サービス、データ | 定量的に記載 |
| うまくいったこと | 検知・対応で効果的だったこと | 良い点を必ず記載する |
| 改善すべきこと | 検知・対応で不十分だったこと | 仕組みの観点で |
| アクションアイテム | 再発防止の具体的な施策 | 担当者、期限を明記 |
| 学び | このインシデントから得た教訓 | 他チームにも役立つ一般化された知見 |
タイムラインの書き方
タイムラインの例:
2024/12/15(日)
14:23 監視アラート発火(API応答時間が閾値超過)
14:25 オンコールエンジニアAが対応開始
14:30 データベースのCPU使用率が95%であることを確認
14:35 前日のデプロイで追加されたクエリが原因と推定
→ この時点で「ロールバックするか、クエリを修正するか」の判断に迷う
14:45 インシデントコマンダーBに判断をエスカレーション
14:50 ロールバックを決定、実行開始
15:05 ロールバック完了、API応答時間が正常化
15:10 影響範囲の調査開始
15:30 影響: 約2,000ユーザーが42分間サービス利用不可
注意: 「14:35で判断に迷った」も記録する。判断の遅れを責めるのではなく
「迷いなく判断できる仕組み」を作るための材料にする
ポストモーテムミーティングの運営
参加者と役割
| 役割 | 担当 | 責任 |
|---|
| ファシリテーター | SREまたはマネージャー | 場の安全性を保ち、議論を導く |
| タイムラインオーナー | 対応に当たったエンジニア | 事実関係を正確に説明する |
| スクライバー(記録者) | 別のメンバー | 議論の内容を記録する |
| 参加者 | 関連チームのメンバー | 多角的な視点を提供する |
ミーティングの流れ
| フェーズ | 時間 | 内容 |
|---|
| オープニング | 5分 | ブレイムレスの原則を確認、心理的安全性の場を作る |
| タイムライン共有 | 15分 | 事実を時系列で共有(意見・判断は後回し) |
| 根本原因の議論 | 20分 | 5 Whysやフィッシュボーンで構造的に分析 |
| うまくいったこと | 5分 | 検知・対応で良かった点を称える |
| アクションアイテム | 10分 | 再発防止策を具体的に決める(担当・期限付き) |
| クロージング | 5分 | 学びのまとめ、全体への共有方法を確認 |
ファシリテーターの発言ガイド
| 場面 | NG発言 | OK発言 |
|---|
| 原因を掘り下げるとき | 「なぜそんなミスをしたんですか?」 | 「その時点で、どんな情報が見えていましたか?」 |
| 判断の遅れについて | 「判断が遅かったですね」 | 「迷った判断ポイントは、どうすればスムーズになりますか?」 |
| レビュー漏れについて | 「レビューで気づくべきでした」 | 「このパターンをレビューで検知する仕組みはありますか?」 |
| 感情的になったとき | 「感情的にならないでください」 | 「お気持ちはよく分かります。まず事実を整理してから対策を考えましょう」 |
アクションアイテムの設計
効果的なアクションアイテムの条件
| 条件 | 説明 | 良い例 | 悪い例 |
|---|
| 具体的 | 何をするか明確 | 「デプロイ前にスロークエリチェックをCIに追加する」 | 「クエリに注意する」 |
| 担当者付き | 誰がやるか明確 | 「担当: チームAのエンジニアC」 | 「誰かがやる」 |
| 期限付き | いつまでか明確 | 「2025年1月末まで」 | 「なるべく早く」 |
| 仕組み化 | 人の注意力に頼らない | 「自動テストを追加する」 | 「次からは気をつける」 |
| 検証可能 | 完了を確認できる | 「CIにチェックが入り、PRで確認できる」 | 「意識を高める」 |
アクションアイテムの優先度マトリクス
| 分類 | 定義 | 期限目安 | 例 |
|---|
| P0: 即時対応 | 同じインシデントが明日にも再発する | 1週間以内 | ホットフィックス、一時的な監視強化 |
| P1: 短期対応 | 類似インシデントを防ぐ構造的改善 | 1ヶ月以内 | CIへの自動チェック追加 |
| P2: 中期対応 | より広範な仕組みの改善 | 四半期以内 | アーキテクチャの改善、ツール導入 |
ポストモーテムの品質基準
良いポストモーテムの指標
| 指標 | 内容 | チェック方法 |
|---|
| ブレイムレス | 個人を非難する表現がない | 「〜さんが」ではなく「〜のプロセスが」 |
| 事実ベース | 推測と事実が明確に区別されている | 「推定」「確認済み」のラベルがある |
| 学びが一般化 | 他チームにも適用できる教訓がある | 「学び」セクションが充実している |
| アクションが具体的 | 全アクションに担当・期限がある | SMART基準を満たしている |
| タイムラインが正確 | 分単位の時系列がある | ログやチャットの記録と一致している |
アンチパターン
| アンチパターン | 問題 | 対策 |
|---|
| 犯人捜しポストモーテム | ブレイムレスの原則に反する | ファシリテーターが介入、表現を修正 |
| 形だけのポストモーテム | テンプレを埋めるだけで学びがない | アクションアイテムの追跡を必須化 |
| アクション未実行 | ポストモーテムで決めたのにやらない | 月次でアクションアイテムの進捗を追跡 |
| 一部の人だけが読む | 学びが組織に広がらない | 全社共有会、ニュースレターで配信 |
| 重大障害のみ実施 | 小さな失敗からの学びを逃す | 閾値を下げ、軽微なインシデントでも実施 |
ポストモーテムのアーカイブと活用
ナレッジベースとしての運用
| 要素 | 設計方針 | ツール例 |
|---|
| 保管場所 | 全社員がアクセス可能な場所 | Confluence、Google Docs、Notion |
| 分類タグ | サービス、原因カテゴリ、影響度で分類 | #database #human-error #P1 |
| 検索性 | キーワード検索で過去の事例を引ける | タイトルとサマリーの質が重要 |
| 定期レビュー | 四半期ごとにトレンドを分析 | 同じ原因の繰り返しがないか確認 |
まとめ
| ポイント | 内容 |
|---|
| ポストモーテムの目的 | 「学習文書」であり「報告書」ではない |
| テンプレート | タイムライン、根本原因、アクションアイテム、学びを含む |
| ミーティング運営 | ファシリテーターが安全な場を作り、事実から構造的原因を掘る |
| アクションアイテム | 具体的、担当者付き、期限付き、仕組み化、検証可能 |
| アーカイブ | 全社公開、タグ付き、定期レビューで活用 |
チェックリスト
次のステップへ
次は「学習する組織の設計」を学びます。ポストモーテムで得た学びを組織全体の知恵に変え、継続的に学習し続ける組織を設計する方法を身につけましょう。
推定読了時間: 30分