质量是满足要求的程度,包括符合规定的要求和满足顾客的需求。

质量定义 重点

  • 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)