ウォーターフォールモデル開発の代表的な品質保証方式としては、「品質ゲート」と「QAテスト(QA: Quality Assurance(品質保証))」の2つがあげられます。今回は、この2つの品質保証方式について説明します。
品質ゲート
品質ゲート(Quality Gate)とは、ウォーターフォールモデルの工程を移行するときにゲート(門)を設けて、さまざまな観点からチェックし、基準を達成したときに次の工程へ移行する方法です。品質ゲートの主なチェック項目としては、以下のようなものがあります。
- 収集データ分析による開発十分性の検証
- 組織標準への準拠度合い
- 中間成果物(設計仕様書など)の内容確認
上記の1と2は、 いわゆるプロセス品質の確認であり、3はプロダクト品質の確認に該当します。品質ゲートのチェック項目の具体的な内容は、 開発しているソフトウェアの領域の特性や、組織の特性に応じて設定 するため、組織によって違いがあります。しかし、必ずプロセス品質とプロダクト品質の両方を確認できるようにチェック項目を設定することが、 品質ゲートの重要なポイントです。
QAテスト
QAテスト(QA: Quality Assurance(品質保証))とは、開発したソフトウェアを、開発チームとは別のQAチームが動作させることにより、要求を満足していることを確認する方法です。動作対象のソフトウェアは、完成したソフトウェアの場合が多く、顧客に提供する前に、最終的に問題ないことを確認します。
品質保証方式の適用状況
欧米の品質保証というと、QAテストを指すことが多いです。日本では、品質ゲートを採用する組織が多いと思います。ただし、プロダクト品質よりもプロセス品質を重視したチェック項目を採用している組織が多いのではないでしょうか。品質ゲートとQAテストを組み合わせる方法も広く適用されています。この場合は、品質ゲートのチェック項目の一つに、QAテストを組み込んで品質判定します。QAテストは、開発チームとは別にQAチームを準備する必要があるため、比較的、大手企業で採用されることが多いです。なお、QAテストのみの品質保証は、問題点があった場合に気が付くのが出荷直前となり、後戻りのダメージが非常に大きくなるため、お奨めできません。
ウォーターフォールモデル開発の品質保証事例
品質ゲートとQAテストを組み合わせた典型的な適用事例は、以下の図のような方法です。
真ん中にウォーターフォールモデルの工程が左から右へ表示されています。上の部分がプロセス品質の確認で、各工程の実行状況に対する分析評価、下の部分がプロダクト品質の確認で、各工程の成果物に対する分析評価です。プロセス品質を確認する技法として定量データ分析とバグのなぜなぜ分析、プロダクト品質を確認する技法として設計やテスト仕様書の品質評価とソフトウェアの品質評価を適用しています。そして、あらかじめ設定した工程移行基準に基づき、それらの技法を使って評価し、工程移行してよいかを判定するのです。総合テスト終了時には、QAテストを実施します。これらの結果に基づき、出荷判定基準により出荷の合否を判定します。
さいごに
ウォーターフォールモデル開発の代表的な品質保証方式を説明しました。こうして説明すると、とても簡単なように見えますが、実際きちんと実行するのは大変です。時間をかけて、その組織に適した品質保証方法を構築・運用する必要があります。