A氏「いやー、まいったまいった。今度のプロジェクトの前のシステムなんだけどさ」
B氏「先輩、どうかしたんっすか?」
A氏「いやもう、ひどいのなんの。アジャイルとかって今流行りのヤツでやっつけたらしいんだけどさ、無いんだよ」
B氏「無いって、コードが?」
A氏「コードはバッチリあったさ。無いのはドキュメント!もうね、客もなにも無いっつーし、ホントに無いんだろうな。おかげでこっちゃ何かにつけてコードと首っ引きさ」
B氏「そりゃキツイっすねー…(ヘタに首つっこまんどこ。くわばらくわばら)」
ウォーター・フォール開発とアジャイル開発の最大の違いは、きちんと設計というフェーズを経ているかどうかだ。これは過去RAD開発というものが出たときも最大の違いとされた点で、スパイラル開発方法論が息を吹き返すたびに繰り返している争点だ。
どうも、よっぽど設計というものが退屈きわまりなく、プログラマという連中はそれをないがしろにしたいらしい。
しかし設計をおろそかにすると、しっぺ返しが必ず返ってくるものだ。
- 設計書をきちんと取り纏めないと、アーキテクチャの統一が疎かになる。
- きちんと設計した設計書なしにプログラマにコードを書かせるのは、無謀に近い冒険だ。
- なにか障害が起こった場合に設計書がないと、それが実装段階で入り込んだものなのか設計から入り込んだ障害なのか、はたまた要件から来ているのか、判別が難しくなる。(そしてそれは契約問題に発展しかねない)
- システムを保守する段階で、また新しく作り直す段階で、設計書はシステムを正しく伝えるドキュメントとして威力を発揮する。
だからこそ、きちんと設計フェーズを設けているウォーター・フォール開発が有効なのだし、根強く人気があるんだ。
続きを読む