概要
先日、koufuri+の開発チームにて、Wheel of Misfortuneという形式の障害対応訓練を実施しました。
Wheel of Misfortune(不運のルーレット)とは、Googleなどで行われている障害対応訓練の手法で、ゲームマスターが障害のシナリオを用意し、障害対応を行うメンバーと会話形式で実施していきます。TRPGやマーダーミステリーのようなイメージです。
これまでは障害対応訓練用の環境を用意し、実際にそこで障害を起こしてそれを復旧するという形式で行っていましたが、事前準備や実施が大変だったということで今回は別の手法を試してみた次第です。
参考にした記事
当日の様子
アジェンダ
2時間枠を取って、以下コンテンツを実施しました。
- アイスブレイク(5分)
- 「これまでの避難訓練の思い出」を参加者に話してもらいました
- 趣旨説明・出題(10分)
- 回答(60分程度)
- 振り返り(30分)
- KPTで実施しました
参加者とロール
以下のような参加者構成でした。シナリオによってはカスタマーサポートのメンバーなどを入れて、部署間の連携のシミュレーションを行うのも良さそうです。
- GM(ゲームマスター, 出題者): 1名
- 回答者: 開発者3名、PdM1名
- オブザーバー: SRE1名、他プロダクトPdM1名
- 特に何もしないが、回答者からアドバイスを求められたら対応するぐらいのポジション
お題
SREチームのメンバーに監修してもらいながら問題を作成しました。今回はLambda関数の並列実行により作成する帳票がスロットリングにより一部作成されなかったというシナリオをチョイスしました。
ヒントカード
回答者が「xxのログを見ます」などと宣言したら、ゲームマスターはそのアクションに応じたヒントカードを公開します。ゲームマスターが想定していないアクションの場合は口頭で適当な返答を行います。今回ヒントカードは10種類用意しました。
タイムライン
ゲームマスターは回答者と対話する以外にも、参加者の行動を時系列でメモっておいて後で振り返りしやすくするということも行いました。
採点基準
GMのみが閲覧できる非公開資料として、採点基準的なものも用意しておきました。
例えば、
1. 第一報(発見者)
- 適切なSlackチャンネルに第一報が投稿された
2. 影響調査(開発者)
- 詳細な調査を行う前に、何施設に対してどのような影響が出ているか調べて社内共有できた
3. インシデントレベル判断(PM・事業責任者)
- インシデントレベルを判断した根拠が言語化されている
...
というように、調査の各ステップごとに誰が何をやっていたらOKかを言語化しておきました。
最後に
参加者からは「焦りやプレッシャーなどを感じず楽しく実施できた」「社内の障害対応フローに沿って調査を進めることができ、良い訓練になった」などポジティブなフィードバックをもらい、それなりの手応えを感じることができました。このような訓練を毎回0から企画するのは大変なので、ある程度はテンプレ化して開催のコストを下げていきたいのと、実際に手を動かして何かの復旧作業をやってみるハンズオンも別途企画・実施していきたい所存です。