今回は,ソフト開発に必要なツールやソフト部品の集約(製造業にたとえれば工場設備=製造ラインの構築)に取り組んでいる企業を紹介する。

 このタイプのソフトウエア・ファクトリーに取り組んでいるのは,第1回で紹介した新日鉄ソリューションズのようなベンダーだけではない。独自に取り組んでいるユーザー企業もある。

 食品/化学メーカーのADEKAはその一例だ。同社は,開発するアプリケーションの種類ごとに,あらかじめ工場の設備(製造ライン)に当たる「プログラム製造工場」を作成している。

 プログラム製造工場は,データベース・スキーマ,データベースのアクセス部品,業務処理プログラムなどを自動生成するツールやテスト・ツール(これらを同社では「ロボット」と呼んでいる)を「データベース製造」「部品製造」「メインプログラム組立」といった工程ごとに,パソコン・ソフトとして集約したものである(画面1)。

画面1●ADEKAが整備した「プログラム製造工場」の画面例
画面1●ADEKAが整備した「プログラム製造工場」の画面例
特定のアプリケーションごとに開発作業を自動化するツール群である「プログラム製造工場」を整備している。これにより,新しい機能の追加や修正を効率化できる
[画像のクリックで拡大表示]

 例えば,2004年末に開発を始め,2006年1月にカットオーバーした「販売管理システム」を開発する際は,要件定義作業と並行してプログラム製造工場を作成。詳細設計が済んでから順次,プログラム製造工場で必要なプログラムを生成していった。2005年12月にカットオーバーした「管理会計システム」の開発でも,プログラム製造工場を整備した。

 「プログラムの自動生成などできるのか」と,疑問に思う読者もいるかもしれない。確かに汎用アプリケーションの自動生成は難しい。しかしADEKAの場合,アプリケーションの種類ごとに自動生成ツールを作成しているために,プログラムの自動生成が可能になっている。

 例えば販売管理システムは,業務処理のパターンがある程度決まっている。このため,ソフト部品のひな型を用意しておき,アクセスするファイル名やデータ項目を入力すれば,プログラムを自動生成できる。「機械的にできる作業を『プログラム製造工場』に任せることで,エンジニアは要件定義や設計といった作業に専念できる」と,プログラム製造工場を使った開発に携わったADEKAの一色秀俊氏(情報システム部戦略システムグループ グループリーダー)は話す。

 一色氏は「プログラム製造工場を使うことで,設計内容に変更が出て手戻りが発生したときも,慌てることなく対処できた。仕様変更にも大きな効果がある」と指摘する。プログラム製造工場を使えば,必要に応じてソフト部品を何度でも生成し直せるからだ。手作業での変更はコーディング・ミスによる品質低下(デグレード)が発生する可能性があるが,プログラム製造工場でソフト部品を生成することで,「高い品質を保ちながら仕様変更が可能になった」と一色氏は説明する。

 同社は,販売管理システムと管理会計システムの開発プロジェクトに加わっていた協力会社にも,このプログラム製造工場を使ってプログラムを開発するよう依頼した。その結果,「受け取ったプログラムに品質面の問題はなく,スムーズに作業を進められた」と一色氏は話す。

ファクトリーを目指すベンダー

 ソフト開発に必要なツールやソフト部品の集約(工場設備=製造ラインの構築)に取り組むシステム・インテグレータも増えている。

 例えば電通国際情報サービスは2006年初頭に,金融業向けの業務アプリケーション開発に特化した「金融工場」と呼ぶ取り組みを開始した。

 金融工場では,オープンソースのJava開発フレームワークである「Seasar2」上で動く金融アプリケーションや.NET Frameworkを使ったインターネット・バンキング向けアプリケーションなどを対象に,開発ツールやソフト部品を集約し,複数のプロジェクトが標準的な手順で利用することを目指している。これにより,生産性の大幅な向上を狙う。エンジニアの残業時間も減らしたいという。「隣接するオフィスビル群の中で,夜に当社のオフィスの明かりが一番早く消えるようにしたい」(金融ソリューション事業部 副事業部長 佐々木英夫氏)。

 インテックも,北陸地域の5カ所に分散していたソフトウエア開発拠点を1カ所にまとめて,昨年4月に1200人に上るエンジニア/コンサルタントが所属する「北陸ソフトウェア工場」と呼ぶ事業部門を設立した。

 北陸ソフトウェア工場では,開発するアプリケーションの種類ごとに,工場の製造ラインに相当する標準的な手順と開発ツール,フレームワークを整備していく。要件定義は各プロジェクトで行い,それ以降のフェーズではこの製造ラインを利用する体制を整える。

 CSKシステムズも昨年10月,西日本地区の開発部門の中に「フレームワークファクトリ」と呼ぶソフトウエア・ファクトリーの整備を目指す専門組織を設置した。2002年からJ2EEベースの開発を専門に手掛けてきた開発チームが蓄積した開発ツールや独自のフレームワークをベースに,オンライン処理やバッチ処理といったアプリケーションの処理形態ごとに,開発手順や開発ツール,ソフト部品を集約したうえで,複数のプロジェクトが利用することを狙う。「各プロジェクトで同じ開発ルールやフレームワークを利用することで,ユーザー企業からの短期開発の要望に応えられる」と,CSKシステムズの小寺吉裕氏(西日本グループビジネスサービス開発部 第三開発課 課長)は説明する。