# 完成的定义 Definition of Done (DoD) ## 定义 团队同意并在团队活动室的某个位置显眼地显示一系列标准,在将“通常是用户故事 ” 的产品增量视为“完成” 之前必须满足的标准。在冲刺结束时不满足这些标准通常意味着不应将工作计入该冲刺的速度。 ## 也称为 软件开发人员在回答“您是否已使用此功能”问题时有些粗心而闻名。公平地说,这是一个模棱两可的问题–它可能意味着“完成编程”,通常这就是开发人员在回答时会想到的。但是,感兴趣的含义通常是“您是否已完成编程,创建测试数据,实际测试,确保其可部署,文档化……”。 众所周知,要得到答案,要问的问题是:“我知道您已经完成了,但是您完成了吗?”。另请参阅“ 准备就绪 ”。 一些团队使用术语“完成列表”或“完成检查列表”;术语“产品生鱼片”的使用范围较广,可以清晰地显示产品的切片。 ## 预期收益 - “完成的定义”提供了一个清单,可有效指导实施前的活动:讨论,评估,设计 - 一旦定义的功能被接受为“完成”,“完成的定义”将限制返工的成本 - 签订明确的合同可以限制开发团队与客户或产品所有者之间产生误解和冲突的风险 ## 常见陷阱 - 迷恋标准清单可能适得其反;该列表需要定义使产品增加到“完成”状态所需的最低工作量 - 除了适用于一般工作的功能或用户故事,这些功能或用户故事可能还具有特定的“完成”条件 - 如果对完成的定义仅仅是一种共同的理解,而不是将其详细说明和展示在墙上,那么它可能会失去很多效力;其价值的很大一部分在于成为团队所有成员都知道的明确合同 ## 起源 - 2002年:比尔·韦克(Bill Wake)的早期文章提请注意团队中常用术语(例如“完成”)可能引起的不一致 - 2003年:早期的Scrum培训材料暗示了“完成的定义”在未来的重要性,最初只是以幻灯片标题的形式:“完成的故事” - 2005年:首次邀请Scrum培训生反思他们(本地)“完成的定义” 的练习出现在后来的Scrum培训材料迭代中 - 2007年:到那时,“完成的定义”作为一种全面的实践,并作为在团队会议室中显示的文本检查清单,已经广泛传播 ## 使用迹象 根据要求,团队可以指向其明确的“完成”定义 团队实际上在冲刺结束时使用“完成的定义”来证明是否将工作计入速度的决定是合理的