仕様明確化のためのプロトタイピング

プロトタイピングの一種だと思うが、「現物主義」というのが、話題になっている。

仕様を明確にするために試作品をつくるということは、製造業では以前から行われてきた。ソフトウェア開発においても、プロトタイピングは、「人月の神話」やウォーターフォール型開発のもととなったWinston W. Royceの論文においても一種のプロトタイピングについて言及されている。
仕様を明確にするために試作品をつくる必要がある理由の一つは、コミュニケーションの難しさにある。困難なコミュニケーションを補う重要な手段として、プロトタイピングがある。書き手が意図したものと読み手が読み取ったものとが大きく食い違っていることが珍しくない。この食い違いをすり合わせるためにプロトタイピングが必要となる。

書き手が意図したものと実際に書かれたものとが一致しない

そもそも、書き手の意図したものと実際に書かれたものとが滅多に一致しない。プログラムが書いた通りに動いているが、意図したとおりには動いていない。そういう経験はプログラムを書いていれば何度もあるはずである。書き手が意図したとおりに仕様書を書くというのは至難の業である。
自然言語のもつ曖昧さを考えると、書き手の意図したものと実際に書かれたものとが一致しているか否かの判定自体が困難である。

書かれたものと読み手が読み取ったものとが一致しない

コンパイラにもバグはある。ましてや、人間が読み取ったものが書かれたものと一致しないのは何の不思議も無い。
自然言語のもつ曖昧さはここでも問題になる。プログラミング言語のような人工言語で仕様を記述しても、人間が読み取る以上は最終的には自然言語で解釈されることになるから、自然言語のもつ曖昧さからは逃れられない。