ソフトウエアは生物です.

http://blogs.itmedia.co.jp/barbaro/2006/08/post_3180.html

両者にとって前提として理解しておかなければならないことは、ソフトウェアは生モノだということです。よくソフトウェア開発をビル建築なんかにたとえますが、ソフトウェアはもっと足が早いものだと思います。むしろ、料理に近いかな。素材や水、気候、飲み物、お客様の嗜好などによって、同じものでも決して通り一遍の作り方ではうまくいきませんし、そして何より、食べごろ、旬があります。

その通りだな.仕様凍結に依存する開発手法が失敗する理由の一つはここにある.仕様は凍結できても,社会の変化は凍結できない.変化できないソフトウエアはすぐに賞味期限切れになって,完成した頃には次のリプレースを検討を始めなければならなくなる.

ソフトウェアの鮮度を長持ちさせる方法として、例えば、夏場のおにぎりは鮭はやめて梅干にしようとかいうように、影響を与える外部環境の耐用年数を加味した設計技法が語られてもいいように思います。この視点から行っても、最終的には依存性をどれだけシンプルにできるかという普通の設計のイロハの話しに帰結しますしね。

うーん,いわゆるアジャイル開発などがその答のハズなのだが....

いまだに古式ゆかしい「上流工程主導のウォーターフォールモデル」に固執して,「オブジェクト指向などクソの役にも立ちません」と寝言をほざく日本企業には無理な相談だろう.