==[[品質マネジメント]]==
[[プロジェクトマネージャー]] |
===ソフトウェアの品質とバグ===
*システム試験(ST)
*受入試験(AT)
=====品質マネジメントの作業[[品質マネジメント]]の作業=====
*適切な品質管理活動を計画
*正しく実行し管理
*ほとんどのバグが「プロセス中」(ソフトウェアの納入前)に摘出されるようにすること
===品質マネジメントにおける手続き的アプローチ[[品質マネジメント]]における手続き的アプローチ===
====プロセス====
=====レビュー=====
最終コードの品質を評価することは出来ない
*問題点
**プロジェクトマネージャーが品質を定量的に評価するための手段がない[[プロジェクトマネージャ]]ーが品質を定量的に評価するための手段がない====CMMレベル3では、適切な品質マネジメントの手続き的アプローチが求められるCMMレベル3では、適切な[[品質マネジメント]]の手続き的アプローチが求められる=======品質マネジメントにおける定量的アプローチ[[品質マネジメント]]における定量的アプローチ===
====バグ特定プロセスの効果をもっとよく評価====
=====手続きは行われたかというよりも高いレベルの方法論が必要=====
=====開発プロセスを定量的に管理=====
*目標を達成するため
====CMMレベル4では、適切な定量的品質マネジメントが求められるCMMレベル4では、適切な定量的[[品質マネジメント]]が求められる====
====定量的に管理する手法====
=====ソフトウェア信頼性モデル(software reliabiity mode)=====
**試験において試験項目の種類に制約を与える
**大規模なシステムにしか適用できないことが多い
**信頼性の予測には役に立つが、品質マネジメントにはそれほど価値がない信頼性の予測には役に立つが、[[品質マネジメント]]にはそれほど価値がない====優れた品質マネジメントのアプローチ優れた[[品質マネジメント]]のアプローチ====
=====早期警告=====
*可能な選択肢が少なくなってしまうプロジェクトの後半ではなく、早い段階で警告を発することが出来るものである必要
*品質管理活動の効果を測るのによい
*定義は様々
*バグ除去効率(DRED[[R]]E)
**品質管理(QC)活動のため
**残存していたバグの総数に対する品質管理活動によって発見されたバグの数
プロジェクトのライフサイクル全体に対するバグ除去率
**残バグ密度(defect density delivered)
プロジェクト全体のバグ混入率がわかっていれば、DREにより計算できるプロジェクト全体のバグ混入率がわかっていれば、D[[R]]Eにより計算できる**QCのDREや全体のDERはプロジェクトの最後にしか計算できないQCのD[[R]]Eや全体のDE[[R]]はプロジェクトの最後にしか計算できない
プロセスを評価し改善の余地がある分野を発見するには役に立つ指標
これだけでは品質マネジメントに適さないこれだけでは[[品質マネジメント]]に適さない
プロジェクト遂行中の品質管理には使えない
===バグ予測に基づく定量的品質マネジメントバグ予測に基づく定量的[[品質マネジメント]]===
====バグの予測(defect prediction)====
=====定量的な品質マネジメント手法の一つ定量的な[[品質マネジメント]]手法の一つ=====
=====残バグ密度(delivered defect density)=====
*品質の目標として設定
*1つのキー・ファクターに依存
**どれだけ各工程におけるバグ数を正確に予測できるか
**利用する概念利用する[[概念]]
バグ除去効率
バグ混入率(defect injection rate)
**バグの数はシステム規模の見積から推測できる
各工程のバグ混入率がわか(予測でき)るならば
各品質活動(QC)におけるDREがわかにおけるD[[R]]Eがわか(予測でき)るならば**定量的品質マネジメントの目的で利用定量的[[品質マネジメント]]の目的で利用
=====バグ観測曲線(observed defect pattern)=====
*バグの発生率は工数配分と同じようなパターンを持つことがわかっている
*バグ混入率
**1プロジェクトのバグ総数はソフトウェア規模とともに増加
正規化した値がバグ混入率[[正規化]]した値がバグ混入率(単位規模あたりのバグ数)を表す
**規模の見積と、バグ混入率があれば、バグ総数を見積もることが出来る
**バグ混入率は予測可能
実データが範囲外の場合
事実はプロジェクトマネジメントの注意を喚起するのに利用
===定量的品質マネジメント計画定量的[[品質マネジメント]]計画===
====重要====
=====品質目標を設定すること=====
=====プロセス・データベース(PDB)=====
*バグデータ
**規模と工数により正規化規模と工数により[[正規化]]**規模により正規化された情報をバグ数の予測に使うには規模をFPで見積もる必要規模により[[正規化]]された情報をバグ数の予測に使うには規模をFPで見積もる必要
**FPが直接入手できない場合、工数の見積とプロジェクトの生産性予測値を規模の見積に利用する
**工数によって正規化されたバグ混入率を生かせば、工数の見積を直接利用することも出来る工数によって[[正規化]]されたバグ混入率を生かせば、工数の見積を直接利用することも出来る=====プロセス・ケイパビリティ・ベースライン(PCB[[PC]]B)=====
====品質目標の設定====
=====プロジェクトの品質目標=====
*2つの重要な情報源
**類似プロジェクトの過去のデータ
**PCBのデータ[[PC]]Bのデータ*品質のターゲットをファンクションポイントあたりのバグ数で設定品質のターゲットを[[ファンクションポイント]]あたりのバグ数で設定
**1.品質目標をFPで設定する
**2.プロジェクトの生産性を見積もる
**3.規模をFPで見積もる(生産性の予測×見積工数)
**4.受入試験でのバグ数を予測(品質目標×見積規模)