Scrum: DoD vs DoR vs Acceptance Criteria
完成的定义 (DoD) 验收标准和准备好的定义 (DoR) 是 Scrum 中的重要概念,而且经常被误解。让我们澄清一下它们是什么……
DoD 通常是一份清单形式的简短文档,它定义了产品待办事项(即用户故事)何时被视为“完成”。它有各种理由和各种解释方式:
- 您需要对“完成”(=“此用户故事已完成”)的含义有一个共同的定义。否则,它对团队中的每个人都意味着其他的东西。
- 你所有的非功能性需求都存在于国防部。
- 要添加到每个故事的特定验收标准中的通用验收标准列表。
- 您在回顾中发现的许多改进最终都会出现在国防部。
大多数团队从没有或非常简单的国防部开始。然后他们根据需要在每次冲刺后添加到国防部。提示:不要因为 DoD 过多而麻痹自己!但请记住:敏捷项目中的“完成”意味着“在交付之前不需要做更多的工作”。 因此,如果有人说“该功能已完成,但只需对其进行集成、测试、部署……”,就敏捷而言,它不会被视为“完成”!
检查某事是否“完成”的最佳方法是简单地将其发送!如果你能发货,那就真的完成了;如果您无法发货,只需在发货前完成缺少的工作即可“完成”。请注意:您不需要实际运送它,但您需要让人们相信您可以运送它。
典型的 DoD 可能如下例所示:
- 已编写自动化测试,所有测试均为绿色
- 代码被重构和审查
- 代码与主分支集成
- 部署到暂存环境
- 翻译成英语和德语
对完成的简明定义将帮助您提供质量、保持您的计划整洁并灵活应对不断变化的需求。
DoR: 准备的定义
DoR 是 DoD 的小表弟。它是一个清单,列出了在团队可以在下一个冲刺中开始实施之前,需要对产品待办事项做些什么。您可以将就绪的定义视为产品负责人必须完成的“DoD”,以便开发团队在 Sprint 计划会议上接受这个故事。
请注意,DoR 不是 Scrum 指南的一部分——这是有充分理由的。DoR 不应用作 Sprint 计划的阶段门或推卸责任的方式!它应该是团队在待办事项细化期间需要做什么的指南。如果您对 DoR 不是 Scrum 指南的一部分的原因感兴趣,请参阅为什么Scrum 指南中没有描述就绪的定义?通过@Barryovereem为更深入的了解。
大多数团队从一个空的 DoR 开始,然后根据需要添加。再说一遍:不要在这里提出很多要点来麻痹自己!最好从简单开始,然后根据需要添加到 DoR。
典型的 DoR 可能如下例所示:
- PO 和 Dev Team 需要至少讨论一次这个故事
- 故事必须有明确的商业价值
- 需要估计努力
- 故事必须足够分解以适应一个冲刺
- 故事至少需要一个接受标准
老实说,您可能不需要写下来。当您在待办事项细化会话中谈论新用户故事时,您将直观地将故事推向“为冲刺做好准备”。
如果你想为你的多尔是个好原则,考虑INVEST模式:用户故事应该是我ndependent,ñ egotiable,V aluable,ē stimable,小号商场和牛逼estable。阅读@jeremyjarrell 撰写的关于如何投资您的用户故事的精彩文章。这是一个简短的描述:
- 独立的。用户故事应该独立于其他故事。如果您真的编写“用户故事”而不是传统的工作项或任务,那么最终会自动大大减少依赖项。有时,您可能仍然有依赖项——在这种情况下,只需记下依赖项即可。
- 面议。用户故事应该描述什么客户需要,而不是如何开发人员应该实现它。开发团队应该始终能够提出替代解决方案/实施方案来为客户提供业务价值。
- 有价值的。必须说明商业价值。这通常是用户故事格式的“……所以……”部分:“作为一个角色,我想要功能,以便我获得业务价值”。
- 估计。开发团队必须能够粗略估计用户故事的工作量。这通常意味着开发人员会向产品负责人提出一些澄清问题,并对如何实施提出一个粗略的想法。
- 小。它必须足够小才能在 sprint 中完成。如果估计比冲刺还大,继续拆分用户故事,直到你有小故事。
- 可测试。您需要能够测试用户故事是否已完成并实现其目的。这通常意味着您需要一套明确的验收标准,并将其转化为测试用例。
再次强调,不要过度理论化 DoR。坚持投资或就开发团队需要的简单格式达成一致,然后他们才能明智地开始工作。产品负责人和开发团队都有责任准备好你的 DoR 意义上的故事。
您什么时候创建 DoD 和 DoR?
DoD 和 DoR 通常在 Scrum 中最重要的会议:回顾会议中进行编辑和扩展。
根据我的经验,从一个非常简单(甚至是空的)DoD 而没有正式的 DoR 开始是值得的。大多数团队在项目开始前的初次会议期间迅速协作写下这一点。
随着项目的进行,您经常会在定期回顾(每次冲刺后举行的改进工作流程的会议)中找到障碍的解决方案。这些解决方案中的许多最终都属于 DoD 或 DoR。
DoD vs DoR
DoD 是 Scrum 中一个非常重要的概念。它有助于对在用户故事被认为“完成”之前需要完成的工作有一个共同的理解,它是流程改进的地方,它包含非功能性需求。你应该尽量减少它,否则你将很难在冲刺中完成任何事情。
DoR 有点像“产品负责人的 DoD”。它有助于 PO 知道如何处理用户故事,然后才能在下一次 sprint 计划会议上将其交给开发团队。
DoD 和 DoR 大部分都是在回顾期间形成的——所以让这些重要的回顾保持高效,永远不要跳过它们。不要对 DoD 或 DoR 过度理论化——让它们根据您的真实、实际需求发展。你的目标是在每个冲刺结束时有一个可交付的产品增量——这对你的产品意味着你的国防部。
DoD vs Acceptance Criteria
完成的定义 (DoD) 是用户故事必须遵守的要求列表,团队才能称其为完成。用户故事 的 验收标准 由一组测试场景组成,这些场景需要满足以确认软件按预期工作。
这两者之间的区别在于DoD 对所有用户故事都是通用的,而验收标准适用于特定的用户故事。每个用户故事的验收标准将根据该用户故事的要求而有所不同。
换句话说,必须同时满足国防部和验收标准才能完成用户故事。 产品增量不被认为是完整的,除非这两个列表都完成了。因此,我们需要定义完成定义 (DOD) 的两个方面——完成标准和验收标准:
完成与验收标准的定义
完成的定义
完成的定义被构造为一个项目列表,每个项目都用于验证故事或 PBI,它的存在是为了确保开发团队就他们尝试制作的工作质量达成一致。它用作检查清单,用于检查 每个 产品待办列表项(又名 PBI)或用户故事的完整性。“完成”定义中的项目旨在适用于产品待办列表中的所有项目,而不仅仅是单个用户故事。可以概括如下:
- 该术语更适用于整个产品增量
- 在大多数情况下,该术语意味着产品增量是可交付的
- 该术语在 Scrum 指南中定义
- 用作团队成员之间沟通的一种方式
- 整体软件质量
- 增量是否可发货
完成定义的目标
- 在团队内部建立关于质量和完整性的共识
- 用作检查用户故事(或 PBI)的清单
- 确保在Sprint结束时交付的增量具有高质量,并且所有相关人员都能很好地理解质量。
示例 - 完成的定义
例如,在软件行业,团队可能需要提出以下一些问题来提出他们的 DoD:
- 代码同行评审?
- 代码完成了吗?
- 代码审查?
- 代码签入?
- 单元测试通过了吗?
- 功能测试通过了吗?
- 验收测试完成了吗?
- 产品负责人审核并接受?
验收标准
用户故事是敏捷开发的主要开发工件之一,但Scrum没有明确要求使用用户故事或验收标准。如果一个产品待办事项被认为太大而不能放入冲刺,通常会被分解成用户故事,然后分解成一组任务,如图所示:
验收标准
用户故事封装了验收标准,因此我们经常看到已完成的定义和验收标准并存于我们的 Scrum 开发过程中。用户故事提供了团队应该交付的功能的上下文。验收标准提供了有关所述功能的细节以及客户将如何接受它们的指导。他们两个一起提供了整个可交付成果。
一些验收标准将在 Sprint 开始之前在 Ongoing Backlog Refinement 事件中发现,而其他一些将在Sprint Planning之后在一个小团队中坐下来讨论用户故事时立即发现。所以验收标准是用户故事或产品待办列表项独有的属性。
- 该术语适用于个人 PBI/故事
- 每个 PBI/故事的验收标准是不同的
- 术语在 Scrum 指南中没有定义
- 用作向所有相关人员传达已满足特定 PBI/故事要求的方式
- 又名验收测试、满意条件,在某些情况下为“测试用例”等
验收标准的目标
- 在开始工作之前明确团队应该建立什么
- 确保每个人都对问题有共同的理解
- 帮助团队成员知道故事何时完成
- 通过自动化测试帮助验证故事。
示例 – 验收标准
- 用户无法在未完成所有必填字段的情况下提交表单
- 表单中的信息存储在注册数据库中
- 可以通过信用卡付款
- 提交表单后,将向用户发送确认电子邮件
具有验收标准的用户故事示例
下图显示了用户故事的验收标准示例。
完成标准示例
Scrum 工件
Sprint 增量 vs 潜在可交付产品 vs MVP vs MMP
posted on 2021-12-22 17:39 Lynch_Warren 阅读(1099) 评论(0) 编辑 收藏 举报