ソフトウェアの仕様書は料理のレシピに似ている

http://satoshi.blogs.com/life/2006/03/post_8.html
うーん,ほとんど全くその通りなんで突っ込みどころがまるでない.

私はこの業界で多くのエンジニアも使ってきたが、優秀なエンジニアとそうでないエンジニアの生産性は(誇張抜きで)20対1ぐらいである。そんな簡単な作業しか出来ないエンジニアとも呼べないようなエンジニアが沢山いてもマネージメントが大変なだけである。

これらは常識なのだが,なぜか公式の場やマスコミには存在しないことにされてしまう.

そしてもっとも許せないのが、そういった上流→下流という階層構造でプログラムを作る工程そのものだ。(中略)
日本のエンタープライズ系のソフトウェア業界は、そんな根本的に間違ったソフトウェアの作り方を長年してきたために、まるで建築業界のような下請け・孫請け構造が出来てしまい、下流のエンジニア達が十分な経験も得ることが出来ずに低賃金でこき使われ、業界全体として国際競争力をなくしてしまう、という状況に陥ってしまったのではないか、というのが今回の私の仮説である。

全くその通りです.

しかし、私が一度働いたことのあるNTTの研究所では、ほどんど自らソフトウェアの開発をしたことの無い人達が詳細資料書を書き、それを外注に発注してプログラムを書かせる、というソフトウェアの作り方をしていた。学生時代からプロとしてソフトウェアを作っていた私は、新入社員にも関わらず「こんなやりかたじゃ良いソフトは作れません」と上司たちにくってかかったのだが、誰一人として理解してくれなかった。

これも,その通りですね.そういう時はさすがに悩みます.「私一人だけが間違っているのだろうか.それとも私一人だけが正しいのだろうか」と.

しかし今の日本のIT業界の実態を見れば見るほど,正しいのは私の方だと確信している.上のような連中は自分で考える能力がないので,今までのやり方を踏襲しているに過ぎない.*1

シェフがレシピだけ書いてキッチンにも立たないレストランには行きたくないし、ましてや自分で料理したこともないシェフが書いたレシピを元に作った料理がおいしいわけがない。

いやあ.なんせお客が味音痴なもので.どんなに不味い料理を出しても値段が一律で決まっているんですよ.*2

以下はその実例ですね.

最終的にできあがったコードの行数で開発費を支払います、なんてことをやられました。(中略)効率のいいプログラムを書いたほうが支払われる開発費が少ないなんてこんなプログラマをバカにしたようなことを平気でやる企業があるなんて異常だと思います。

これに関しては、NTTもまったく同じでした。つまり、シンプルで短くて読みやすいプログラムよりも、だらしなく長いプログラムを書いた方がお金が沢山もらえる、というシステムになっていました。これでは、良いプログラムが作れるわけがありませんよね。

厳選した材料を一昼夜煮込んだとんこつラーメンとお湯を入れて3分間待つインスタントラーメンの味の違いが分からないお客ばかりだと,腕によりをかけて作っているラーメン屋は全部潰れてしまいます。
http://hotwired.goo.ne.jp/original/maegawa/050208/03.html

*1:平たく言えば「初心者です.全く分かりません.具体的に分かりやすく全部教えてください.困っているので大至急お願いします.」と同レベルの思考回路.物事の是非を多数決でしか判断できないので,「赤信号,みんなで渡れば怖くない」とみんなで渡ってきたわけです.でも,もしそこで止まってくれない車がいたら,どうなるでしょうか?

*2:さらにひどい場合には一律に値下げを要求される.