日本のソフトウェア開発事情

 大分前の記事になるが、ずっと気になっていたものがあったので、久しぶりに読み返してみました。


★ 続・なぜ「IT産業のトヨタ」は出ないのか

 この記事の中では、独立コンサルトの戸並氏と日経ビズテック編集委員の谷島氏による日本のソフトウェア業界の問題点についての対談がなされている。

戸並:品質は圧倒的に日本が上です。バグや障害は米国では当たり前ですから。日本は過剰品質なのかもしれませんが,国民性ですから品質は落とせないでしょう。

谷島:品質は高くても日本のソフトウエアに国際競争力はありませんね。

 品質が高くて競争力がないことは、以下のクスマノ先生の書かれた本にも書いてある通りで、事実だと思います。ソフトウェア企業に働く方であれば、以下の本は必読だと思います。著者は日本のソフトウェア企業にも精通していて、この本には、NEC, 富士通, 日立の事例も入っています。

★ ソフトウェア企業の競争戦略(マイケル A クスマノ)

 品質にこだわりがあるのは、日本では職人気質を美しいものとして好意的にとらえる風潮があるためのように思います。日本の歴史を振り返ってみると、士農工商だった時代から商売は軽いものと看做し、作る人を重んじる傾向が影響しているように思います。

 更に以下のように詳しく原因を議論しています。

戸並:ソフトウエア製品を考えた場合,品質がいいものが売れるとは限りません。ここが悩ましいところです。90-90の法則があります。90%を達成しても残りの10%をクリアするために,90%のコストと時間がかかると言います。となると80〜90%の品質で早く市場に出した方が競争戦略では正しいのでしょう。米国は合理的で損得主義ですから,ここいらの判断の素早さは日本の比ではありません。

谷島:商売の巧拙は別にするとして,そもそもソフトウエア開発は日本人に向いていると言えますか。

戸並:ハードウエアと違ってソフトウエアは関係要素数が桁違いです。ですから日本人が得意のはずです。少なくともロジックやアルゴリズムというプログラミングは,コンピュータ・サイエンス云々以前の世界です。日本人に向いていると思います。他人の作ったソフトウエアのメンテナンスがなければ日本の独壇場ではないでしょうか。メンテナナンスのやりやすさは標準化や規約ルールに比例します。ところが日本人は標準化とか規約ルールをともすれば守らないので,だれでもメンテナンスできるようにはなかなかもっていけません。

 日本人のプログラミングスタイルは、クロースドなものが多いように思います。頭の中で設計し、黙々と仕事をこなす職人気質がここにも現れているように思います。他の人とコミュニケーションしてレビューしたり、標準化された手法に則ってプログラミングするのが苦手なように思います。欧米は、オープンでシンプルにプログラミングしていくため、比較的、科学的な分析がしやすく、標準化も割としやすいように思います。

 また、雇用形態も関係があるように思います。日本では、終身雇用で比較的同じ人が同一製品を担当していくため、プログラミング情報を共有する必要性が薄いですが、欧米では、人材が流動的なため、プログラミング情報をなんらかの形で残していかなければならないと言う背景もあるように思います。

 そんな訳で、日本は、インテグラル型、欧米は、モジュール型開発が適しているようです。

 そのような形で、自動車工業のように部品を分解したり、作業を体系化するということは困難なようです。だから、「IT業界のトヨタ」は出ないのだと思います。