プロジェクト管理の品質管理についてあらためて学んだので、その備忘録として書きます。
プロジェクト管理においての"品質"とは?
→PMBOKによると「一連の固有の特性が要求事項を満たしている度合い」
つまり、要求されたレベルに見合っているか?
品質管理のポイント
1>上流工程で品質を上げるためのテスト項目を作る
⇒下流工程で作るとコストが増大になってしまう
1-1>ウォーターフォール型の場合、以下のフェーズでテスト項目の設定を行う
要件定義フェーズ → 総合テスト
外部設計 → 結合テスト
内部設計 → 単体テスト
1ー2>最近の主流 アジャイル開発 での品質を保つためのテスト項目設定タイミングについてGeminiに考えてもらいました。
・バックログ・リファインメント(要件定義): ここで、何を作るか(ユーザーストーリー)と同時に、それをどうテストするか(受入条件)を決めます。これが最初のテスト項目です。
・スプリントプランニング: ここで、実装に必要な詳細なテストケースを洗い出します。
・実装&テスト(TDD): コードを書く前にテストコードを書くことで、品質を作り込みながら実装を進めます。

2>品質目標を設定することにより品質を高める
目標設定が無いPJは、目標設定があるPJの約3倍のバグが発生しているというデータがある
3>品質の追求に終わりはない
誤りやバグがないことを証明できないからです。(悪魔の証明)
よってテスト項目設定にあたり、PJ事の線引きが必要です。
経験則や過去PJの参考値、顧客の要望などを元にして決める
ソフトウェアの品質特性(ISO 25010)
1>機能性(functionality)
機能とその特性に影響する特性群
機能には、必要性を明確に述べているものと、暗に示しているものがある
合目的性(suitability)
正確性(accuracy)
相互運用性(interoperability)
機密性(security)
標準適合性(compliance)
2>信頼性(reliability)
ある状況がある時間続いたときに、ソフトウェアがどの程度機能するかに影響する特性群
成熟性(maturity)
障害許容性(fault tolerance)
回復性(recoverability)
標準適合性(compliance)
3>使用性(usability)
利用するのにかかる手間、個人の努力などに影響する特性群
理解性(understandability)
習得性(learnability)
運用性(operability)
注目性 (attractiveness)
標準適合性(compliance)
4>効率性(efficiency)
ソフトウェアの性能やそれに要するリソース量に影響する特性群
時間効率性(time behaviour)
資源効率性(resource behaviour)
標準適合性(compliance)
5>保守性(maintainability)
何らかの変更を加えるのにかかる手間に影響する特性群
解析性(analyzability)
変更性(changeability)
安定性(stability)
試験性(testability)
標準適合性(compliance)
6>移植性(portability)
別の環境にソフトウェアを移行させる可能性に影響する特性群
環境適応性(adaptability)
設置性(installability)
共存性 (co-existence)
置換性(replaceability)
標準適合性(compliance)
