見出し画像

日本のソフトウェア業界に革新を (2004年9月)ネット時評

 今年の1月の日経ネット時評に『ソフト開発を魅力ある職業に――古くて新しいソフトウエア問題』というコラムを投稿したが、ソフトウェア開発の生産性と品質の向上を阻んでいる要因を分析し、その解決策を考えてみた。細かな点は省いて言えば、
(1)プログラマの生産性は個人によって大きく異なっているので、優れたプログラマの処遇を改善して生産性の高い人たちが集まる企業(産業)にすること
(2)進捗管理が困難なウォーターフォール・モデルから脱却すること
(3)ユーザー企業がシステム開発により積極的に参加すること
が必要である。

(注)この原稿では、コーディングをする人(プログラムを書く人)だけでなく、システム開発に従事するソフトウェア技術者を「プログラマ」と呼んでいる。

個人の能力に応じた処遇

 1960年代以降、多くの研究によって、プログラマの生産性は個人によって大きく異なることが実証されている。たとえば、トム・デマルコとティモシー・リスターの研究では、最優秀者の生産性は平均の2.5倍であり、上位半分と下位半分を比べるとその平均値の差は2倍以上ある。この事実から考えると、生産性や質を向上させるには優秀な人材を集めることが最も重要なことである。

 しかし、日本のプログラマの給与は、その能力や実績ではなく、ほぼ年齢によって決まっている。(社)情報サービス産業協会が2003年に実施したソフトウェア業界の年収に関する調査研究によれば、年齢、職種、業務スキル、会社規模などを説明変数にして年収の重回帰分析を行うと、年齢が1歳上がると年収が15万円ほど上昇するという結果が得られている。職種や業務スキルも無関係ではないのだが、最大の決定要因は年齢である。さらに年齢階層別に年収をみるとそのばらつきはかなり小さい。

 1月のコラムで述べたように、ソフトウェア開発現場におけるスケジュール遅延、徹夜作業、休日出勤というイメージがプログラマを魅力のない職業にしており、それが原因で優秀な人が集まらず、そのためにソフトウェアの生産性が向上せず、工期が遅れて残業が日常化しているという悪循環が起きている。

 この悪循環を断ち切るには、優れた人が集まるような企業(産業)にしなれければいけない。そのためには、優れた人をきちんと評価し、それに応じた処遇をするという仕組みが必要である。
 

ウォーターフォール・モデルからの脱却

 第2の大問題は、ソフトウェア開発プロジェクトの多くがウォータフォール・モデルを採用していることである。ウォーターフォール・モデルとは、ソフトウェア開発の工程を
(1)要求定義
(2)設計
(3)コーディング
(4)テスト
(5)保守
に分け、これらを順番に実施するという開発モデルである。このモデルの特徴は、前工程の成果物が次の肯定を決定する点にある。つまり、前工程がきちんと実施されていることを前提として次の工程が始まる。しかし、実際には作業工程が進んでから前の工程におけるミスが発見されることが少なくない。前の工程におけるミスが発見されれば、その工程まで戻って作業をやり直すことになる。これが手戻りである。

 ウォーターフォール・モデルにおける最大の問題は、工程の最終段階に近くなってから要求定義や概要設計におけるミスが発見される点にある。分かりやすく言えば、システム開発が一通り終わり、顧客による受入れテストになって要求定義や概要設計における誤りが見つかるケースが多いのである。こうなると納期が守れないばかりか、コストは大幅に超過し、大赤字のプロジェクトになってしまう。

 こうしたウォーターフォール・モデルがもつ欠陥については、昔から何人もの専門家が指摘しているのだが、依然として多くのプロジェクトがウォーターフォール・モデルを利用している。これを動くソフトウェアによって進捗を管理できる開発モデルにしなければいけない。

ユーザーがより積極的にソフト開発に参加すること

 第3の問題点は、ユーザー(発注者)のソフトウェア開発に対する理解不足である。多くのユーザーが、ソフトウェア開発はソフトベンダーに任せておけばよいと考えているようにみえる。しかし、受託開発型の情報システムの良し悪しはソフトベンダーの技術力だけに左右されるわけではない。システムの基本的な性能や機能は、ユーザー企業が作成した(あるいは承認した)仕様書によって決定される。システムがどれだけ使い勝手のよいものになるのか、業務改善にどれだけ役立つのか、どれだけの価値を生み出すのかなどはユーザーが大部分を決定しているのである。よい情報システムはユーザーの協力なしには構築できないと言っても過言ではない。

 それからもう一つ。よいシステムにはそれに応じた十分な対価を支払うべきである。開発費用を削りすぎると、開発チームが労働単価の安いプログラマばかりになったり、仕事がなくて困っている企業に丸投げされて、最終的に「安物買いの銭失い」になってしまう可能性が高い。

 実は、昨年の秋から約1年間、日本におけるソフトウェア産業やソフトウェア開発プロジェクトの抱える課題とその解決方法について研究を行ってきた。このコラムはその結論部分の要約である。研究の成果は、今月の中旬に出版した『ソフトウェア最前線 日本の情報サービス産業界に革新をもたらす7つの真実』(アスペクト)としてまとめた。著者としては、プログラマやシステム管理者などのソフトウェア開発プロジェクト関係者だけでなく、情報システムのユーザーや企業経営者にも読んでいただきたいと思っている。是非、書店で見かけたら手にとっていただきたい。

関連記事:『ソフト開発を魅力ある職業に


この記事が気に入ったらサポートをしてみませんか?