5/20/2005

ソフトウェア工学?

orionaeさんが、『naoya氏の僕やはてながPerlを選ぶ理由を読んで。』
もしある人が「自分は薬品を混ぜていろんな物質を作るのを愛してるんです。
いろんなアイデアがわいてきて、そうやって作ったこの薬はこの症状にはすごく効くんですよ。」って言って提供する薬を、それを作った人が一切薬学や分子工学の知識が無いとわかっていて、あなたは人に薦められますか??
(略)
極端なようですが、上記ブログでnaoyaさんが述べられているのは、まさに同じことです。
ぜんぜん違います。はてなは作ったソフトウェアそのものを配布・販売しているわけではないのです(いや販売してた気もするな、まあいいか)。2つめのホテルの例はあたってます。薬の例とホテルの例、立場がぜんぜん違いまっせ。

『あなたはそのホテルを責任を持って沢山の人に紹介できますか?』実在のホテルを人に勧めるときに、そのホテルの建築プロジェクトが「ちゃんとやってた」かどうか調べますか?ホテルの比較とか雑誌によく出てますが、そういう切り口みたことありませんよ。手抜工事だ欠陥住宅だって問題は実際にあるにも関わらずですよ。それでも調べませんよね、普通。だってホテルを利用するのは建物がちゃんと作られているからじゃないもん。夜中に大型トラックが横を通ったら部屋全体がミシミシいったとか、外装はキレイなのに部屋の壁に雨漏りのしみがあるとか、そういう欠陥をもし発見したら、次から泊まらなくなる。それだけ。はてながそういうソフトウェアなんだとしても(ごめん、知らないけど)、他に移ればいいだけの話。僕の知ってる方は航空機を専門にしてたそうで、航空会社もさることながら機材も吟味して乗る便を選ぶそうです。でも、それ普通の行動じゃないですよね。機材を選ぶとしても、それは777は新しいとか、A330だとエコノミーの前のほうで電源が取れるとか、そういうサービスのほうであって、「根本的に設計に共感できない」とかいって機材選ぶ人は少数派でしょう。
ソフトウェア開発者の責任は、ほかのあらゆる製造業となんら変わりません。
目的である求められたシステムを、できるだけ最終目標に近い形で、効率的に、高品質で作ることです。
ソフトウェアを売って直接的に対価を得るものだと思ってる人にとって、売り切って知らん振りするためには堅く作ることが必要です。でも、はてなのようにソフトウェアはサービスを提供する手段である場合、堅く作ることと同じかそれ以上に重要なことがあるんです。

請け負い型の開発では注文されてから作るんで、作った後でそれが売れないことがわかるなんてことはほとんどない。それどころか、作ってもらったら実際には使えねーシステムができてきて、使えねーもん作ったくせに金だけは最初の契約どおりに持っていったりする。だから工学とかのんきなこといってられるんでしょう。はてなはそういう商売をしていません。それだけ。そりゃはてなにだって信頼性は絶対必要ですよ。個人情報漏洩しちゃダメとかね。でもソフトウェア工学はそこんとこ解決しないでしょう。もし解決するんならソフトウェア工学者は仕事をサボりすぎですよこのご時勢。

<余談>911のときに、建築な人たちが結構ビルの構造についてまじめに語るのを見かけた気がするけど、個人情報漏洩事件があったときにソフトウェア評論家みたいなのが出てこないのは、そういうことを学問してる人がいないっていう証拠なのでは?あ、でも戦争紛争テロがあるとTVに登場する軍事評論家は学者じゃないか。</余談>

僕もシロウトなんでツッコミどころ満載なんでしょうけど、一応10年SI業界で給料もらってみて、ソフトウェア工学なんて学問が本当に存在するのかどうかすら疑問です。あ、あと、小さく軽くシンプルに始めて、拡張に対して柔軟であろうとすることを、『Hacking的な方法』という言葉で貶めようとするのはどうかなあと思いますね。

0 件のコメント: