ソフトウェアエンジニアはシェフだったはずなのに
2006-03-23 11:56
またまたLife is beautifulのエントリーより
この喩えは大変しっくりときた。そうだ。実際にソフトウェアを作っている人間はシェフだったのだ。なのにレストランのシェフとプログラマーの「日本における社会的地位の差異」はなんなのだろう。
料理本があればシェフは要らない、と叫ぶ声はあまり聞いたことが無い。しかし完璧な詳細設計書があればプログラマーなんて誰でも同じだ、という信仰は(誰も口に出してはいわないだろうが)はびこっているように思う。
ここでいきなり話は飛ぶ。
最近何故共産主義が惨めな失敗に陥ったのかと考えている。理由はいくつも挙げられるのだろうが、ここ数週間考えているのは
「本来経済というものは完全に計画できないものなのに、それを計画しようとした」
ということだ。
では自由市場に任せておけばよいかと言われればそれも間違っている。適度な計画に適度な自由さが混在していてなんとか均衡を保っているわけだ。
この「適度な計画と適度な自由さの混在」
というのはいろいろな場所に存在しているのではないか、と思われる節がある。そしてソフトウェアの開発-規模の小さなものから大きなものまで-もそれに該当するのではないかと思えるのだ。
そしてLife is beautifulの言葉を借りれば
「ウェイターがレシピを書き、アルバイトが料理を作る状態」
というのは経済における共産主義と同じく、本来完璧に計画-この場合は設計か-ができなソフトウェアというものを、計画できる物である、と誤解していることから起こるのではないかと。
こうした
「計画性への過信」
はどこから起こるのか。思うに大企業ほど計画が好きである。自分たちが現実から離れれば(ソフト開発で言えば、下請けに●投げする)離れるほど、計画に対する「信仰」が強まる。そして美しくそして現実から乖離した計画が尊重されるようになり、とんでもないことが起こる。
計画ができないものを扱うためには、現実からのフィードバックを常に受け止め、実際に現実に接している人間が(人間が持つ偉大な)柔軟性を発揮した行動を取れるようにしなければならない。料理の材料は季節によっても変わるし、仕入れの度に変わる。それに柔軟に対応してすばらしい料理を作り上げるのはシェフであり職人。なのにコードを書く人間など外注でOKと信じる人たちは「レシピがあれば料理人などアルバイトでOK]と言い切る。そうしてできあがっているファミレスの意義を軽んじるわけではないけれど。