クリーンルーム手法展開によるシステム構築の品質向上
(PDF文書,334KB)


【要旨】

1.目的
従来のシステム構築は、構造化プログラミングをウォーターフォールプロセスにて実施してきたが、近々のオブジェクト指向型プログラミング及び、コスト・納期の削減に対応する為には新たな手法を導入する必要性が出てきた。
そこで取り入れた手法がクリーンルーム手法である。
旧来の開発時欠点を抽出し検討した結果、最大の問題点は後工程で発生した誤りを修正する為に大きな工数を要する点である。
これを解消する為には、各工程にてその工程の成果物が正しいかを検証するのみでは対応できないと考えた。

2.概要
クリーンルームの特徴として次の2点が挙げられる。
@インクリメンタル開発
A統計的品質保証
前者は顧客の要求をいくつかに分割し段階的な詳細化開発を行うことである。
段階的詳細化はボックス構造を用いて実現し、各ボックスは独立した正当性を保持したものとなる。
この段階的詳細化によりプロトタイピングが容易となり、要求が確定しない段階での作業が可能なことと、その後の変更に伴う作業量が減少する。
後者はユーザ要求に基づいた効率的なテストを意味する。
ともすると作られたものの正当性をテストするというプログラム開発指向型テストに隔たりがちであるが、ユーザー要求、使用頻度を考慮し効率的にテストすることでプログラムの正当性ではなく、システムの正当性を検証することが可能となる。
上記2点を命題とし、従来システムより高品質で低コストの開発を実現した。

3.計画・目標
いきなり従来のアプローチを全て破棄し、クリーンルーム手法を導入することは危険を伴う為次の目標及び段階的な導入を試みた。
生産性、品質の25%向上及びプログラム製造試験(単体試験)の廃止。
第一段階レビュー強化
インクリメンタルな開発を実現する為、細分化されたレビューを多用。このレビューをグループミーティングと位置付け、これも含めた各工程の工数に対するレビューの割合を従来比200%とする。またレビューはバグ検知から要求正当性の検知を目的とする。
第二段階単体試験の統廃合
プログラムの正当性が確保できると言う前提から、これを正当化する単体試験の統廃合を行う。
第三段階統計的品質保証の確立
機能仕様を試験仕様書で代用できるような形とし、品質保証試験をユーザー要求に沿った形で実現
さらに第一段階ではシステム全体の1サブモジュールを対象とし、第二、三段階では1モジュールにまで展開、2年計画でアプローチを確立しシステム全体への導入を計画した。

4.評価
現在構想、実施から約1.5年経過し第二段階の終結を迎えている。
おおむね目標値に達成しているが、品質に於いては目標値に今一歩届かずのところである。
原因はまだ完全にインクリメンタルな手法を実現していない点と、スキルによるところが大きい。
第三段階では過去の資産の転換及び品質保証体制など問題点があり、上記も踏まえ完結に向けて再度検討を実施中である。

(参考文献)
・情報処理学会 ソフトウェア工学研究会(118-20)
ソフトウェア開発クリーンルーム手法の方法論
Mar.1998 西橋 幹俊(IBM)
・ソフトウエアクリーンルーム手法
Des.1997 二木 厚吉監修 日科技連