エンジニアはニュースをこう見てたりする
안녕하신게라!パナソニック コネクト株式会社クラウドソリューション部の加賀です。
大型連休にぼんやりニュースを流していたら、また見覚えのある文字が画面に映っていました。
「担当者の確認不足」「個人の意識が低かった」「研修を徹底する」1
既視感。違うニュースでも同じこと言ってる。どれもどうやってレビューを通したんだろう。
おそらく現実の世界では「ポストモーテム」が流行してないように感じたので、今日は技術記事ではなくエンジニアとして思うことを書きます。
また「誰が悪いか」で終わってないか
同じことを繰り返さないために、あえて過去の事故を振り返らせてほしい。(被害に遭われた方々やそのご家族のお気持ちを軽んじる意図は一切なく、また特定の組織を非難する意図もありません。いずれも広く報道された事例を、どの業界・どの組織にも共通する構造的パターンとして取り上げます)
送迎バスの置き去り事故は「担当者の確認不足」で処理され、銀行では貸金庫の中身が長年にわたって横領されたのに「まさかそんなことをする人がいるとは」で済まされ、自動車メーカーの認証不正は「現場が勝手にやった」、マイナンバーの紐付け誤りは「自治体職員の入力ミス」。
枚挙に遑がなさすぎる。中古車業の保険金不正、製薬会社の健康被害、銀行員のSNS流出、学校行事委託先の未監督。業種も規模もてんでバラバラなのに、どれも結論だけはいつも同じ。「誰がどう悪いのか」を決めて終わり。
これらのニュースを眺める都度、どれも「仕組みが壊れている」話にしか見えない。
バスの置き去りは降車確認センサーやアラートの仕組みがあればリスクを大きく下げられた(その後義務化された)。貸金庫は一人が長期間チェックされずにアクセスできた統制・監査設計の問題。認証不正は、報道や調査報告で無理な納期や現場の圧力といった構造要因が指摘されている。マイナンバーに至ってはシステム上で誤紐付けが起きうる設計になっていたわけで、人のせいだけにするのは無理筋でしかなく。
大部分が「仕組みのバグ」なんです。
※誤解なきよう補足すると、貸金庫の横領のような故意の犯罪行為は当然やった本人の責任です。処罰は処罰として適正に行われるべきです。安全工学の世界にはJust Culture(公正文化)という考え方があって、「うっかりミス」と「わかっててやった」は分けて扱えと。後者は当然罰せられるべきだけど、前者まで同列に責めたら誰も報告しなくなるでしょと。そりゃそうだ。
で、処罰と再発防止は別レイヤーの話であって、犯人を罰して終わり!では長年の不正を検知できなかった仕組みの不備は何一つ直らないまま残り続けます。ノルマ設計が人を不正に追い込む構造も放置される。やっちゃったのと、できちゃうのと、両方同時に対処する話なんです。
どのニュースを見ても脳内で同じ言葉がリフレインする。
次の被害者が出ないように「なんでポストモーテムしないんだろう?」
こう感じるのはエンジニアだけではないはずだ。
ポストモーテムって何さね
技術の世界には「ポストモーテム(Post-mortem)」という営みがあります。システム障害が起きたあと、犯人探しをしないことを前提に、何が起きたか正直ベースの事実を時系列で並べ、構造的な原因を探るプロセスです。GoogleがSRE本で重要なプラクティスとして体系的にまとめたことで、IT業界で広く知られるようになりました。
やることはシンプルで、関係者を集めて「誰がやったか」ではなく「どの仕組みが壊れていたか」を時系列で洗い出し、影響、対応、根本原因、再発防止アクションまで整理する。それがポストモーテムの中核です。
大事なことなので二回でも三回でも言いますが、「誰が悪いか」ではなく「何が壊れていたか」を問う。事実を正しく報告した人を責めるのではなく、仕組みの不具合を探して直す「仕組み」です。その根底にあるのがBlameless(blame=非難、-less=~なし)という思想です。心理的安全性を確保しないと始まらない。
前回のSRE記事でも書いた通り、この心理的安全性がないとどうなるか。人は隠します。都合の悪いことを報告しなくなります。 報告されなければ仕組みの問題に気付けないまま、また同じことが起きる。
ニュースで関係者が保身に走っているのを見るたびに「そりゃそうなるよね」としか思えません。
事実を正しく報告すると処分されるなら、知らぬ存ぜぬと黙っているのが合理的な最適解になってしまう「仕組み」なので。
その再発防止策、レビュー通るとお思いか?
冒頭に触れた、事故のあとに出てくる「再発防止策」にも毎回ツッコミが止まらないのは筆者だけではないはずです。
- 「担当者がダブルチェックを徹底する」
- 「今後は意識を高めて慎重に対応する」
- 「研修を実施し注意喚起と教育を行う」
技術の世界でこれ出したら、レビューで一発で突き返されますよね。「人間の注意力に依存する対策は対策ではない」と。障害対応で疲弊してる深夜2時に「意識を高めて確認しましょう」って出来んくはないけど万人にはほぼほぼ無理やて。人間の集中力が有限であることを前提に仕組みを設計するのがエンジニアリングでしょうに。
「職場でSNSアプリを開くな」と研修で言うのではなく、BYOD禁止して業務端末で利用範囲を制御するなり、MDM(Mobile Device Management)やMAM(Mobile Application Management)で業務領域と私的領域を技術的に分離する。それがポカヨケであり、仕組みで防ぐということです。ミスが起きない構造を作るのと、ミスが起きたあとに人間を叱るのと、どっちが再発防止として機能するかは自明でしょう。
SNS流出で特に気になるのは、流出から発覚までのタイムラグです。過去の投稿はスクショで拡散され、ある日突然誰かに「発見」される。研修で今後の流出を完全に止められたとして、じゃあ「過去すでに流出した未発覚分はどないするん?」と聞いてみたい。時限爆弾としてネット上に残り続けてて、担当者の努力根性ではもう取り返せない。時差発覚するリスクに対して組織としてどう対応するのかを先に決めておくべきなのに、そこに誰も触れない。そんな不安な状況下の研修で「私、過去の流出あるかもです…」って正直に申告できる人なんて居るのでしょうか。
犯人探しをして、努力論・根性論の再発防止策を出して、それでまた同じことが起きる。このループを何回繰り返すんだろう。脱力します。仕組みの不備を認めて直せば済む話を、なぜ人の意識の問題として扱い続けてしまうのか、どうにもモヤモヤします。
やってる業界はやっている
やっとこ本題です。「ポストモーテム的な考え方なんてGoogleの理想論でしょ?」と思われるかもしれませんが、実はIT以外でもこの思想をガッツリ取り入れ、事故率低下に寄与してきたとされる業界がいくつもあります。
一番わかりやすいのは航空業界。1970年代後半にテネリフェ空港事故などヒューマンエラーと分類された墜落事故が相次いだことを受け、1980年代から「パイロット個人を責めるのではなく、コックピット全体のコミュニケーション構造を変える」というCRM(Crew Resource Management)が導入されました。この事故では、乗務員が機長の判断に強く異議を唱えにくいパワーバランスやコミュニケーションの問題が一因とされています。個人のミスだけではなく「物を言いにくい構造」が事故を生んだのです。また米国では1970年代から、安全上の懸念を秘匿・任意・非懲罰で収集するASRS(Aviation Safety Reporting System)の仕組みも運用されてきました。機体の技術進歩や規制強化ももちろん大きいけど、こうした「人を責めない仕組み」の導入も相まって、航空事故の発生率は大きく下がっています。
医療業界も同様で、スイスチーズモデル(防御層を何枚も重ねればどこかで止まるはずだが、各層に空いた穴がたまたま一直線に並んだとき事故が貫通する)の考え方でインシデントレポート制度を整備し、「ヒヤリハット」を責めずに集めることで重大事故の予兆を拾っています。穴のない完全な対策なんて無いよねと認めた上で、それでも複数の予防線を重ねて張ることで致命傷の発生率を下げている。
つまり「犯人探しをやめたことも一因となり事故が減っている」業界が現実に存在するわけです。理想論じゃなく、数十年の運用実績で仕組み直しの有効性が裏付けられている話。
IT業界も出来てるところ少ないかもだけど、他の業界では概念すら広まらないのは何が邪魔しているのだろうか。
なぜ広まらないのか、仮説
正直ここは自分にも確信がないんですが、ポエムなのでツッコんで掘り下げてみたいと思います。
まず、最大の壁は日本の法制度そのものが個人への責任追及を前提に設計されていることじゃないかと思っています。
刑事では業務上過失致死傷罪のように個人の過失を訴追し、民事でも不法行為責任や、役員に対する株主代表訴訟など、いずれも「誰の責任か」を特定して刑事責任・損害賠償責任を問うフレームワークが基本です。「Blamelessにしましょう」と現場が言っても、法的には責任の所在を明らかにしなければ、処罰・賠償・救済の議論に進みにくい構造がある。
航空業界がBlamelessな報告制度を実現しやすいのは、原因究明と責任追及を分けて扱おうとする制度設計が整備されているからです。米国のASRSは、報告者に対するFAAの行政処分を一定条件下で免除・軽減する仕組みを持ち、報告のインセンティブを担保しています。日本でも運輸安全委員会設置法に基づき、刑事責任の追及とは目的を異にする原因究明調査の枠組みが置かれている。実際には完全に分離できているかというと課題もあるけど、少なくとも「分けるべきだ」という方向に舵を切っているのは大きい。
もうひとつは「犯人を出せば世間の怒りが収まる」ように見えてしまうメディアと世論の力学。構造の話は伝わりにくいけど、犯人が出ればスッキリする、少なくとも一瞬は。
けど、横並びで犯人探しをする報道ばかりなら、自分は構造に踏み込む報道の方を観たいです。送る側も観る側も、少しでも横並びから変わることを期待したい。
そして最後に単純な話として、この概念自体が技術コミュニティの外にほとんど届いていない気がしています。
「ポストモーテム」や「Blameless」って言葉、非エンジニアの知人に言っても「芸術?ポストモダン?印象派の画家?」って返ってきます。惜しいけど全然ちゃうねん。
言葉が届いてなければ、概念が広まるわけもない。流行語大賞にノミネートされても良いのよ。
だからこそ、まずは技術側に身を置く自分がオープンなWebに書いておきたかった、というのがこの記事の正直な動機だったりします。もしこれを読んでくれたエンジニア仲間がいたら、ぜひ職場の外でも、家族や知人とニュースを見ながら「これってその人のせいなんかな、仕組みの問題ちゃう?」と話のタネにしてみてほしいです。少しずつでも考え方が広まっていって、もうバタフライエフェクトでも何でも良いから、未来の被害者が減ってくれると良いのだけど。
おわりに
ポストモーテムは技術者だけのものじゃないはずです。「犯人探し」ではなく「仕組みの不備探し」をするだけのシンプルなお作法です。もちろんこれだけでは足りないのですが、やらないという選択肢は謎。
航空業界で数十年の実績があり、医療でも成果を上げている、れっきとした再発防止の方法論です。本文では詳しく触れませんでしたが、鉄道の事故調査や海運のISMコードにも、個人を責めるだけで終わらせず仕組みとして安全を高める近い考え方があります。他にも「うちの業界もやでー」「こんな再発防止策やっとるでー」という好例があれば、ぜひコメントで教えてください。
技術の世界にいる身としては、このお作法をもっと広めたい。というか、犯人探しで終わるニュースを見るたびに「あぁ、またか」と脱力するのをいい加減やめたい、というのが本音です。
誰かを吊し上げるよりも、その仕組みを直すほうが再発を防げそうだなんて、当たり前の話に思えるんですけどね。違うのんかな。
同じモヤモヤを技術コミュニティの外で抱えてる人がいたら、どうすりゃ広まるのか一緒に考えたら捗りそうでもあります。
…と、安楽椅子探偵はニュースを消して布団に潜り込むのでありました。寝よ。
お断り
記事内容は個人の見解であり、所属組織の立場や戦略・意見を代表するものではありません。弊社も含め、どの組織でも起き得る問題です。
あくまでエンジニアとしての経験や考えをポエムにかこつけて好き勝手に発信していますので、ご了承ください。
-
本記事中に登場する鍵カッコ付きの発言は、特定の報道を逐語で引用したものではなく、複数報道で繰り返し見かける表現の趣旨を筆者が要約したものです。 ↩