Island Life

< 模範解答と過剰適応 | デジタル世代 >

2012/07/31

マニュアル無視?

ファーストサーバ最終報告書、ベテラン担当者のマニュアル無視を黙認

 ところが、A氏だけはマニュアルに従わず、自作の「更新プログラム」を利用してシステム変更を行っていた。A氏は今回の事故発生時だけではなく、以前から独自の作業手順を実行しており、上長もこれを認識していながら容認していた。

まあ結果的に事故が起きてるんだし過失は確かなんだけど、 「マニュアル無視の独自手順」っていうふうに取り上げるのに何となく違和感が。 これが工場の事故だったら確かに重大なんだろうけれど。

計算機システム管理の場合、マニュアル自体の変化が工場の工程などよりもずっと 高いし、設計/管理とオペレータの区別も曖昧だ。ある程度ベテランの オペレータになれば自動的にマニュアルを書く立場に立つんじゃないかってこと。 業界によってはwranglerとか呼ばれる、ほんとうにマニュアル に従ってオペするだけの人もいるけれど、自前スクリプトを書き始めた時点で もうマニュアルを書く側に足を突っ込んでると考えられるんでは。

工場の生産工程なら、マニュアルというか決められた工程というのは「固い」もので、 現場との齟齬が出てきたらそれを調査して上の方にエスカレートして、 偉い人が熟慮の上工程を設計しなおすか現場を教育しなおすかってことになるだろうけど。 計算機システムはもっとずっと柔らかくて、現場の「わかっている人」がどんどん マニュアルを書き換えるくらいで良くて、重要なのはその書き換えが複数人の チェックに晒されるレビュープロセスの方じゃないかと思う。つまり件のサーバ事故で ほんとにまずいのは「マニュアル無視を黙認」の方じゃなくて、作業のレビュープロセスの 方だったんじゃないかと。それがスムーズにいってるなら、 「実際に行われる作業=承認を受けた工程=マニュアルに書かれるべきこと」 という3者が自動的に一致するので、マニュアル無視ということが起き得ない。

「レビューを通さないと実行できないよ」っていうマニュアルを無視していたって 可能性もあるか。それだって、レビューを通さないと実行できないシステムを 作ってあれば良かったわけで、 やっぱり、「マニュアル」という規範が最初にあってそれに従う、っていう前提が 落ち着かないんだな。

ああ、もしかすると。プログラマにとっては「コード」が規範なので、 コードとマニュアル(自然言語で書かれた手順書)が乖離していたら おかしいのはマニュアルの方だろ、って反射的に思うのかもしれない。 仕様に対してはコードが従だけど、マニュアルに対してはコードの方が主なんじゃないか、と。 もちろんマニュアルからのフィードバックでコードや仕様が変えられることはあるけど、 主要な流れとしては。

(もちろん、「一人だけ勝手なスクリプト作られても他の人が理解できないよ」といった 個々の現場の事情はあるんだろうけど。それだってスクリプトをリポジトリに上げさせて 別の人がレビューしないと本番環境にチェックアウトできないとか、 全員に使わせる前提でなくても何とかなりそうな気はする。)

Tag: Programming

Post a comment

Name: