基本的に、仕様書は、上流工程から下流工程のプログラマへの「こういうものを作ってね」という依頼書としての側面が強い(はず)。
プログラマはそれを見て、これじゃ難しいなど、評価して、問題があれば、修正してもらう。
ところが、日本では、上流工程が仕様書を書かず、プログラマが上流工程の人の要望を聞いて書くことが多いため、「こんなのどうですか?」というプログラマからの提案書になる。
それに対して、上流工程の人が、駄目だといって、プログラマが修正する。
仕様書の役割が、全然違う。
そして、一番違うのは修正理由だ。
前者のプログラマが、上流工程に修正してもらう場合、理由は、難しい・無理と言った作業上・技術上の問題だ。
しかし、後者の上流工程が否定し、プログラマが修正する場合、その理由は、自分のイメージと違うなどと言ったことが原因になる。
だったら、あなたのイメージを正確に伝えるために、あんたが仕様書書けよ。となるのだが、日本ではそうならない。あくまでも、プログラマが察してあげないといけないのだ。そして、プログラマが、ストレスを感じながら、修正することになる。