効果的なポストモーテム
効果的なポストモーテムを書くことで、ミスに早く気づき、私たちのシステムとプロセスの全てを改善できます。 私たちは最大限の恩恵を受けるため、詳細かつ正確なポストモーテムを書くことを心がけています。 このガイドではポストモーテムが効果的になるようないくつの事柄を説明します。
やること#
- タイムラインがイベントに対して正確であることを確認してください。
- 新しくチームに入った人が理解できるように、技術用語や略語を説明してください。
- インシデントによって、サービスの正常性や回復性への理解につながるか議論します。.
やらないこと#
- 本当にサービスが停止した場合を除き「停止」という言葉は使わないでください。 私たちはインシデントの影響を正確に反映したいので、「停止」という言葉は意味が広いです。 また顧客に対して何もできなかったと思わせることになります。
- 「見栄えを良くする」ために詳細やイベントを書き換えないでください。 効果的なポストモーテムにならないので、自分自身にも正直である必要があります。
- 名前を挙げたり恥をかかせないようにしてください。 ポストモーテムは誰かを責めないようにします。 もし誰かが壊れる変更をデプロイしても、それは彼らの失敗ではなく、破壊的な変更ができるシステムである私たちの責任です。
推奨事項#
- 「ヒューマンエラー」という概念を避けます。 これは上記の「名前を挙げたり恥をかかせない」と言うのに関連してますが、微妙な違いがあります。 人に起因するミスはとても稀で、多くの場合は対処すべき要因があります(たとえば、人間が実行するスクリプトにレートリミットが無かったり、ドキュメントが古かったり)。
- タイムライン、または説明の節で、仮定の話は避けます。 たとえば「早朝からサービスXのトラフィック増加が確認でき、リクエストへの応答が停止した。 もしサービスXに レートリミットがあれば、リクエストに失敗 していないだろう。」「今晩にサービスXのレスポンスが遅くなり始めました。これはCPU使用率の上昇を検知する モニタリングが不十分 でした。」 この2つの例は実際に起きた問題と、対策の仮定を混同して議論しています。 これらは別々に適切に議論できるようにします。
- 以下のビデオは上記の点について詳しく説明しています。
レビュー#
設定したミーティングの前にレビューできるSlackルームがあります。 以下の観点でレビューします。
- 詳細が十分に説明されているか?
- 問題の原因を指し示すだけでなく、問題の根本原因まで掘り下げて議論されているか?
- 「何が起こったか」と「どう修正するか」を分けて説明できてるか。
- ポストモーテムが理解できるように書かれているか?
- 外部への告知メッセージは顧客が納得できるか、怒らせてしまわないか?
ポストモーテムのレビューは単なるタイポを指摘するだけではありません(外部告知にはスペルミスがないことを確認する必要があります)。 最大限の恩恵を受けるための、価値のある変更ができる建設的なフィードバックを提供します。
例#
以下に他社のポストモーテムの例を示します。
- Stripe
- LastPass
- AWS
- Twilio
- Heroku
- Netflix
- GOV.UK Rail Accident Investigation
- A List of Post-mortems!