手順書いてる暇あったら仕事しろ
■手順書のとおりにうまくはいかない
どちらかと言えば、インフラ系の話だ。よく大きなところの仕事をすると、手順書を書けと言われる。この手順書に関しては、いろいろな疑問を感じている。今回の話は、サーバ構築時の手順書の話だと思って読んでほしい。これが日常作業の手順書などになると、話は別になる。
作業前に手順書を作成して、一挙手一投足違わずに作業するように指示する現場をよく見る。しかし、そういう現場に限って、しょうもない設定ミスを多く発生する。そんなのを見ていて思う。あの手順書って何なんだろう。拘束具としてトラブルを冗長しても、事態を改善する手段として役に立ったのを見たことがない。
■手順なら本を見ればええんでないかい?
これは、某案件でActive Directory(以下、AD)を構築した時の話だ。ADの構築といっても、特別な仕組みを組み込むわけではない。ごくありふれたADだ。ここで手順書を書いていて思ったのだが……手順書の内容が見ている本そのままだ。
そして思った、わざわざ手間かけて手順書かくより「○○○の本の~ページを参照」と書く方が効率的だ。構築資料としてその本1冊保存しておけば問題ない。わざわざ工数かけて手順書作成するより、ずっと効率がいい。しかも、一般に出版されている本なので、質も保証されている。足りない内容や、案件ごとに特化した内容を書き足していけば、十分な質は確保できる。
ヘタクソな手順書をExcelで作るのは、無駄以外の何物でもない。ドキュメントの体裁を整える技術すら知らずに、やれここが抜けている、体裁が整っていないと躍起になって肝心な部分が抜ける。これが、構築手順書でぎゃーぎゃー言うプロジェクトほど多く起きる。だったら最初から本使えよ。と思う。メーカーのWebページをまるまる引用でもOKだ。
■手順書は基本的に役に立たない
よく考えてみよう。正確、かつ緻密に書かれた手順書があったとする。この手順書を使えば、全く同じシステムが作成できるとしよう。しかし、どんなプロジェクトでもそうだが、全く同じシステムを作成する事なんてまずない。バージョンアップや、機器の追加、ハードウェアの変更などいろいろと条件が変わる。
こういう時に役に立つのは手順書でなく、手順書を書いた人だ。手順書を書くまでにいろいろと試行錯誤しているので手順書の内容より、その試行錯誤の経験の方が頼りになる。実際問題、手順書だけを読んでも、仕組みまでは話を聞かないと理解できない。だったら、先ほど書いたように本を残し「ここが重要!」と下線を引いておいた方が、まだ分かりやすい。
実際に手順書を作ってみると分かるが、膨大な手間がかかる。手順書を作るにも何回も同じ操作をしたり、ハードコピー(ようは操作時の画面)を取得したりする。これだけの手間をかけるより、その時間をみっちり検証にあてたり、情報収集した方が有用だと考える。その経験が次のステップに活きる。
■手順書より画面確認しろ
よく現場が掲げる「それを見るだけで誰でもシステムを構築できるレベル」の手順書など作るべきでない。システム自体、プロが仕組みを理解して作るものだろう。そんな作業を誰にでも任そうとしないで欲しいからだ。そんな事を言うマネージャは、実は自分が分かってないだけじゃなかろうか? 小一時間問い詰めたくなる。
また、システムを完成させる前に「それを見るだけで誰でもシステムを構築できるレベル」の手順書は作成できない。そういう手順書を作るには、1回システム全体を完成させた後、もう一度同じものを作れるくらいの試行錯誤を重ねる必要がある。そこまでしなくてできるとするなら、本当に単純な仕組みの簡単なシステムか、それとも作業者が相当な場数を踏んでいる場合だ。
設定内容を書いたパラメータシートを見るならともかく、手順書だけを見て操作が妥当がどうかなんて判断がつくのだろうか。作業手順書をチェックに使うのは妥当ではないように思う。そんな書類で済ますより、実際に操作してもらって、どういう動きをするかを一緒に確認する方が確実だ。工事現場では、現場監督が施工箇所を確認することはよくある。実物を確認しようとしないのは、IT系独特の怠慢と言える。
■必要なのは手順より経験
結論としては、手順書を作る時間があったら、その時間を検証や情報収集に当てる方が有効だ。何回も検証すれば、間違えやすいところも分かってくる。そういうところの手順書を、必要な精度で成すれば十分だと思う。
検証内容は、それぞれの担当者の思いつくところを検証すればいい。作業者が迷わず、安心して作業できるようになれば、確かな手順書があるのと同じくらいの効果が望める。手順の間違いより、検証不足や技術不足で作業ミスが起きる方が多い。二度と見ないような手順書より、きちんと行った検証のレポートの方が、後に作業する人にとっても有効と思われる。また、その方がやっている人も楽しい。二度と見ないような手順書を作るより自分のスキルに繋がるし、検証をしっかりできる方がモチベーションも保てる。
手順は大事だ。しかし、手順を確立するにも土台が必要だ。それが経験や知識、検証して得た結果だ。土台を確立させずに手順書を書いても役に立たない。何度も同じシステムを構築するのであれば、システムを完成させてからゆっくり手順書を書けば問題ない。繰り返し同じ環境を構築することのないようなシステムで、手順書を残す意味はあるのだろうか。残すべき情報はもっと吟味されるべきだ。