← 返回所有文章

完成的定义:为什么重要以及如何构建一个强有力的完成定义

By XNM Technologies · July 8, 2022 · 1 min read
完成的定义:为什么重要以及如何构建一个强有力的完成定义

完成的定义(DoD)是Scrum团队内部对每个产品待办列表项在被视为完成之前必须满足的质量标准的共同理解。它是Scrum团队对质量的承诺——一份条件清单,如果满足,就能对增量是可发布的有信心。完成的定义与验收标准不同。验收标准针对特定的产品待办列表项——描述项目必须做什么。完成的定义适用于每个项目——描述每个项目必须满足的质量标准。

为什么大多数完成的定义太薄弱

完成的定义最常见的失败模式是它们太简化,无法提供真正的质量保证。读起来像"代码审查、测试通过、部署到测试环境"的完成定义描述的是最低可行流程,而非质量标准。拥有薄弱完成定义的团队会积累技术债务和未完成工作(测试缺口、缺少文档、推迟的安全审查),这些最终必须在生产发布之前处理——通常在项目或发布周期末尾创建一个计划中没有的稳定期。

强有力的完成定义包括什么

  • 代码质量:由至少一名其他开发人员审查代码;静态分析或代码检查通过;未引入新的严重或高严重性安全漏洞。

  • 测试:编写并通过单元测试;编写并通过集成测试;测试覆盖率满足团队的最低阈值(例如,80%行覆盖率);回归套件通过。

  • 文档:相关文档(API文档、用户文档、操作手册)已更新或创建。

  • 非功能性需求:性能测试完成且结果满足非功能性需求;满足可访问性需求。

  • 部署:增量可部署到生产环境(即使它没有部署);如果功能没有立即发布,则有功能标志或配置管理。

如何构建和维护完成的定义

  1. 从组织标准开始。 如果组织有现有的质量标准(安全策略、文档要求、可访问性标准),这些应该反映在完成的定义中。

  2. 作为团队构建它。 完成的定义应该由Scrum团队协作创建。团队不理解或无法实施的项目不是有用的条目。

  3. 在回顾中完善它。 完成的定义应该是一个活文档,随着团队技能提升和质量差距被识别而不断完善。当缺陷逃逸到生产时,回顾应该始终问的一个问题是对完成的定义的变更是否会捕获到它。

XNM为公共部门组织提供Scrum辅导和质量管理顾问服务。欢迎联系XNM项目群与项目交付咨询团队,探讨贵组织的质量实践和Scrum实施。