ドキュメントとソースの乖離

ドキュメントとソースコードの内容が乖離してしまうことはよくあることですね。

アジャイル開発の場合、最初のリリース後の反復は、まさしく積極的な保守のような開発になる訳で、そうなると、ドキュメントが多くあると変更コストが高くなるため、なるべくドキュメントの量を減らすようにしています。ドキュメントがあることで、変更コストが高くなるというのはどういうことでしょう。それは、動くソフトウェアとドキュメントの内容を同期しないといけないからですね。アジャイル開発をする場合には、乖離しないための手段を考えることは成功のために大切なことになってきます。

また、私は、以前から、テスト駆動開発(TDD)で開発する際には、テストケースのソースコードを置くディレクトリは、なるべく、テスト対象のソースコードの近くに置くべきだと主張してきました。同じプロジェクトのディレクトリに置くことはもちろん、できるならば、テスト対象と同じディレクトリにテストケースを置く方が良いと考えます。その理由は、テスト対象とテストケースの同期をとるためのコストを最小限にするためです。人間は基本的にものぐさな生き物です(私が特にそうです)。保守改修の際に、テスト対象のソースコードから少しでも別の場所にあると、それだけでテストケースを書く意欲が下がってしまいます。一緒に修正すべき対象はなるべく近くにあるべきなんです。(同じディレクトリに置けなくとも、IDEなどですぐに呼び出せるなら良いですね。)

ドキュメントとソースコードの内容の乖離を低コストで防ぐ、そして、ドキュメントとソースコードをなるべく近くにする、ということを実現するアイデアを、私の友人が公開しています。

http://dev.chrisryu.com/2007/04/showyou_html_ajax.html

これからの展開に期待です。画面上からも内容の編集できたら良いかな。