仕様書が法律で、運用が行政です。
お役所仕事や、法律の抜け穴を見れば分かるように、巨大な仕様書はそれ自体が穴です。
運用でカバーとかいうのが虚しく聞こえる理由も分かるでしょう。
時限立法の法律を乱発する理由はなんだかわかりますか?
従来仕様との矛盾や、行政の穴について詳しく理解しなくてもよいからです。
特定のリリース向けのパッチを乱発するのと似ています。
そうしてパッチばかりが溜まっていきます。
そうです、差分仕様書です。
CVSやsubversionはソースコードのツリーを管理してくれます。時系列のツリーも管理してくれます。正確に言えば管理するツールを提供してくれます。
どうして仕様書の分岐をだれも管理してくれないのでしょうか。
実装が枝分かれしていくのに、仕様書は1冊です。
XXXの場合は、とか、YYYの場合はとか、であふれかえってしまいます。
差分仕様書同士が矛盾していたりします。
結局、diffが取れて、機械的にマージできて、再帰的にテストできる仕様書の表現手段がないということに気づかされるのです。