ドキュメントを見て分かる現場のこけ方 Part7 過去のドキュメントをテンプレートと呼ぶ現場
--ふれこみ--
ドキュメントを書くなら、過去の資産を再利用すると効率よく書けるはずだ。過去に似たようなプロジェクトがあったので、このドキュメントの設定値等を調節していけば、ドキュメントは完成する。あとは、ドキュメント通りにシステムを作っていけば問題は無いだろう。
--実際--
その過去の資産が十分な時間が無く突貫で書いたものだったらどうだろう。当時の問題をそのまま引き継ぐことになる。過去と同じ過ちを繰り返す原因になる。
そもそも、再利用する過去の資産が再利用を想定して書かれていない。ドキュメントというのは当然、読む人に合わせて作ってある。再利用する人に合わせて作っていないので、参考にはなってもテンプレートとしては使えない。
過去ドキュメントの書き換えで仕事を済ませようとすると、プロジェクトで使用する情報をまとめて整理していくプロセスを丸ごとすっ飛ばしてしまう。そのままプロジェクトを進めると、途中で情報が錯綜するリスクが高まる。仕様変更などがあれば、即炎上につながる。
同じようなプロジェクトだったとしても、全く同じではない。見た目は少しの差でも、擦り合わせていくと大きな差になることはよくある。どちらにしても、プロジェクトの詳細を突き詰めれば、単純な置き換えで済まないことが分かるはずだ。
新しい製品は日々リリースされている。システムのリプレイスにしても、何か付加価値を付けないと通らない。運用によって変更された部分は過去ドキュメンントに反映されているか。現行のシステムですら欠陥を抱えていることもある。これらを考慮すると、一からドキュメントを書き直した方が早い場合もある。
--こけ方--
再利用する想定でないドキュメント。分かりやすい例でいくと、Excel方眼紙がある。あれを再度編集すると、思いもしないところがズレて収集がつかなくなる。適当にシートを抜き差しすると、思わぬところが#REFになってレビューに引っかかる。
元々、メンテナンスに膨大な時間がかかるような作りのドキュメントを再利用するのだ。ドキュメントが円滑に作成できる訳がない。しかも、設定値がドキュメントに埋め込まれている。フィルタやソートをかけることができないので、データの分析ができない。
美味しいとこどりしたつもりで、情報を把握していると勘違いしたまま仕事をしてしまう。プロジェクトに関わっている人も、全てが当時の人というわけではない。なので、設計ミスに気付きにくくなる。
プロッジェクトが進むほどに「こんなはずじゃなかった」というケースが頻発しやすい。こうすれば上手くいくだろうと思いつつ、何で上手くいかない?が繰り返され、よく分からないまま炎上するのがこのパターンだ。
--解決方法--
元になるドキュメントが再利用する想定で作られていない。これが上手くいかない最大の理由だ。完成したドキュメントを最小限に変更すれば早いように見える。だが、それが通用するのは変更箇所が明確なことと、ドキュメントの規模が数枚で済む場合だ。
完成したドキュメントをそのまま編集すると情報量が掴めなくなる。これが炎上する大きな原因になる。もしやるなら、ドキュメントに記された情報をすべてリストアップして、一つ一つ更新の有無をリストアップしていくくらいしないと精度は保てない。ここまですると、新しく書き直した方が早くなることもある。ドキュメントを直接更新するメリットが大幅に減る。
こういった手間を省くには、事前に準備するしかない。プロジェクトが終了した時に、再利用するための対策をしておくことだ。例えば、完成品の他にドキュメントのフォーマットと内容を別々に保存しておく方法がある。
もしレイアウトに問題があるなら、フォーマットを修正すれば問題を引き継がずに済む。Excelで作ったドキュメントをWordに書き直すという対応も可能だ。ドキュメントの内容、例えばサーバの一覧やネットワークアドレス一覧をExcelのリスト形式で保存しておけば、内容の分析もやり易い。変更点の洗い出しもやり易くなる。
成果物は参考程度に留めることが一番の対策だと思う。IT業界の業務自体、テンプレート化できるような単純な業務の方が少ない。テンプレートを作るのもいいが、それにも纏まった工数が必要になる筈だ。随時考えるのとテンプレート化するのと、どちらが効果的かは結論は出せない。
--総論--
多分、ドキュメントを直接編集する何が悪いのか理解できない人も多いと思う。行動フローを書いてステップ数で数えれば、圧倒的に早くできる計算になるからだ。
「ドキュメントを見れば情報なんて分かるだろう」と言うなら、それはごもっともだ。しかし、見て分かるのと分析できる形で纏まっているのは明らかに違う。この違いは、情報を分析する作業をすると明確に分かる。
ドキュメントを再利用するなら、再利用するための技術が必要になる。情報を分析するなら、分析するための技術が必要になる。テンプレートを作るなら、テンプレートを作るための技術が必要になる。もちろん、学習コストも相応にかかる。過去のドキュメントをそのままテンプレートにして仕事をするということは、この認識が抜けていると思われる。