畑では虫が嫌われる。
開発現場ではバグが嫌われる。
どちらも見つけた瞬間に駆除対象となる。
見つけ次第、消す。
できるだけ早く。
残さず綺麗に。
それが正しい仕事だとされている。
農家は虫を見つけると農薬を撒く。
エンジニアは障害を見つけるとパッチを当てる。
管理職は問題を見つけると会議を増やす。
人類は昔から、結果を消すことに関しては驚くほど優秀だ。
しかし、少し意地悪な見方をすると、虫は原因ではない。
結果である。
土壌の栄養バランス。
連作による偏り。
単一品目への依存。
そうした歪みが、虫という形で現れているだけだ。
虫は単なるメッセンジャーである。
ありがたくはないが。
システム障害も似ている。
障害そのものは原因ではない。
属人化。
技術的負債。
無理な納期。
曖昧な仕様。
誰も触りたがらない古いコード。
そうした歪みが、障害という形で現れているだけだ。
こちらもメッセンジャーである。
さらにありがたくないが。
面白いことに、私たちはメッセンジャーを撃つことには熱心だ。
虫を殺す。
バグを潰す。
会議で再発防止策を作る。
そして安心する。
問題は解決した、と。
もちろん解決はしていない。
アブラムシを殺しても土は変わらない。
パッチを当てても組織は変わらない。
来年もまた虫は出る。
次のリリースでもまた障害は起きる。
それでも私たちは駆除を続ける。
原因を見るより、その方が簡単だからだ。
スーパーに並ぶ野菜には虫がいない。
利用者向けの報告書にも障害は載っていない。
どちらも綺麗だ。
しかし綺麗であることと、健全であることは同じではない。
むしろ健全さとは、少しばかりの虫や、少しばかりの不具合が存在できる余裕なのかもしれない。
虫がついた野菜は不合格。
障害の出たシステムも不合格。
そして私たちは、原因を直すより先に結果を消す方法ばかり上達していく。
農薬もアップデートパッチも、案外似たようなものなのかもしれない。
私は今日も障害票を眺めながら思う。
そのバグは、本当に敵なのだろうか。
もしかすると、誰よりも正直にシステムの歪みを教えてくれている存在なのではないかと。