2010年3月22日月曜日

クライアントの要求を、日本語で確認するのは無理だと思う

「日本語」とか「英語」とかのことです。厳密には、自然言語とか言うらしい。
だけの話、の、つもりでしたが、プログラム言語もそうかもしれない。

言語は、概ね1次元表現ではないか、と思います。

ツッコミ所満載だと思いますが、まあ続きを。

一方、人間の思考は、4次元以上はある気がします。
少なめに見積もっても、3.5次元以上?

故に、自分が考えていることを、他人に説明するときは、
4次元から1次元に変換しているということです。
これはどエラいことです。
誤解や語弊があって当たり前です。

ああ、そうかもね、って気がしませんか。

絵というか、図は間違いなく、2次元でしょう。
図表を使うと、誤解がゴッソリ減る経験は、皆さんもある筈です。
そりゃそう、文章に変換するよりも、1次元得してますからね。

オチは、ソフトウエア受注開発の話です。
最近の個人的見解では、ソフトウエアの仕様は、4.5次元ぐらいある気がします。
故に、作ってる本人でさえ、全貌を把握するのは困難でしょう。
要件定義段階で、お客さんが把握するのは、まあ無理でしょう。

これを1次元の日本語で説明したり、1次元のプログラム言語で実装したりする訳ですから、
出来上がってみたら、「あれ、こんなのだっけ?」というのも程度仕方ないとは思います。

結論として、プログラムは、ある程度出来上がってからじゃないと、
お客さんの脳内と比較ができない、ってことですね。

とはいえ、終盤の出戻りは、コストに響くので、避けたい所です。
どうにかならないものかと日夜考えては居ます。