ミスリードを誘うタイトルでお送りしております。
トラブル対応は全く無駄だと思う。もちろん「トラブルが起きてるんだからトラブル対応しなきゃに決まってるだろ」といった話ではない。
いきなり話が変わるが、私の奥さんは看護師で、結婚当初私が風邪を引くと優しくしてくれるのかな?と思ってたけど、毎回どえらく怒られていた。曰く
- 風邪は基本的に予防できる病気
- なのに風邪を引くのは怠慢な証拠
- 風邪を引くと会社休まないとだし、お金も時間も浪費するので本当に意味がない
いや、全くごもっともでぐうの音も出ない正論としかいいようがない。
さて翻って、みなさん自身がおもりするシステムの健康をちゃんと見てるだろうか?
上記の言葉をシステムトラブルに置き換えてみよう。
また話は変わって、以前同僚からこんな話を聞いたことがある。
同僚「yamazさん、この会社に転職してから私は開発ばかりしてるのですが、いいんでしょうか?」
yamaz「???なんの話してるの?」
曰く、前職ではシステムがトラブル続きで開発リソースの4割位はトラブル対応と顧客への説明に費やしてたそうだ。それがあまりにも日常的すぎて、弊社に転職してから自身がトラブル対応をすることなく開発だけしてるのは、誰かが割りを食ってるのでは?という話だった。
この話を聞いて「トラブルは日常である」という発想から脱却してもらいたいという話をした。この「トラブルは日常である」という発想に立っている人は結構多いと思う。
「いやいや、風邪と違ってトラブルはあらゆる原因で起きるから予防は無理だよ」
まぁごもっとな意見だ。もちろんトラブルが起きる確率をゼロにはできないが、工学的に対応することでゼロに近づけることはできる。
Q.「どうすればトラブルのない堅牢なシステムが作れますか?」
— 最速配信研究会 山崎大輔 (@yamaz) February 15, 2021
A. 「トラブルは確率的に起きると理解し、ハインリッヒの法則に従って、小さく細かく対処していけば、複利効果でトラブルはどんどんなくなっていきます」
何度も聞かれまくるので、参考にどーぞ。https://t.co/rUEhjSgyXo
ここで大事なのは複利効果だ。システムはハインリッヒの法則に従ってトラブルが起きるので、全くトラブルの再発防止をしないとシステムの複雑さに伴って複利効果でトラブルが多発し始める。これは逆を言えば小さなトラブルであってもそれを重大事故の予兆だとみなし、細かく適切な再発防止策を積み重ねることで、複利効果でもってシステムはどんどん堅牢になっていくことを意味する.
トラブルの再発防止に対する考え方については上記エントリに譲るが、みなさんにおいてはトラブル対応に投入されるエンジニアリソースを始めとした各種リソースは、本来無駄なものだと心に刻み、ノートラブルで愛する人の元に怒られずに帰るようにしていただきたい。
あと私がトラブルに対して厳しい態度を取る理由もわかっていただけたかと思う(奥さん怖いよ)。
(おしまい)