完成的定义

定义增量何时已“完成”

什么是完成的定义(Definition of Done

“完成的定义”(Definition of Done,简称DoD)描述了增量被视为“完成”所需达到的质量标准,以及使其处于可以被有效检查的状态。它为Scrum团队和组织提供了对增量完整性共同的理解。没有这种明确清晰的标准,利益相关者无法提供有根据且可靠的意见反馈。

从2020年Scrum指南开始,“完成的定义”被指认为包含在增量中的一个承诺。这是开发人员对于增量质量所做出的承诺。

完成的定义的特征

每个Scrum团队都必须拥有并遵循其“完成的定义”(DoD)。这个定义必须被一致地使用,易于参考,并包含适当的标准。

我们无法精确规定你的团队的DoD中应该包含哪些具体的标准。这实际上取决于你们的产品、产品开发阶段以及团队的能力。但我们可以通过一些建议来指导你应该关注哪些内容,以及如何避免常见的问题。

1)好的DoD的特征

一个“完成的定义”(DoD)通常包括确保业务和技术创新产品准备就绪的项目。它描述了使产品对客户有价值的产品特性,以及开发人员知道为了创造高质量结果应当采用的实践。DoD中的具体条目高度依赖于团队正在开发的产品类型。

通用示例:

产品质量的示例:

  • 符合可用性和可访问性标准
  • 符合设计或风格指南
  • 对用户/客户可用或可访问
  • 遵守适用的法律法规
  • 用户文档已完成

开发实践的示例:

  • 已遵循质量测试程序
  • 多个团队的工作/增量已正确集成

行业特定示例:

对于软件产品,DoD可能包括以下项目:

  • 集成到干净的构建中
  • 升级到更高级别的环境
  • 自动回归测试通过
  • 功能级别测试通过
  • 满足非功能性需求
  • 符合合规性要求
  • 功能在必要的用户文档中记录

对于营销手册,DoD可能包括以下项目:

  • 符合企业品牌指南
  • 符合语法和风格指南
  • 已执行图形和商标检查
  • 完成文案编辑审核
  • 创建可打印的PDF文件
  • 替换旧手册的数字资产和文件
  • 移除旧手册

2)应避免的DoD特征

任何妨碍DoD持续使用的因素都应当避免。团队忽视他们的DoD,往往是因为他们找不到DoD,或者因为DoD制定得不够好,使得团队成员觉得它与自己无关。

应避免以下情况:

  • DoD 不容易找到 — 我们经常听到开发人员表示他们根本找不到 DoD。
  • DoD中的标准设定过低 — 如果DoD过于宽松,它不仅无法实现其预期目的,还会让人感觉无关紧要,容易被忽略。
  • DoD中的标准无法达成 — 许多条件可能导致设定的标准过于雄心勃勃。例如,质量标准可能对于产品开发阶段来说定得过高,或者由于基础设施限制或其他原因无法完成某些项目。
  • DoD造成大量的行政负担 — 例如,DoD太长且包含了一些实际上不必要的项目。
  • 团队不认同或不同意DoD — 这通常是因DoD是在没有团队参与的情况下强加给他们的。

关于“完成”的常见问题

“完成”(Done)及“完成的定义”(Definition of Done)是Scrum中至关重要的一个方面。然而,围绕这些概念存在许多误解和错误认识。以下是关于我们最常听到的几个问题。

1)Scrum中的“完成”是什么意思?

在日常对话中,当我们谈论某事被完成时,我们的意思是它已经成功地做完了。当Scrum实践者说他们的工作“完成”(Done)时,他们的意思是指增量已经达到一定的质量水平,能够接受利益相关者的审查和反馈。这与产品发布给客户所需的质量水平相同。

2)什么是“未完成”的工作?

增量上的工作如果没有达到“完成的定义”(Definition of Done)中规定质量标准,那么这些工作就还不是“完成”的。尚未完成的工作也被称为“未完成”(“undone”)的工作。

3)为什么达到“完成”如此重要?

Scrum的一个关键原则是使用快速反馈循环。然而,为了提供良好的反馈,团队成员和利益相关者必须对产品的状态有信心。审查未完成的工作会迫使审查者对产品如果真正完成时的样子做出假设或猜测。当工作完成时,反馈更容易提供,也更加有根据和可靠。

4)决定产品待办列表包含和不包含的内容

Scrum 团队只应向利益相关者展示已完成的工作,这是一个误区。向利益相关者展示部分完成的工作会让利益相关者更难给出最好的反馈,这可能是对这一事实的极端回应。

事实上,利益相关者的频繁反馈是 Scrum 的一大特点。因此,Scrum 团队在工作完成之前寻求反馈或意见是完全自然的。了解“完成的定义”尚未得到满足,有助于设定利益相关者对正在讨论的内容的期望。

5)Sprint评审是询问利益相关者对未完成工作反馈的场合吗?

不,不符合 DoD 的工作不应在 Sprint评审上展示。利益相关者必须确信他们在 Sprint 评审会上看到的工作符合预期的质量标准。

然而,Sprint评审似乎是获得未完成工作反馈的非常方便的场合。我们的建议是等到 Sprint评审本身完成之后,暂停,宣布 Sprint评审结束,并设定场景,即Scrum团队正在寻求有关未完成工作的反馈和指导。

6)完成的定义(DoD)由谁来创建?

这个问题的答案取决于组织是否已经为其产品创建了DoD。如果组织已经有了DoD,那么你的Scrum团队中的开发人员至少需要遵守这个DoD。你的团队可以添加更严格的标准,但不能放宽标准。

如果组织没有现有的DoD,Scrum团队有义务为他们的产品创建一个DoD,以便Scrum团队和利益相关者都清楚增量达到“完成”状态的意义。这是Scrum团队应该一起做的第一件事之一。

如果有多个Scrum团队共同在一个产品上工作,他们必须将各自的增量集成在一起,并且集成后的结果必须符合相同的“完成的定义”。

7)完成的定义可以改变吗

是的!随着团队的成长和团队对产品以及如何构建产品的理解不断深化,DoD得到改进是正常的。当团队开始处理摆在他们面前的复杂问题时,他们可能还不知道如何表达最终产品所需的所有质量特性。但他们将从已知的内容开始,并随着时间的推移持续改进DoD。

8)完成的定义何时更改

由于Sprint 回顾是专门用来规划如何提高团队效率的时间,因此它是讨论和改进DoD最恰当的场合。然而,Scrum实践者不会等到Scrum事件才采取必要的行动;如果团队认为需要修改DoD,他们应在实际可行的任何时候进行更改。

9)如果 Scrum 团队忽略了 DoD 或未能达到“完成”状态怎么办?

达到“完成”是交付有价值产品的一个必要方面,也是Scrum的核心原则之一。当Scrum团队没有创建符合必要质量标准的增量时,他们实际上是在增加风险并降低可预测性。

当Scrum团队未能达到“完成”状态时:

  • 利益相关者无法信赖产品的质量,从而产生不应存在的摩擦和不确定性;
  • 无法明确工作距离真正完成还有多久,因此难以做出估算或规划在Sprint中可以完成的工作;
  • 团队优先考虑快速交付而牺牲高质量,这往往导致将来不得不返工。

10)DoD和验收标准(AC)之间的区别是什么

“验收标准(Acceptance Criteria)”的使用严格来说并不是Scrum的一部分,但是一种有价值的补充实践。“完成的定义”描述了增量的特征以及它是否“完成”。

相比之下,“验收标准”通常是产品待办事项(PBI)的特征,描述了PBI是否已完成。

你可能会听到Scrum实践者谈论将PBI达到完成状态,或者他们的PBI符合DoD。但由于DoD实际上是针对增量的,这些人是在使用一种口语化的简略说法。他们真正想表达的是,当他们的工作(PBI)被集成到增量中时,该增量符合DoD。

11)DoD和“就绪的定义(DoR)”之间的区别是什么

“就绪的定义(DoR)”的使用也是一种经常采用的补充实践,但并不是Scrum的正式组成部分。与验收标准类似,DoR适用于你的产品待办事项(PBI)。它明确了团队对将一个产品待办事项纳入Sprint之前所必须完成的前提条件的共同理解。

为庆祝PSM I中文认证考试正式上线,2025年1月12日前在本站购买PSMI考试码享9折优惠。
为庆祝PSM I中文认证考试正式上线,2025年1月12日前在本站购买PSMI考试码享9折优惠。