システム開発ソフトウェア開発は壮大な伝言ゲームであるとすれば、仕様書とは伝言ゲームにおける意志疎通を目的として作られるものと言えます。そもそも意志疎通できなければユーザの希望するソフトウェアなど開発できません。 しかし開発の現場を見渡すと、とても意志疎通ができるとは思えない仕様書に出会うことが多くないでしょうか?仕様書はユーザとベンダ間の意志疎通という目的を離れ、後に障害が発生したときに「バグ(仕様書に書いてある)」か「仕様変更(仕様書に書いてない)」を切り分けるための道具としての役割が大きくなっている気がします。 ユーザとベンダはそれぞれ次のような思惑があるのでしょう。ユーザ『仕様不備ではバグとして無償対応させられないので、些細なことでも明記したい』ベンダ『仕様に明記していない事項が変更されても仕様変更として費用請求できないので、仕様書に明記されたものしか実装したくない』両者の利害が合致