ソフトウエア開発の生産性&品質の向上は,永遠かつ喫緊のテーマ。建築・施工業が工場で建材・部材を作り,現場で組み立てるように,ソフトウエアも工場で開発したサービスを現場でシステマティックに組み立てようという動きが,今,本格化している。「ソフトウェアファクトリ研究会」の活動成果を基に,ソフトウエア開発の最前線を,理論と実践の両面から解説する。
実践編
富士通アプリケーションズ
富士通アプリケーションズは,JavaとEJBに特化したソフトウエア開発専業会社。品質や生産性向上のために「四つの約束,六つの仕掛け」を用意している。その詳細を説明する。
四つの約束,六つの仕掛け人月ではなく時間で考える
仕事票は毎日正確につける
ソフトウエアの規模を正しく見積もる
ドキュメントを標準化する
NECビッグローブ
NECビッグローブは,インターネットのサービス・プロバイダである。サービス・プロバイダ業は,ソフトウエアを作って完了ではない。サービスとしてソフトウエアの機能をユーザーに届け,日々維持運営するまでがワンセットとなっている必要がある。その観点で取り組んでいるファクトリー化について説明する。
なぜ改造に時間とお金がかかるのか?トラブルが起きた個所を指で指してほしい
要件定義をモデル化する
SEとBEとDEを区別する
最初からSOAだった
理論編
ソフトウエア・ファクトリーとは「ソフトウエア・エンジニアリングを,システム開発・運用・保守の現場でシステマチックに実践するための組織形態の一つ」である。要は,品質の高いソフトウエアを,効率よく,現場が疲弊することなく開発・保守するための仕組みである。
エンジニアを悲惨な状況から救う即席開発を実現するアーキテクチャ
四つの成功要因
シェフとコックが必要
ファクトリーの世代周期は5~10年
動向編
最近,ユーザー企業やシステム・インテグレータが再び「ソフトウエア・ファクトリー」に注目しているのは,オープン技術が使いこなされてきた結果,フレームワークやソフト部品を使う開発手法がある程度固まってきたことが大きい。
動き始めたソフトウエア・ファクトリー