企業システムから自動車や携帯電話まで、ソフトウエアの利用分野は広がる一方。ところが、肝心のソフト開発のやり方はいまだに前近代的なままだ。「すでに限界が来ている」と、関係者の危機感は強い。今こそ、ソフト開発を工学的なアプローチで推進するソフトウエア・エンジニアリングの価値を再度見直し、本格的に導入すべきだ。新たなニーズに応えるべく、動き出したソフトウエア・エンジニアリン グの最新動向をレポートする。

(森側 真一、矢口 竜太郎、田中 淳)

総論
勃興する新時代のエンジニアリング

銀の弾丸はない――。ソフト開発を巡っては、必ずこのフレーズが飛び出す。確かに開発生産性や品質を一気に高める特効薬は存在しない。だが、悠長に事を構えている余裕はない。ソフトの急速な需要拡大と複雑化が進み、納期遅れが慢性化する今こそ、属人的なソフト開発のあり方を抜本的に見直す時期が来ている。国を挙げて、新たな動きが始まった。

写真1●経済産業省は今年10月、ソフトウェア・エンジニアリング・センター(SEC)を発足させた。(上)SECの鶴保征城所長(写真=木村 輝)
(下)11月に東京で開催された設立記念講演会の様子。約400人が参加した
 「高品質のソフトを効率よく開発する手法を確立し、普及させる」。NTTソフトウェア元社長の鶴保征城氏は、11月16日に東京で開催された「ソフトウェア・エンジニアリング・センター(SEC)設立記念講演会」で力強く宣言した(写真1)。鶴保氏はSECの所長として、ソフト開発を巡るここ数年の動きの中で最大級と言えるプロジェクトの舵取りを進めていく。

 日本のソフト分野における競争力を強化するために、産官学の枠を超えてソフト開発の新たな手法を研究する。これがSECの狙いである。経済産業省は今年度予算14億8000万円を投じて、10月1日付でIPA(情報処理推進機構)の傘下にSECを正式に発足。企業56社、大学14校、情報サービス産業協会(JISA)など10団体から約140人が参加する。NECやNTTデータ、CSK、日本IBM、野村総合研究所、富士通、日立製作所といった主要IT企業に加えて、清水建設や東京海上日動火災保険、東京電力、トヨタ自動車、松下電器産業などのユーザー企業が名を連ねる。

 11月の記念講演会は、実質的なSECのお披露目の場だった。参加した産官学の関係者約400人は、異口同音に期待の声を寄せた。「ソフト開発に関する公的な研究機関は長年、業界の悲願だった。ようやく、日本の技術レベル向上につながる仕組みができた」と、JISAの佐藤雄二朗会長(アルゴ21会長兼社長)はエールを送る。

エンジニアリングの姿勢が不十分

 SECが期待通りの効果を上げるかは未知数。ただ、SECの設立が、業界全体でソフトウエア・エンジニアリングに再度目を向けるべき時期が来ていることを象徴しているのは確かだ。

 ソフトウエア・エンジニアリングというと「何を今さら」と感じる人が多いかもしれない。確かに「ソフト工学」というと古めかしいイメージがつきまとう。しかも、ソフト開発に携わる人は、ほぼ必ずその恩恵にあずかっている。

 例えば、(1)構造化分析/設計やDOA(データ中心アプローチ)、オブジェクト指向分析/設計などの分析/設計手法、(2)E-R(エンティティ―リレーションシップ)図やUML(統一モデリング言語)といった表記法、(3)RUP(ラショナル統一プロセス)などの開発プロセス、(4)CMMI(能力成熟度モデル統合)などの管理手法、(5)EA(エンタープライズ・アーキテクチャ)やSOA(サービス指向アーキテクチャ)などのアーキテクチャ概念、(6)COBOLやJavaなどの開発言語、(7)Eclipseのような開発ツールなどはすべて、ソフトウエア・エンジニアリングの成果である。

 だが、本特集のために取材したメーカーやシステム・インテグレータ、ユーザー企業、研究者50人以上は口をそろえて、「現状のソフトウエア・エンジニアリングは不十分」と指摘する。ソフトウエア・エンジニアリング研究の第一人者である、南山大学 数理情報学部 情報通信学科の青山幹雄教授は「技術要素は広がっていても、工学的なアプローチが現場に根付いているとは言いがたい。勘と経験が頼りで徹夜作業が当たり前なのは、20年前と変わらない」と話す。

 結果として、ソフト開発はエンジニアリング化、すなわち工業化には程遠く、属人性が強いままだ。テレビ朝日は属人性を排したソフト開発を考えたが、結局断念した1社である。同社は今年2月に稼働したJavaで約100万ステップ規模の基幹システムを構築する際に、計画段階で「ソフトを部品化して、プレハブ建築のように作れないか」と考えた。ソフトの設計図を書けば、あとはツールが必要なソフト部品を組み合わせて、自動的にプログラムを作成するというのが思い描いていた姿だ。

 しかし、同社はその構想を断念せざるを得なかった。「ハードと違い、必要な部品の多くを自前で作らなければいけなかった。それでは自動化の意味がない」(上田昌夫総合情報システム局総合システム開発部副部長待遇)との判断からだ。同社は結局、プロセスをきっちり決め、ドキュメント作成やレビューを行うという従来通りのやり方でシステムを開発した。「ソフト開発のやり方は、もっと進んでいると思っていた。これではほとんど進歩していないと言われても仕方ないのではないか」。上田副部長待遇は、ややがっかりした表情で話す。

図1●職人芸的なソフト開発を工学的なアプローチに基づく開発へと転換すべき時期に来ている
 属人的なのは、ソフトの実装にかかわる部分に限らない。JISAが今年3月に実施したアンケート調査によると、コスト見積もりに工学的手法を使っているベンダーは半数程度。残りは、いまだに開発者の勘や経験に頼って見積もりを実施している(図1[拡大表示])。

組み込み系やベンダーも危機感

 ソフト開発が人に依存しすぎるという問題は、以前から指摘されてきた。にもかかわらず、事実上放置されていたに等しい。人月単価によるビジネスが現在でも当たり前なのは、その事実を端的に物語っている。

 しかし、さすがに限界が生じている。「中規模のシステムでは、納期遅れが8割以上。大規模システムでも5割近くが納期遅れ」。ユーザー企業で構成する日本情報システム・ユーザー協会(JUAS)が昨年10月にユーザー企業約900社に対して実施した調査では、こんな結果が浮かび上がった。「納期を短くしすぎると、必ずプロジェクトの失敗を引き起こす。ところが、現状ではどこまで納期を短くできるかを見極める工学的なやり方が存在しない。なので、レッド・ゾーンに足を踏み入れてしまうケースが後を絶たない」。JUASの細川泰秀専務理事は警鐘を鳴らす。

 企業システムと同様、組み込み分野のソフト開発を手がける企業も強く危機感を抱いている。「10年前はソフト自体が小さかったので、数人のエンジニアに任せておけばよかった。しかし、今では開発チームは数百人の規模。きちんとした方法論に基づいて作らないとどうしようもない」。松下電器産業の今井良彦ソフトウェアエンジニアリングセンター所長は、こう指摘する。

 テレビを例にとると、1992年の時点では、同社がソフト開発に費やす工数はテレビ全体の2%に過ぎなかった。これに対し、2002年に発売したデジタル・テレビでは50%に達したという。「これまでの属人的なソフト開発では、品質が悪化し費用が増大する。それでは競争に勝てない」(今井所長)。

 ソフト開発会社は、別の意味で危機感を抱く。中国やインドの台頭である。JISAの調査では、昨年中国にオフショア開発を依頼した金額は2002年と比べ2倍以上に伸びている。JISAの佐藤会長は、「価格競争では中国に勝てない。ソフト会社が独自の強さを確立して収益性を確保しない限り、淘汰は避けられない」と指摘する。

 日本のソフト開発会社の約75%は100人以下で、そのほとんどがコーディングだけを生業としている。「ひと握りの元請け企業が設計や分析を行い、実際の開発はその下請けあるいは孫請けの企業が労働力を提供するという、多段階の下請け構造が30年以上も続いてきた」(佐藤会長)結果である。しかし、人を出すだけのビジネス形態はもはや通用しなくなりつつある。CSKの有賀貞一代表取締役は「いま手を講じないと10年後は業界自体が存在しないかもしれない」と警告する。

新たなエンジニアリングが第一歩に

図2●Eソフトウエア・エンジニアリングの範囲と新たな動き
 以上に示したような問題は奥が深く、ソフトウエア・エンジニアリングを実践すればすべてを解決できるわけではない。だが、業界全体としてソフト開発力を上げるには、工業化が不可欠なことに疑いの余地はない。

 ソフトウエア・エンジニアリングの分野では、常に数多くの手法や技術が生まれている。その中で、注目されている動きは三つある(図2[拡大表示])。強引にくくればソフトウエア・エンジニアリングの「基本に立ち返れ」とでも呼べるものだ。

 第1のキーワードは「エンピリカル」。開発現場のデータを測定し、それを分析して評価し、現場にフィードバックするという、エンジニアリングの基本に立ち返る試みである。SECや、文部科学省が進めるEASEプロジェクトが中心になり進めている。

 第2のキーワードは「アジャイル」。これは日本の企業や組織が持つ本来の強みに立ち返る試みと言える。エクストリーム・プログラミングといった手法が知られているが、実は日本の強みであるチームによるカイゼンとの共通点が多い。第3のキーワードは「要求工学」。これは「そもそも何のために開発するのか」というソフト開発の動機に立ち返り、この分野を工学的に扱おうとするものだ。

 1970年代から80年代にかけて、日本のソフト開発の品質や生産性の高さが欧米から注目を集めた時期があった。そのころとはあまりに状況が違いすぎるので単純な比較はできないが、日本の現在のソフト開発力が欧米に注目されているとは残念ながら言いがたい。国や業界を挙げて新たな時代のエンジニアリングに取り組むことが、日本の開発力を取り戻すための重要な第一歩になる。