「現在の企業情報システム開発は前時代的な家内制手工業。生産性と品質を向上するには,ソフト開発を近代化するしかない。そのための一つの解決策が『ソフトウエア・ファクトリー』だ」。大手システム・インテグレータ,新日鉄ソリューションズの大力修氏(常務取締役)は,こう語る。

 同社は,ソフト開発方法を根本的に変革する「ソフトウエア・ファクトリー」(名称は「次世代分散開発支援環境」)を構築。2006年10月にパイロット・プロジェクトに適用し,2007年にも実運用を開始する。正式にソフトウエア・ファクトリー構築プロジェクトを開始したのは2004年だが,「ソフトウエア・ファクトリーの構想自体は十数年前から温めていた」(大力氏)という。

支援ツールを集約してリモート利用

 同社が構築したソフトウエア・ファクトリーの概要を図1に示す。図に示すように,構成管理やドキュメント作成,コード・ジェネレータ,自動テスト・ツールなどの「開発支援ツール」や「プロジェクトマネジメント・ツール」,「コミュニケーション支援ツール」,「知識・情報共有ツール」,コード・ジェネレータに入力するテンプレート(ソフトのひな型),全社共通のソフト部品など,ソフト開発に必要なすべてのリソースを1カ所(リソースセンター)に集約した。これは,工場の設備に当たる。

図1●新日鉄ソリューションズが10月に試験稼働させるソフトウエア・ファクトリー(次世代分散開発支援環境)の概要
図1●新日鉄ソリューションズが10月に試験稼働させるソフトウエア・ファクトリー(次世代分散開発支援環境)の概要
ツール群とアプリケーション基盤,プロジェクト・データなどを一つのセンターに集約し,すべてのプロジェクトがリモートで利用する
[画像のクリックで拡大表示]

 開発支援ツールについては,単独のプロジェクトではなかなか購入できない高価なツールや,同社のシステム研究開発センターが独自に開発してきた最新のツールをそろえた。開発支援ツールは,SOA(サービス指向アーキテクチャ)の考え方に基づいて構築しているので,柔軟に最新のツールに入れ替えられる。

 このリソースセンターを,すべてのプロジェクトのメンバーが,ネットワーク経由でWebブラウザから利用する。いわば「ソフト開発用の社内ASP (Application Service Provider)」(大力氏)である。工場の生産管理システムと同様,利用者の画面には作業指示書も表示。また,プロジェクトの成果物(ソースコードやドキュメント),テスト結果など,プロジェクトに関するデータはすべてリソースセンターのデータベースに蓄積されていく。

 リソースセンターをすべてのプロジェクトが利用することで,最新の開発ツールやテスト・ツールの恩恵を受けられるため生産性や品質が上がり,開発手法の標準化も図れるため保守性も向上する。バグ数などのプロジェクト・データもリソースセンターのデータベースに蓄積されるので,これを見ることで各プロジェクトの状況も把握しやすくなる。加えて,リソースセンターのデータベースに蓄積された様々なデータを統計的に分析することで,工場設備に当たるリソースセンター自体の「改善」も可能となる。大力氏も「現在はまだいないが,将来的には工場設備自体を改善していく専門スタッフを置きたい」と期待する。

 要件定義などの上流工程の支援機能は,ソフトウエア・ファクトリーには入っていない。これは従来通り,個別プロジェクトの担当者が実施するが,上流工程についても将来のソフトウエア・ファクトリー構想には入っているという。大力氏は「まずは,人月ではなく生産性の高さを評価してくれるユーザー企業とパイロット・プロジェクトを始める。2年くらいは非常に苦労すると思うが,ぜひ乗り越えたい」と意気込みを語る。