« マンゴスチン | メイン | 紙パックのワイン »

2006年10月28日

ソフトウェア開発は何に例えられるか

ソフトウェア開発は何に例えられるか、適切な分野は存在しないと言われている。
しかし敢えて言えば建築だと言われている。
要件を定義し、システムを設計し、インフラと上部構造を構築し、運用し、保守する。まあ似てる。

だが、内実は全然違う。建築の世界で、「世に発注された案件のうち8割は、失敗案件」、
なんてことはあり得ないだろう。しかしそれがソフトウェア業界の実態で、それだけ難しいのだ。
建築の世界は、「物理法則」という絶対に裏切らない鉄壁の制約がある。これがどれだけ有難いことか。
どんなにすばらしい建築アイデアも、物理的に微塵でも不可能があれば諦めることができる。
どんなにやる気の上司や力持ちの仲間がいても、2人や3人の人間の力だけでは、
10トンの石を動かすことはできない。起重機やクレーンが必要で、それがなければ諦めることが出来る。
しかし、ソフトウェア開発の世界は、そういう物理の制約がずっと小さい、人脳駆動の世界だ。
心頭滅却すれば火もまた涼し、こんな目論見で人が過労死するかと思えば、
逆に思いつきと技術力と3日の努力で長者になる事もあるわけだ。

前フリが長くなったが、ソフトウェア開発を何に例えるか?の答えだが、
私なら一応、「料理」と答えたい。その心は以下のとおり。

何を作るにもやり方はいくらでもある。定石はちゃんとあって、それに従うこともできる。
でも腕やセンスが悪ければどうやってもダメ、また物理的な素材(マシン)が悪くてもダメ。
成果物に対して、Aさんはウマイと言っても、Bさんはマズイと言う。要求をクリアしてもそれが評価。
例え皆がウマイと言っても、それが成功とは限らない。知らぬ間に依存させたりして害を及ぼすこともある。
充実した素材と技術で高級化を狙うも良いが、あり合わせでジャンクフードを作るも良い。
何にせよ「選択と集中」のやり方次第で、かなりの自由度で多くの事ができる。
しかし、多くの勘違いした外食事業者が、街角から現れては消えるように、
ソフトウェア産業も同じく、案件の創出と失敗を繰り返すのだ。

似たところは、いくらでもある。
飽くまでも比喩ができるかってことだけだから、言おうと思えばなんとでも言えるのだけど。
本当は何が言いたかったのかと言うと、ソフトウェア開発を「料理」に例えることでなら、
少し考えが柔らかくなり、単純にもなり、肩を張らず気楽にもなれるということだ。
長々と書いたが、その程度の意見なのです。あしからず。

投稿者 cergey : 2006年10月28日 23:12

コメント

コメントしてください




保存しますか?