人を信じる運用は冷たい — 性悪説で組んだ方が全員救われる
TL;DR
「ちゃんとやってくれるはず」が崩れて何度も同じトラブルが起きていることに疲れている人向け。
「更新してね」「忘れないでね」に頼る運用は、人数が増えると必ず破綻する
人に期待しない設計は、冷たいのではなく全員を守る仕組み
ただし全自動にすればいいわけではない。壊れたときに人が介入できる余地を残す設計が本当に難しい
「操作したら台帳を更新してね」の危うさ
「操作したら台帳を更新してね」。
仕事で運用に関わったことがある方なら、この一言がどれだけ危ういか感覚でわかると思います。
最初の1ヶ月は守られます。
3ヶ月後には半分になります。
半年後には「あれ、これいつ作ったんだっけ」が常態化します。
私はこの手の運用を見るたびに不安になります。
特に関わる人数が多いほど。
人が増えると、目が届かなくなる
少人数のチームなら、善意に頼る運用でもなんとかなります。
理由はシンプルで、目が届くからです。
「あの人、更新してなさそうだな」が見える。声をかければ済む。
でも人が増えると、それが見えなくなります。
「やってくれているはず」が前提になった瞬間、記録と実態は静かにズレ始めます。
善意に頼る運用が破綻するのは、人が悪いからではありません。
目が届かなくなるからです。
「更新してね」を設計から消す
私が仕事の進め方を設計するときの前提は「人に期待しない」です。
これは昔からそうで、何か大きな失敗があって切り替えたわけではありません。
もう気質みたいなものです。
「更新してね」「連絡してね」「忘れないでね」と言わないと成り立たない仕組みを見ると、最初から不安になります。
具体的にはこういうことです。
「操作したら記録してね」ではなく、操作すると自動で記録が変わる設計にする
「期限が来たら延長申請してね」ではなく、期限超過で自動停止する
「手順通りにやってね」ではなく、決められた経路でしか操作できない
正しい情報の置き場所を「人の作業」に依存させない。
「お願い」から「勝手にそうなる」への転換です。
たとえば環境の払い出しなら、理想は「台帳に書いたら勝手に処理が走り出す」状態です。
何かを作る操作と、記録する操作が、物理的に同じアクションになっている。
ズレようがない。
ただし、全自動にすればいいわけではない
ここが一番伝えたいところです。
「人に期待するな」「自動化しろ」と言い切って終わる話ではありません。
全部を自動化すると、今度は別の問題が出てきます。
仕組みが勝手に回って処理してくれるのはいい。
でも途中で失敗したとき、中で何が起きているかわからない。
手動で復旧もできない。
ブラックボックスになります。
つまり、人に期待しない設計と、壊れたときに人が介入できる余地を残す設計は、両立させないといけません。
ここのバランスが本当に難しい。
自動化すればするほど、通常時は楽になります。
でも異常時に「何もできない」状態を作ってしまったら本末転倒です。
「何もできない」だけは作らない
壊れたときにどこまで備えるか。
私の設計基準は「何もできないという状態は作ってはいけない」です。
100%の復旧を目指しているわけではありません。
自動で30分で終わる作業が、手動だと3時間かかる。
それでいいのです。
3時間かかっても、できるならそれは「詰んでいない」。
完全自動復旧を目指してガチガチに作り込むより、「手動でどうにかなる」レベルの手段を残しておく方が、現実的だし長く使えます。
システム障害の考え方に「縮退運転」というものがあります。
正常でないとき、全機能を維持するのではなく、どこまで劣化を許容するかを先に決めておく。
私はこれを、仕事の進め方の設計にも適用しています。
全員が知っている必要はない
手動復旧の手段を残すとして、誰がやれるのか。
全員がわかっている必要はないと思っています。
ただし、1人だけだと危ない。
その人が休みなら何も進みません。
私の目安は3人。
冗長化の発想で、1人が欠けても2人いれば動ける。
インフラの設計と同じです。
本当に難しいのは「間」の設計
人に期待しないという設計思想自体は、実はそんなに難しくありません。
方向性を決めれば、やることは見えます。
難しいのは、自動化と人が介入できる余地のバランスを取るところです。
自動化の度合い、手動介入のポイント、復旧手順の粒度。
ここの設計にすごく時間がかかります。
理想はわかっている。
技術的にもたぶんできる。
でも「やってみたら何か出る」が確実にあるし、その調整に時間が取れない。
結果として、善意に頼る運用が残り続ける。
皮肉な話です。
正しい設計がわかっているのに、それを実装するコストの問題で、危うい運用が延命する。
まとめ
「更新してね」を設計から消す。
これは冷たい考え方ではなく、全員を守る仕組みです。
ただし全自動にすればいいわけではありません。
壊れたときに人が介入できる余地を、意図的に残す。
「何もできない」という状態だけは、絶対に作らない。
自動化と手動介入のバランスに正解は一つではありません。
でも「人に期待しない」と「壊れたときに詰まない」の両方を意識するだけで、仕事の進め方の設計は確実に変わると思います。
