要約(4):ソフトウエア企業の競争戦略

http://d.hatena.ne.jp/hidekoji/20050507

先日の続きです。今回からは第4章のBest Practices in Software Development:ソフトウェア開発のベスト・プラクティスについて。

The Software Factory (ソフトウェア工場) Solutionは何故うまくいかないのか?

日本の往年のコンピュータ・メーカーが得意としたソフトウェア開発の方法。半導体の設計/製造や、消費財等の大量生産といった、製造業やエンジニアリング業で培った工程管理や品質管理のノウハウをソフトウェア開発に応用したもの。

とても印象的だったのは次の説明

Most fundametally, software development is not a manufacturing activities;it is more a form of product design, where design is the product and replication is trivial

そもそも、ソフトウェア開発は(工場で製品を)製造することとは違う。ソフトウェア開発というのは、むしろプロダクト・デザインの一つの形なのである。ここではデザイン(自身)が"製品"なのであり、そのreplication(複製:デザインからコードになるところ)というのはそんなに重要ではないのである。

これは実に的を得た説明だと思います。

製造業の場合は、いくら優れたデザインを書いたとしても、製造段階でのちょっとしたミスも、実際にできたものの見た目や触った感じ、酷い場合は性能にも大きく影響してしまいます。これではユーザーに納得してもらえません。しかしながら、ソフトウェアは、乱暴に言ってしまえば、ある入力に対して、デザインした通りの出力*1さえでてくれば、ユーザーは文句ないのです。*2つまり、ある入力に対して、すばらしく洗練されたロジックを通してでてきた出力も、そこそこの洗練度合いのロジックによってでてきた出力も、結果がデザイン通りであれば、ユーザーの目には違いは分からないのです。ユーザーからはブラックボックス化されてしまう実装部分よりも、こんな入力したら、あんな出力がされるというデザインや発想がより高いビジネス価値を生むのです。ということで、ソフトウェアビジネスで勝つにはまず、いいデザインや発想がありきで、で、その次に、それを実装するテクニックや方法論がポイントになってくるのです。

自分は日本のソフトウェア会社に身を置いたことがないので、想像でモノを言いますが、日本のソフトウェア産業で世界に伍していける会社が少ないのは、きっとこのデザインや発想の部分よりも、実装の部分に重きを置いてしまっているからなのでしょう。不具合が少なくても、ユーザーにいいなと思わせるデザインでない限り売れないですよね。

ただ、日本でも未踏ソフトウェア創造事業 
http://www.ipa.go.jp/jinzai/esp/
のように、創造や独創性に重きをおいたソフトウェア開発といったものに重きをおいた動きもでてきています。そして、この未踏ソフトウェア創造事業からは
http://www.softether.com/jp/
といったソフトウェアもでてきています。

こうした、流れが日本でも加速していけば、世界に伍していけるソフトウェア企業が今後増えてくると期待したいです。

*1:ここでの出力とは、手で触れるモノではなく"情報"

*2:パフォーマンスとかメンテナンス等はここで無視して