プロジェクト品質マネジメント
目次
品質向上とマネジメント
プロジェクト品質マネジメントでは、プロジェクトとして達成すべき成果物の品質の目標策定と、品質の評価・コントロールを行う。
開発プロジェクトでは、利用者の要求をクリアするために、作成するプログラムの品質方針と品質目標、品質に関して負うべき責任を定め、プログラムの品質を評価・管理していく。
品質に関する規格
品質の目標策定時に参照したり、具体的な品質管理の手法を示す基準として、次のような規格が用いられる。
ISO9000シリーズ:品質管理と品質保証の規格
ISO9000シリーズ(JIS Q 9000ファミリー規格)は、品質管理のための国際規格である。(JIS Q ファミリーは日本語版)
9000シリーズには複数の規格が含まれており、利用者の要求を満足させる品質を提供するための品質管理と品質保証について規定している。
9000シリーズの規格に基づく品質マネジメントシステムの構築は、次のような手順で行われる。
- 品質に対する方針を設定する
- 1を「品質目標」と「品質マニュアル」という形で文書化する
- 2の文書を基に、品質の管理活動を運用する
- 一定期間経過後に、見直しを図る
PIMBOKの品質マネジメントプロセス
PIMBOKガイドでは、品質マネジメントの活動に次のプロセスを定めている。
- 品質マネジメント計画
成果物の品質に関する要求事項や品質基準を定義し、品質マネジメント計画書を作成
- 品質保証
品質マネジメント計画書に従い、プロジェクト活動の中で、品質向上の活動が適切に実施されているかを調査
- 品質コントロール
プロジェクト活動の成果物が、品質マネジメント計画書に定めた品質を確保しているかを調査
ただし、ISO9000の認証取得企業では、ISO9000が定めた品質マネジメントシステムの構築手順(上記手順1
ISO/IEC 25010 の品質特性
ISO9000シリーズは、多様な製品全般に対応する品質管理の規格であるが、ISO/IEC 25010 はシステムやソフトウエア製品の品質評価に特化した国際規格である。(日本語版は JIS X 25010)
ISO/IEC 25010 では、品質評価に関して、8つの特性を定めている。
- 機能適合性
- 性能効率性
- 互換性
- 使用性
- 信頼性
- セキュリティ
- 保守性
- 移植性
システム・ソフトウエア製品への要求に対して、実際に実現された機能の度合いを示す特性。
稼働に用いる資源(ソフトウエアやハードウエアなど)に対して、得られる性能の効率を示す特性。
ハードウエアやソフトウエアの構成が同じ環境で、システムやデータを共有する場合の容易さにかかわる特性。
操作性やインターフェースのわかりやすさなど、ユーザーが満足感を得られる使いやすさを示す特性。
定められた時間、与えられた条件下で、必要とされる機能がきちんと稼働することを示す特性。
システムやデータを保護し、なおかつアクセス権を持つユーザーには適切に提供する特性。
システム・ソフトウエアの製品の修正・改変の容易さを示す特性。
ハードウエアやソフトウエアの構成が異なる別の環境へ移植する場合の容易さにかかわる特性。
- ISO/IEC 25010
ISOは国際標準化機構でIECは国際電気標準会議のことである。
ISO/IEC 25010 のように、ISO/IECと併記してあるものは、両標準化団体が連携して策定した規格である。
品質向上のための活動
レビュー
設計やプログラミングの工程で、成果物の検証や再検討を行うことを「レビュー」と呼ぶ。
複数のメンバーが参加して、成果物の説明、問題点の指摘、改善策の検討などを行う。
レビューは、後工程に課題や問題点を残さないことを目的としており、必要であればレビュー後に設計やコーディングを修正しなおす場合もある。
テスト
テストは、設計内容や作成されたプログラムが、定められた仕様と一致しているかを検証する作業である。
プログラムの作成工程では、設計工程で作成したテスト計画に基づいて、作成したプログラムが仕様通りに動作するか、要求されている性能を満たしているかをもれなく計画的に検証していく。
品質評価の手法
開発プロジェクトに求められるのは、限られた期間と資源で、必要な性能や機能を実現させることである。
品質の評価も、効率よく、確かな品質を確保できる方法を用いることが求められる。
ベンチマーク
ベンチマークは、ハードウエアやプログラム(ソフトウエア)の処理能力を図るための手法である。
例えば、「あるデータ処理を3秒以内で完了し、画面に表示する。」など、あらかじめ目的に応じた指標(ベンチマーク)を定めておき、その指標と比較・評価することで、性能を判断する。
信頼度成長曲線
信頼度成長曲線は、テスト時間を横軸に、検出したエラー(バグ)の累積件数を縦軸にとって記録し、テストの時間経過とともに変化するバグの累積件数の傾きを見るためのグラフである。バグ曲線とも呼ばれる。
一般的な信頼度成長曲線の形状は、テストの開始直後は緩やかな曲線(エラー検出が少ない)を描き、テストが進むにしたがって傾きが急になる。(エラーが急増する)
終了段階まで進むと、傾きは緩やかになり、全体としてS字カーブを描くことが知られている。(新たなエラーの検出が減少)
実際のテスト工程では、傾きは緩やかになり、バグの発見がごくわずかになれば、必要な品質を満たしたと判断し、テストを終了する。
予防措置と是正措置
テストやレビューの結果、成果物に問題が発見された場合には、次のような処置が検討される。
現段階では決定的な不具合とは言えないが、今後に問題が発生する可能性を含んでいるため、予防的に処置を行っておくこと。
計画や仕様に定められた品質を達成しておらず、現段階で問題点とされている事柄に対し、原因を探り対処を行うこと。(再発防止も兼ねる)
品質管理に用いる図法
管理図
管理限界(許容される値)の上限及び下限を明示しておき、値の変動を折れ線グラフで表す。
頭上にプロットした値が上限値~下限値の間に入っていれば正常、外れるようであれば何らかの異常があることを表すため、判断がしやすい。
特性要因図
特性(ある現象や結果)と、それに影響を及ぼす要因(原因)との関係を整理したうえで、魚の骨のような形に表した図である。
魚骨図やフィッシュボーンチャートとも呼ばれている。
パレート図
項目のデータ値の降順に並べた棒グラフと、それらの項目の累積値を表す線グラフを、1つのグラフ内にまとめて表現した複合グラフである。
品質管理では、不良原因ごとの不具合の件数などを棒グラフで、折れ線グラフでデータ全体に対する各項目の比率の累計を表すなどの使い方がある。
管理活動上、どの項目が重要で、それが全体に占める割合などがどの程度なのかが一目でわかるため、原因や問題点の絞り込みを容易に行うことができる。
散布図
何らかの因果関係かあると予想される2つのデータ系列を。それぞれ縦軸と横軸にとり、個々のデータをプロットする点グラフである。
どちらかの値が変わると、もう一方の値もそれにつれて変化する場合には、2つの系列間に相関があるといい、グラフ上の点はほぼ直線上に分布する。
品質とCMMI(Capability Maturity Model Integration:能力成熟度モデル統合)
CMMIは組織のソフトウエア開発能力の成熟度レベルを1~5段階で表す評価方法である。
「プログラム(ソフトウエア)の品質を高めるには、それを作成するプロセス(工程)自体の品質を高めることが必要である」という思想を基に策定された。
成熟度レベル別に、プロセス改善のための詳細な目標が設定されており、成熟度が上がれば成果物であるプログラムの品質向上も達成できるように定義されている。
参考文献・引用元