完成定义如何随团队成熟度定期评审与演进

完成定义(DoD)需要随团队成熟度定期评审和演进,才能持续支撑交付质量。本文从建立现状基线开始,说明定义老化的常见原因,给出按成熟度分层调整的路径,以及评审、变更记录和效果验证的具体做法。文末会自然衔接ONES在验收标准与迭代回顾中的承载方式。



要点总览(TL;DR)


  • 先给完成定义建立基线:逐条记录来源、颗粒度和实际执行情况,并区分团队级DoD与单条工作项的验收条件。
  • DoD老化多因缺少评审节奏、条目只增不减、颗粒度与成熟度错位、写完不用于验收,评审时要对照证据逐条判断保留、修改、新增或删除。
  • 按起步、成长、成熟三个阶段调整条目颗粒度与评审频率:起步每两到三个迭代评审一次,成长与成熟阶段以每季度为主,流程变更或质量事故时额外触发。
  • 每次评审后记录版本、生效时间、适用范围和责任人,并在验收环节实际使用,DoD才具备约束力。
  • 用遗漏项、返工次数、验收争议和缺陷逃逸等指标对照评审前后若干迭代的变化,同时区分人员、需求等其它因素的影响。


当前做法与目标:先给完成定义建立基线


演进的第一步是看清现状。很多团队的DoD写在某份文档里,条目来源混杂:一部分来自敏捷培训模板,一部分是某次质量事故后临时补的,还有一部分是某位资深成员的个人习惯。条目颗粒度也不统一,有的写“代码已提交”,有的写“通过集成测试且无P1缺陷”。如果不先梳理,后续评审很容易变成在模糊基础上继续叠加。


建立基线时,建议把现有DoD逐条列出,并标注三项信息:条目来源(模板、事故复盘、团队约定)、颗粒度(可自动验证、需人工检查、仅口头确认)、实际执行情况(每次交付都检查、偶尔检查、写完未用)。这份清单不需要很长,但要真实反映团队当前状态。


同时要区分两个层次。团队级DoD描述“一个工作项被认为完成时,团队共同要求满足的条件”,适用于所有进入交付的工作项;单条工作项的验收条件描述“这个具体需求做到什么程度算完成”,由需求本身决定。两者混在一起,会导致DoD越来越长、越来越像需求说明书。团队级DoD保持精简稳定,单条验收条件随需求变化,是后续演进的基本结构。


演进目标可以归纳为三点:减少交付遗漏和返工,让完成标准可以被检验,让定义与团队当前能力匹配。条目数量本身不是目标,条目多不等于质量高,条目少也不等于不严谨。判断标准是:每条都能回答“谁来检查、用什么证据判断、不满足时怎么处理”。


完成基线清单后,团队会得到一份现状记录:现有条目、执行偏差、目标改进方向。这份记录是后续每次评审的对照起点。



完成定义为什么会老化:常见瓶颈与误区


DoD老化通常不是一次发生的,而是几个小问题叠加。最常见的是缺少固定评审节奏:定义在项目初期建立后,再没有人主动回看,团队人员换了几轮,条目还停留在最初版本。另一种情况是条目只增不减,每次出问题就加一条,几年后变成几十条清单,执行时没人逐条核对,反而失去约束力。


团队成熟度提升后,原有条目会出现两种错位。一种是过粗:早期团队可能只要求“自测通过”,当团队具备自动化测试能力后,这条标准无法区分基本自测和回归验证。另一种是过细:早期为了建立纪律,要求每个小改动都走完整评审,成熟后这类条目会增加不必要的检查成本,需要合并或调整触发条件。


更隐蔽的问题是DoD与实际交付检查脱节。定义写在文档里,验收时却只看需求描述和演示效果,DoD从未进入验收动作。这种情况下,即使条目写得合理,也无法影响交付质量,评审时也缺少真实执行证据。


现象 常见成因 对交付的影响
DoD长期停留在初建版本 没有固定评审节点,无人负责发起 标准与团队能力脱节,新成员按旧标准执行
条目只增不减 每次问题后追加,缺少合并与删除机制 清单过长,执行时选择性忽略
条目过粗或过细 未随成熟度调整颗粒度 过粗漏检风险,过细增加检查负担
写完不用于验收 验收流程与DoD分离,缺少检查动作 定义失去约束力,问题重复出现


按成熟度分层:完成定义如何随阶段调整


成熟度分层不是给团队贴标签,而是帮助判断当前DoD应该关注什么。下面按起步、成长、成熟三个阶段给出调整方向,团队可以对照自身情况选择起点,不必严格逐级推进。


起步阶段,团队对交付节奏和协作方式还在磨合,DoD应少而明确,聚焦可交付和基本质量底线。典型条目包括:需求已实现并自测、代码已合入主干、相关方已确认演示结果。这个阶段条目数量控制在五到八条,每条都能被直接观察。评审频率可以设为每两到三个迭代一次,调整幅度以增删一两条为主。


成长阶段,团队已有稳定迭代节奏,开始出现跨角色协作和交付一致性要求。DoD可以补充测试、评审、文档等检查项,并明确责任角色。例如:测试用例已执行并记录结果、接口变更已同步下游、必要的使用说明已更新。这个阶段要避免把所有好实践都写进DoD,优先纳入与近期返工和遗漏直接相关的条目。评审频率可设为每季度一次,或在流程变更后触发。


成熟阶段,团队具备较好的工程实践和数据基础,DoD条目可以细化到可自动或可证据化验证。例如:持续集成流水线通过、关键路径有自动化回归覆盖、缺陷修复附带回归用例。这个阶段的重点从“补条目”转向“验证条目是否仍被执行”,评审时更多讨论删除过时条目和调整检查方式。评审频率保持每季度一次即可,重大流程变化时额外评审。


成熟度阶段 DoD颗粒度与检查项 评审频率 调整幅度
起步 少而明确,聚焦可交付与基本质量底线,条目可直接观察 每两到三个迭代 每次增删一两条
成长 补充测试、评审、文档检查项,明确责任角色 每季度或流程变更后 围绕近期返工和遗漏增删
成熟 细化到可自动或可证据化验证,关注执行一致性 每季度,重大变化时额外评审 以删除过时条目、调整检查方式为主


定期评审与演进的操作步骤


评审要落到具体动作,关键是明确谁发起、在什么节点评审、怎么改、怎么生效。以下步骤可以作为团队的操作清单,按实际情况裁剪。


第一步,设定评审触发点。固定周期建议每季度一次,与迭代回顾错开,避免回顾会时间被占满。事件触发包括:交付流程发生变更、出现重复性质量事故、交付模式调整(如从单体发布转为持续交付)、团队人员结构明显变化。触发点写进团队约定,由Scrum Master或团队负责人负责提醒。


第二步,在回顾会或专门评审会中逐条讨论。评审依据是证据,不是印象。可以提前收集上个周期的遗漏项、返工记录、验收争议和缺陷逃逸情况,对照现有DoD逐条判断:这条是否仍被执行、是否仍能区分完成与未完成、是否需要合并或删除。讨论时给每条结论标注处理方式:保留、修改、新增、删除。


第三步,记录变更。每次评审后更新DoD文档,写清版本号、生效时间、适用范围和责任人。变更记录不需要复杂,一张表即可:变更日期、变更条目、变更原因、生效迭代、负责人。这样下次评审时可以回看条目演变,判断哪些调整真正起了作用。


第四步,宣导并在验收环节使用。新版本生效前,在迭代计划会或团队例会上说明变更内容和原因。验收时把DoD作为检查依据,逐条确认或记录未满足项。只有进入实际验收动作,DoD才具备约束力,评审时也才有执行证据可看。


在工具承载上,团队可以把DoD文档放在ONES Wiki中,与迭代或工作项关联,评审时直接对照文档和交付记录讨论;需求与验收标准在迭代计划阶段达成一致后,测试人员依据验收标准编写和执行测试用例,未通过用例可转为缺陷提交并指派修复,这些记录可以作为下轮评审的证据来源。迭代回顾时,团队可以结合燃尽图、工时日志等报表复盘进度与质量偏差,并把评审结论沉淀回Wiki,形成可追溯的变更记录。



适用前提与代价:演进需要投入什么


定期评审DoD需要几个前提。团队对完成标准要有基本共识和执行力,如果成员对“完成”的理解差异很大,评审会容易变成争论而不是改进。团队需要能拿到交付证据,包括测试记录、缺陷数据、验收反馈,否则评审只能凭印象。还需要有人负责发起和记录,这个角色可以由Scrum Master、团队负责人或轮值成员承担。


代价主要体现在时间上。每次评审和变更记录会占用回顾会或专门会议的时间,按团队规模不同,通常需要半小时到一小时。条目过细会增加日常检查成本,每条都要求证据化验证时,团队需要在交付速度和检查深度之间权衡。跨团队或依赖外部交付时,DoD协调成本更高,需要对齐多个团队的完成标准,变更也要同步通知相关方。


这些投入是否值得,取决于团队当前的质量风险。如果返工和验收争议频繁,评审投入通常能换来明显改善;如果交付一直稳定,评审可以保持较低频率,以维护为主。



效果验证:如何判断演进是否有效


验证演进效果,建议以评审前后若干迭代为观察窗口,对照一组可观察指标:遗漏项数量(验收时发现但DoD未覆盖的问题)、返工次数、验收争议次数、缺陷逃逸情况(交付后发现的缺陷)。这些指标在评审前先记录基线,评审后按同样口径继续记录,比较变化趋势。


比较时要注意区分其他因素。人员变动、需求规模变化、外部依赖调整都可能影响上述指标,不能把全部变化归因于DoD调整。可以结合变更记录,看某条新增或修改的条目是否对应了特定问题的减少。如果某条新增后相关遗漏明显下降,说明这条有效;如果新增后执行率很低,说明条目本身或检查方式需要再调整。


还要定期回看变更记录,判断条目是否仍被执行。执行率是比条目数量更直接的信号:一条从未被检查的条目,无论写得多好都不产生作用。评审时可以抽查最近几个迭代的验收记录,确认DoD条目是否实际进入检查动作。发现长期不执行的条目,要么调整检查方式,要么删除,避免定义继续膨胀。



常见问题


团队规模很小,也需要按季度评审完成定义吗?


评审频率可以按团队实际情况调整。小团队沟通成本低,起步阶段每两到三个迭代评审一次即可;进入稳定期后,如果返工和验收争议很少,可以降低到每季度一次,以维护为主。关键是保留固定触发点,避免定义长期无人回看。流程变更、重复性质量事故或人员结构明显变化时,仍应额外安排评审。


完成定义和单条需求的验收条件应该怎么分工?


团队级DoD描述所有进入交付的工作项共同要求满足的条件,应保持精简稳定;单条工作项的验收条件由需求本身决定,随需求变化。两者混在一起,DoD会越来越长、越来越像需求说明书。评审时可以先判断某条内容属于哪一层,属于具体需求的移入验收条件,属于团队通用要求的留在DoD中。


评审会上讨论DoD,应该依据哪些材料?


依据证据而不是印象。可以提前收集上个周期的遗漏项、返工记录、验收争议和缺陷逃逸情况,对照现有条目逐条判断是否仍被执行、是否仍能区分完成与未完成。在ONES中,需求与验收标准在迭代计划阶段达成一致后,测试人员依据验收标准编写和执行测试用例,未通过用例可转为缺陷提交并指派修复,这些记录可以作为评审的证据来源;迭代回顾时还可结合燃尽图、工时日志等报表复盘进度与质量偏差。


新增的DoD条目执行率很低,应该怎么处理?


先判断原因:如果条目本身合理但检查方式太重,可以简化验证手段或调整触发条件;如果条目与实际质量风险关联不大,可以考虑删除。评审时抽查最近几个迭代的验收记录,确认条目是否实际进入检查动作。长期不执行的条目会稀释整份定义的约束力,需要及时清理或改造。


跨团队协作时,完成定义的协调要注意什么?


跨团队或依赖外部交付时,需要对齐多个团队的完成标准,变更也要同步通知相关方。协调成本主要体现在对齐会议和通知环节,建议把各方共同认可的条目写成共享基线,各团队再在此基础上补充自身条目。变更生效前留出通知时间,避免一方已按新标准验收、另一方仍按旧标准交付。