(ProScrum 指南說; "Scrum 團隊是 DoD 的擁有者, 所以包括 Po 。"
Scrum 團隊擁有完成定義 (DOD),並且由開發團隊和產品擁有者 (PO) 共用。只有開發團隊能夠定義它,因為它維護了 [他們] 必須執行的工作品質。
這有點像開發團隊和PO之間的"合同",就像任何合同一樣,兩個部分都可以提供輸入,直到雙方都準備好 "簽署" 它。
PO (Product Owner) 决定价值是什么,开发团队决定质量是什么。开发团队的工作是编写高质量、高价值的软件。如果PO反馈说该产品很差劲,因为它有缺陷、速度慢、难以使用等等,那么开发团队必须考虑到这一点,并改变他们生产软件的方式,但告诉他们如何实现这一点并不在PO的权限之内。
關於與特定 PBI 相關的品質,i..e 說明某些品質屬性, 可以使用者故事的接受標準 (acceptance criteria ),致於有些品質屬性适用於所有使用者故事: 即性能 (performance) 或可用性 (usability) 之类的要求說明。這樣,PO 可以透过DOD去告訴團隊完成這些屬性,因此他們可能會決定將其包含在 DoD 中。
通常,增量 (increment) "Definition of Done" 的定義是開發团队的慣例、標準或準則的一部分,所有 Scrum 團隊必須遵循該定義。
完成的定义 (Definiton of Done)
完成的定义被构造为一个项目列表,每个项目都用于验证故事或 PBI,它的存在是为了确保开发团队就他们尝试制作的工作质量达成一致。它用作检查清单,用于检查 每个 产品待办事项列表项(又名 PBI)或用户故事的完整性。“完成”定义中的项目旨在适用于产品待办列表中的所有项目,而不仅仅是单个用户故事。
示例 - 完成的定义
例如,在软件行业,团队可能需要提出以下一些问题来提出他们的 DoD:
- 代码同行评审?
- 代码完成了吗?
- 代码审查?
- 代码签入?
- 单元测试通过了吗?
- 功能测试通过了吗?
- 验收测试完成了吗?
- 产品负责人审核并接受?
验收标准 (Acceptance Criteria)
用户故事是敏捷开发的主要开发工件之一,但Scrum没有明确要求使用用户故事或验收标准。如果一个产品待办事项被认为太大而不能放入冲刺,通常会被分解成用户故事,然后分解成一组任务,如图所示:
具有验收标准的用户故事示例
下图显示了用户故事的验收标准示例。
完成的定义 (Definition of Done) vs 验收标准 (Acceptance Critera)
完成的定义 (DoD) 是用户故事必须遵守的要求列表,团队才能称其为完成。用户故事 的 验收标准 由一组测试场景 (scenario) 组成,这些场景需要满足以确认软件按预期工作。
这两者之间的区别在于DoD 对所有用户故事都是通用的,而验收标准适用于特定的用户故事。每个用户故事的验收标准将根据该用户故事的要求而有所不同。
换句话说,必须同时满足国防部和验收标准才能完成用户故事。 产品增量不被认为是完整的,除非这两个列表都完成了。因此,我们需要定义完成定义(DOD)的两个方面——完成标准和验收标准: