完成的定义 (DoD) 是用户故事必须遵守的要求列表,以便团队称其为完成。 而用户故事的 验收标准 由一组测试场景组成,需要满足这些测试场景以确认软件按预期工作。
这两者之间的区别在于, DoD 对所有用户故事都是通用的,而验收标准适用于特定的用户故事。每个用户故事的接受标准将根据该用户故事的要求而有所不同。
换句话说, 为了完成用户故事,必须同时满足 DoD 和验收标准。 除非这两个列表都完成,否则产品增量不被认为是完整的。因此,我们需要定义完成定义(DOD)的两个方面——完成标准和验收标准:
完成的定义
完成的定义是一个项目列表,每个项目都用于验证一个故事或 PBI,它的存在是为了确保 开发团队 就他们试图生产的工作质量达成一致。它作为一个清单,用于检查 每个 产品待办事项 (又名 PBI)或用户故事的完整性。“完成”定义中的项目旨在适用于产品待办列表中的所有项目,而不仅仅是单个 用户故事。可以概括如下:
- 该术语更适用于整个产品增量
- 在大多数情况下,该术语意味着产品增量是可 发货的
- 该术语在 Scrum 指南中定义
- 用作团队成员之间交流的一种方式
- 整体软件质量
- 增量是否可发货
完成定义的目标
- 在团队内部建立关于质量和完整性的共识
- 用作检查用户故事(或 PBI)的清单
- 确保在Sprint结束时交付的增量 具有高质量,并且所有相关人员都很好地理解了质量。
示例——完成的定义
例如,在软件行业,团队可能需要提出以下一些问题来提出他们的 DoD:
- 代码同行评审?
- 代码完成了吗?
- 代码审查?
- 代码签入?
- 单元测试通过了吗?
- 功能测试通过了吗?
- 验收测试完成了吗?
- 产品负责人 审核并接受?
验收标准
用户故事是敏捷开发的主要开发 工件 之一 ,但 Scrum 并没有明确要求使用用户故事或验收标准。如果一个产品 backlog 项目被认为太大而无法放入 sprint,通常会分解为用户故事,随后分解为一组任务,如图所示:
用户故事封装了验收标准,因此我们经常看到完成和验收标准的定义在我们的 Scrum 开发过程中并存。用户故事提供了团队应交付的功能的上下文。验收标准提供了有关所述功能的详细信息以及客户如何接受它们的指导。他们两个一起提供了整个可交付成果。
一些验收标准将在 Sprint 开始之前的 Ongoing Backlog Refinement 事件中发现,而其他验收标准将在 Sprint 计划之后 当坐下来就小团队中的用户故事进行对话时发现。因此,验收标准是用户故事或产品待办事项项所独有的属性。
- 该术语适用于单个 PBI/故事
- 每个 PBI/故事的接受标准都不同
- Scrum 指南中没有定义术语
- 用作向所有相关人员传达已满足特定 PBI/故事要求的一种方式
- 又名验收测试,满足条件,在某些情况下是“测试用例”等
验收标准的目标
- 明确团队在开始工作之前应该构建什么
- 确保每个人都对问题有共识
- 帮助团队成员知道故事何时完成
- 通过自动化测试帮助验证故事。
示例——验收标准
- 用户在未完成所有必填字段的情况下无法提交表单
- 表格中的信息存储在注册数据库中
- 可以通过信用卡付款
- 提交表单后,将向用户发送确认电子邮件
具有接受标准的用户故事示例
下图显示了一个用户故事的验收标准示例。
参考