SCRUM 实践之 DOD

你的团队是不是经常会对于每次迭代是否完成,无法达成一致意见:有的认为我编码完成,就表示我的任务完成了;有的认为还需要简单自测一下,确保功能能跑通;还有的认为需要把自动化用例写完并测试通过。

为了解决这个常见问题,团队需要对完成的定义、完成的标准或完成的准则做统一的要求,这就有了 DoD 的诞生。这也逐渐变成了敏捷开发方法中的一个重要实践。

scrum-guide-dod1.png

DoD 定义

DoD 全称 Definition of Done, 是我们敏捷中常说的“完成的定义”
这里需要注意几点:
1 DoD 就是完成准则,完成就是不需要再做其他任何事情,可以直接交付了。DoD就是100%完成,而不是99%,95%,90%的完成。
2 DoD定义了达成目标的最小活动集,不增值的、无用的活动不在此清单上。
3 DoD就是产品的质量活动的标准,代表了团队为保证交付质量,对质量投入的共识与承诺。

DoD 作用

明确对完成的预期,确保项目中的内外部的干系人对完成的含义达成理解一致。
承诺的可视化,隐藏的、内部的质量投入对外暴露出来,增强团队的透明性。
避免快而脏的开发模式,不留技术债务,不遗留问题给后续迭代。
作为迭代策划的前提与约束条件,帮助我们合理估算工作量,制定切实可行的计划。
聚焦目标,减少不必要的活动,定义完成任务的最小活动集合 。
在做计划时判断是否有遗漏的活动。
在验收时检查是否有遗漏的活动,比如作为 Sprint Review的检查单的一部分。

Dod1-836x461.jpg

如何定义

团队成员协商一致输出,并确保所有人都可视。不要让领导定义DoD。
不同的活动有不同的完成定义,要区别对待。
随着迭代的进展,逐步完善DoD。保证随着时间会改变。组织的帮助和团队能力的增加可以移除掉更多障碍,使得更多的活动可以包含到 Sprint 或者 Feature 的DoD中来。
在迭代回顾会议上是讨论对DoD的优化修改。
DoD越弱,欠债越多,后期风险越大。
质量投入的活动要包含在DoD定义中,如各种测试、评审、重构活动等。

不同活动DoD

在敏捷软件开发中,存在多级的不同的完成定义。一上来不需要全部覆盖,可以共同约定适合团队的 DoD,然后在过程中过不断完善和修改。

30e9f0e0-9f42-4429-911f-9c86150d49f0.jpg

迭代DoD
常见的迭代DoD条款有:
1 所有完成的用户故事得到PO的验证。
2 所有代码得到静态分析,纠正最高级别的不符合项。
3 所有新增代码得到人工评审。
4 所有完成的用户故事都有对应的测试用例。
5 测试用例都已执行。

发布DoD

1 完成发布规划所要求的重点内容。
2 通过发布的全量测试,回归测试范围是全范围,回归比率不低于50%。
3 修复所有等级为1、2、3的缺陷,4级及4级以下缺陷不超过200个。1、2级缺陷必须修复,3级缺陷经过缺陷发布审批后可以发布。
4 至少通过一次全量回归测试。

区别:
由于发布需要达到比迭代更高的要求,所以一般很难强制规定发布测试所需要的时间长度,也就是说敏捷中常用的时间箱方法不适宜用在发布前的测试上,因为高质量发布是第1要务,如果到了原计划测试结束的时间,仍然留有妨碍发布的缺陷的话,应当修复后才能发布。
而迭代成果一般是为了内部或者可控范围内的展示,相对发布而言,要求较低,所以适用时间箱方法,当然迭代本身就是时间箱,迭代内的测试本来就有时间限制。采用时间箱来安排迭代内的测试可以获得时间箱安排的种种好处,在这样的安排下,回归覆盖率就应当是一个变量,用于观察,而不应当是一个要求指标。

版本DoD

版本DoD就是针对每个版本上线前后的一些规则,比如:
1 产品文档已全部更新
2 代码已部署到产品服务器上
3 运维在验收测试环境上冒烟通过
4 原始需求提交人对功能已经验收通过
5 对运维、市场、客服的新功能培训已完成

每日DoD

1 搭建每日构建环境,晚上自动静态代码检查、编译、部署和测试,每日修复前一日构建和测试发现的缺陷和问题。
2 下班前必须检入当天书写的代码,check in的backlog要填写清晰。
3 当天的代码必须在当天或者第2天邀请同伴进行代码评审。
4 搭建持续集成环境,当天上下午必须至少各检入代码一次(这与第1条可能冲突)。
5 采用TDD,凡是检入的功能代码必须要有对应的单元测试(严格采用TDD)。
6 每天晚上触发静态代码检查、自动化回归测试。
7 当天持续集成、构建环境中的问题,请当天解决。

用户故事DoD

1 用户故事最终的描述符合INVEST
2 用户故事得到测试用例的对应覆盖
3 用户故事得到对应的自动化测试用例
4 用户故事得到用户代表试用并初步认可

[image:5434D691-9A15-4D2D-9AB8-11431D82E8D0-82946-0002A9EE64E13EB9/640.png]
每周DoD

1 上上周发现的缺陷是否解决。
2 上周新增功能的自动化测试是否加入到每周测试集。

AC vs DoD

definition-of-ready.gif

最后记得,不要将 AC(Accept criteria )与 DoD 混淆了,它们都是敏捷开发中实践,不可相互取代。AC 是针对每个需求定义的。DoD是针对所有需求,任务,迭代,交付定义的。
满足了AC确保我们做了正确的事情,AC是站在最终用户的角度定义的,定义了产品的外部质量。
满足了DoD确保我们采用了正确的方法做事,DoD是站在利益相关者的角度定义,未必一定是最终用户的角度,它定义了产品的内部质量,保证了产品的长久的适应性。
最终用户验收时只关注了AC,而没有关注DoD。

微信公众号:Cindynan77

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 159,458评论 4 363
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,454评论 1 294
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 109,171评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 44,062评论 0 207
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,440评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,661评论 1 219
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,906评论 2 313
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,609评论 0 200
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,379评论 1 246
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,600评论 2 246
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,085评论 1 261
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,409评论 2 254
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,072评论 3 237
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,088评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,860评论 0 195
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,704评论 2 276
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,608评论 2 270

推荐阅读更多精彩内容

  • 在之前文章中我们提到了,每个Sprint都要验收才能算结束,而验收标准遵循DoD原则。那么究竟什么是DoD原则呢?...
    众易阅读 514评论 0 1
  • DoD 原文地址:http://www.woshipm.com/it/1673051.html 一、什么是DoD?...
    AmberLi00000阅读 246评论 0 0
  • 1、问:你在测试中发现了一个bug,但是开发经理认为这不是一个bug,你应该怎样解决? 首先,将问题提交到缺陷管理...
    小灰辉先生阅读 1,297评论 0 3
  • -----转载----- 1、问:你在测试中发现了一个bug,但是开发经理认为这不是一个bug,你应该怎样解决? ...
    花开沉浮阅读 7,283评论 4 88
  • 1、在项目的Sprint回顾会后,团队成员指出那是抱怨会,不是非常有效。Scrum主管应该怎么做?A 建议团队尊重...
    隔壁老李头阅读 11,783评论 1 16