2008年10月21日火曜日

要求でも仕様でもなく説明がほしいのだ

要求を定義して、実装仕様に落とし込むまでに作るドキュメントにおいては、なにしろ要求と仕様と説明の三つをごっちゃにしないようにすることが肝心だといわれます。

やってみると特にやっかいなのは、要求や仕様から説明を引きはがすことですね。どうしてそれを要求するのか、なぜそのような仕様を選択するのか、その事情や背景を説明しようとする言葉が、うっかりすると、要求や仕様の定義の中に分かちがたく埋め込まれてしまいます。

もっとも、UMLで要求や仕様を表現するようになってからは、コメントとして説明を決まった場所に書けるようになったので、そうした混乱もだいぶ少なくなってきました。

ただ、UMLのコメントの場合、あくまでもそれは任意のもので、必ず書かなければいけないというかんじがしてきませんね。しかし、要求や仕様から分離された上での説明は、ドキュメンテーションの全体の中で、もっと重要視されてもいいんじゃないかな、と最近思います。

恥ずかしい話ですが、運用フェーズに入ってから、なにかトラブルに直面して、ああ、なんでまたそんな大事なところをアンドキュメントのままにしておいたんだなんて後悔することがけっこうあります。そういうときって、要求や仕様の定義ではなく、実は説明の欠如が問題になっていることが案外多いような気がします。何をどう作ったのかは明らかだけど、なんでそうしたのかがわからない。だから、ここの仕様をシステムの都合だけで変更していいものか、にわかには判断がつかない、とか。

こんな言い方には語弊があるかも知れませんが、要求は結果的に成果に置きかわるわけですし、仕様はソースコードそのものだ、という言い方もできます。しかし、説明は、制作の過程の中で何かに姿を変えて生き残るといことがないですね。

それなのに、ちゃんと書くか書かないかは任意、みたいな気になっているので、まるで書かれていなかったり、書かれていてもあとから探しにくいところにひっそりと書かれていたりして。

要求や仕様に混ざることなく、積極的に書き込まれ、参照されもするような説明の残し方ってなにかないでしょうか。

映画には記録係とかスクリプターといって、撮影記録をつけ、カット間の、いわゆる"つながり"を保証する役割の人がいますけど、Web の場合は、Web ディレクターが同じようなプライドで、こまめに記録係もこなすようにする。そういう努力が払われることは、まず大前提として。

でも、説明をどこに書けばいいでしょう。

後から参照することを考えれば、出来上がった各画面の説明が必要な部分に、直接付箋を貼るようにして書いていきたいですね。 でもそうすると、出来上がるまで書けない。

いや、Subversion なんかでバージョン管理をするのであれば、コミット時のコメントこそ、そういう説明を書く場所としてはうってつけかも知れませんね。あわせて Trac も使っていれば参照しやすくもなるし。

欲をいうと、Web サイトや Web アプリケーションの実際の各画面からコミット時につけられたこれまでのコメントをすぐに見られるように、どうにか手を回せないですかね。MVC と層があるわけだから難しいでしょうか。あと、コミット時のコメントに追記ができるようになるといいですね。コミットしたユーザ以外でも。

説明のドキュメンテーションについては、なんかそういう方向で進化させることができないかなあと、今は夢のように思うだけなんですけど、いずれ、なんとかしたいものです。

-----------------
sent from W-ZERO3

0 件のコメント: