质量是满足要求的程度,包括符合规定的要求和满足顾客的需求。
质量定义 重点
- ISO9000:一组固有特性满足需求的程度
- 质量、范围、成本、时间是项目成功的关键要素
- 质量管理是项目管理的最高统一(三大目标的统一)
- 质量目标必须回到 需求管理 中的功能需求、非功能需求和验收条件,不能脱离范围单独定义。
软件质量模型
- McCall 质量模型(1979)
- ISO/IEC 9126 模型
- ICEDT 模型:直观性、一致性、效率、耐久性、体贴
量化的质量目标
- MTTF(平均失效前时间)
- MTBF(平均失效间隔时间)
- 缺陷密度(FD):每千行代码缺陷数量
- MTTR(平均失效回复时间)
质量管理过程 重点
质量计划(QP)
- 确定项目应达到的质量标准及如何满足
- 方法:试验设计、基准对照、质量成本分析、流程图、因果分析图
- 质量计划应嵌入 任务分解结构WBS 的工作包与里程碑,便于在 核心计划执行与控制 中执行 QA 和 QC。
质量保证(QA)###重点
- 通过评价项目整体绩效,建立对质量要求的信任
- 审计:对过程或产品的独立评估
- 过程审计:确保遵循规程
- 产品审计:审查工作产品质量
- QA 关注过程(Is it done right?)
质量控制(QC)###重点
- 确定项目结果与质量标准是否相符,消除不符原因
- 技术评审、代码走查、测试、返工
- 控制图、趋势分析、抽样统计
- QC 关注产品(Is it right done?)
- QC 结果会触发缺陷修复、返工或变更请求,需要与 配置管理计划 的基线变更管理衔接。
质量成本(CoQ)###重点
一致成本
- 预防成本:质量计划、培训、设计审核等
- 评估成本:测试、检查、分析等
不一致成本
-
内部缺陷:返工、重新测试
-
外部缺陷:技术支持、索赔
-
质检/过失比 = 预防成本 / 缺陷成本 > 2 为目标
ISO9000 系列
- ISO9000:计划、控制、文档三部分循环体系
- 质量体系:组织结构、程序、过程、资源
敏捷质量活动 重点
- 结对编程(Pair Programming)
- TDD(测试驱动开发):先写测试代码,再写功能代码
- 持续集成与测试
- 验收测试驱动开发(ATDD)
- 迭代评审与回顾会议
- 重构(Refactoring)