ソフトウェアの開発を外部に発注する場合、その発注先が国内にせよ、海外にせよ、機能を記述した仕様書というものを作成して、受注した側は、その仕様書に基づいて設計開発を行う。しかし、よほど簡単な機能のものでない限り、仕様書にその機能についてすべてを書き出すことは不可能であるということは認識しておかなければならない。特にユーザインタフェースについては、あらかじめ想定しての記述が非常に難しいということに加えて、発注側の好みや慣れまでを含めると、まず完全に合意するものを記述することはできない。そのため、特にユーザインタフェースにおいて、開発終了後に問題がでることが多い。 この問題の原因は、仕様書に開発に必要なすべての機能が書かれているべきだ(書かれていない部分は、希望するやり方がないのでまかされている)と思っている受注側と、プロなのだから仕様書に細かく書かなくても、それなりにやってくれて当然と思ってい
![ソフトウェアの機能は、すべて仕様書に書ききれるという誤解:Software Development:オルタナティブ・ブログ](https://cdn-ak-scissors.b.st-hatena.com/image/square/0d93b6190892529c93446cafe8c1994534989ecb/height=288;version=1;width=512/https%3A%2F%2Fblogs.itmedia.co.jp%2Fmt-static%2Fsupport%2Fassets_c%2Fuserpics%2Fuserpic-42-100x100.png)