关于Definition of Done 完成的定义
DoD在以往的说法中,常见用 退出标准 , 完成条件,成功标准,等等
典型的是迭代的DoD,这也是最初DoD应用的地方。 常见在Scrum中,需要预先定义DoD。

常见的迭代DoD条款

1,所有完成的用户故事得到PO的验证
2,所有代码得到静态分析,纠正最高级别的不符合项,静态分析的规则参见…
3,所有新增代码得到人工评审
4,所有完成的用户故事都有对应的测试用例
早期的迭代成果一般是为了内部或者可控范围内的展示,相对发布而言,要求较低,所以适用时间箱方法,当然迭代本身就是时间箱,迭代内的测试本来就有时间限制。采用时间箱来安排迭代内的测试可以获得时间箱安排的种种好处,在这样的安排下,回归覆盖率就应当是一个变量,用于观察,而不应当是一个要求指标。

关于Definition of Ready齐备的定义

敏捷开发发展了几个年头之后,人们发现进入迭代开发应当满足一定条件,否则过于模糊的需求会导致迭代的失败,在迭代内花费过多的时间去做需求澄清,因此给进入迭代设立门槛,就是Definition of Ready,简略称之为“DoR”, 最初的Ready是指准备好可以进入迭代开发。

常见的DoR

1,用户故事得到澄清
2,用户故事的故事点估算已经得到
3,用户故事的验收条件已经给出

多级DoD的出现

随着敏捷软件开发不断实践,为了保证不同对象的质量,出现了多级的不同的完成定义。

发布DoD

而对于发布,一般就有更加严格的要求,发布DoD的典型条款有:
1,完成发布规划所要求的重点内容
2,通过发布的全量测试,回归测试范围是全范围,回归比率不低于50%
3,修复所有等级为1、2、3的缺陷,4级及4级以下缺陷不超过200个。1、2级缺陷必须修复,3级缺陷经过带缺陷发布审批后可以发布。
在以往,由于发布需要达到比迭代更高的要求,所以一般很难强制规定发布测试所需要的时间长度,也就是说敏捷中常用的时间箱方法不适宜用在发布前的测试上,因为高质量发布是第1要务,如果到了原计划测试结束的时间,仍然留有妨碍发布的缺陷的话,应当修复后才能发布。因此出现了Water-Scrum-Fall这样古怪的提法,在DAD里面,恰恰容忍这样的做法,DAD把这样的做法看成是从原瀑布模型转向敏捷交付的起步阶段。
最新为了获得更快的时效,迭代级别的发布成为越来越多组织的选择,也就是说每迭代都要发布。那么这样,就把发布的高要求带给了迭代,迭代DoD同时要满足发布DoD。这种情形下,也需要对原来的发布DoD进行修改,主要在回归测试策略和通过条件上,一般而言,原来的回归测试策略需要过多的时间,无法在迭代内完成,需要新的回归测试策略能够支持迭代节奏。

为了更好的达成迭代DoD,就需要提前注意,所以有些更加细节的DoD得到识别并使用。

每日DoD

最典型的是每日DoD,典型条款有:
1,搭建每日构建环境,晚上自动静态代码检查、编译、部署和测试,每日修复前一日构建和测试发现的缺陷和问题。
2,下班前必须检入当天书写的代码
3,当天的代码必须在当天或者第2天邀请同伴进行代码评审
4,搭建持续集成环境,当天上下午必须至少各检入代码一次(这与第1条可能冲突)
5,凡是检入的功能代码必须要有对应的单元测试

用户故事的DoD

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

每周DoD

有少数组织考虑到测试集过于庞大,无法在1天之内测试完成,开展每周全量回归自动化测试,这样就有每周DoD,典型条款有:
1,上上周发现的缺陷是否解决
2,上周新增功能的自动化测试是否加入到每周测试集。

多级DoR的出现

随着多级DoD出现,多级DoR也出现了,往往的前一段的DoD就是后一段的DoR。所以有些的DoR其实就是DoD。比如对于集成测试的DoR就是开发联调的DoD,在使用看板的情况下,就是状态列的移动条件。典型的从开发联调到集成测试的条件:
1,开发跑通主成功场景,Demo给到PO,得到PO认可
2,代码合并到某某指定分支
3,持续集成通过

小结

从最初只有迭代DoD出发,DoD和DoR的多种形态的出现是越来越高频交付的必然结果。在既追求质量又追求效率的情况下,值得组合选择设定恰当的DoD和DoR,并且在运行中根据出现的情况,不断调整,成为敏捷团队的约定,进而塑造团队文化,甚至进而影响组织文化。

敏捷DoD和DoR的多种形态相关推荐

  1. 敏捷DoD完成定义的多种形态

    作者:张克强    作者微博:张克强-敏捷307 关于Definition of Done 完成的定义 在以往的说法中,常见用 退出标准 , 完成条件,成功标准,等等 在敏捷软件开发中,存在多级的不同 ...

  2. i12单双耳切换_多种形态,切换惬意,雷柏i100蓝牙TWS耳机,支持单耳/双耳使用...

    忙碌的一周还会开始,开不完的会,做不完的工作,脑负荷超标,只想一头钻入音乐的海洋. 在盛夏的欢愉中,它有一份独特的吸引力.是一剂舒心良方,能坠入仲夏夜的梦中,温暖.灵动.美妙,全身心的沉浸,给身心慰藉 ...

  3. 【C++进阶2--多态】面向对象三大特性之一,多种形态像魔法?

    今天,带来C++多态的讲解. 多态和继承并用,能产生"魔法般的效果". *文中不足错漏之处望请斧正! 见见多态 是什么 使得父类指针或引用有多种形态. 怎么使它有多种形态呢?咱们先 ...

  4. 闲鱼提效最佳实践:打造OKR机制下的数据驱动敏捷团队

    讲师介绍 淘系技术部 | 闲鱼技术部 | 鬼才 "闲鱼从零发展到过亿MAU的APP不同阶段的业务特点.核心问题以及针对性的优化,来阐述PMO视角项目管理.敏捷协同的演进思路与心得." ...

  5. 关于敏捷开发的最佳实践和工具

    出于员工的水平和沟通问题,也许国内有些人并不是那么相信敏捷,但是不得不承认,通过使用敏捷方法,国外的信息技术行业已经发生了翻天覆地的变化.在国外有数据统计,近71%的组织经常使用敏捷方法进行运营. 另 ...

  6. python支持多种编程范式吗_Python3学习之路~6.1 编程范式:面向过程 VS 面向对象...

    编程范式 编程是程序员用特定的语法+数据结构+算法组成的代码来告诉计算机如何执行任务的过程,一个程序是程序员为了得到一个任务结果而编写的一组指令的集合,正所谓条条大路通罗马,实现一个任务的方式有很多种 ...

  7. CVPR 2017精彩论文解读:综合使用多形态核磁共振数据的3D生物医学图像分割方法 | 分享总结...

    雷锋网 AI 科技评论按:计算机视觉盛会 CVPR 2017已经结束了,雷锋网 AI 科技评论带来的多篇大会现场演讲及收录论文的报道相信也让读者们对今年的 CVPR 有了一些直观的感受. 论文的故事还 ...

  8. 敏捷交付_确保敏捷交付

    敏捷交付 Assurance and Agile - two words not commonly seen together, and for good reason. The early and ...

  9. CVPR2017精彩论文解读:结合序列学习和交叉形态卷积的3D生物医学图像分割

    雷锋网(公众号:雷锋网) AI科技评论按:虽然CVPR 2017已经落下帷幕,但对精彩论文的解读还在继续.下文是宜远智能的首席科学家刘凯对此次大会收录的<结合序列学习和交叉形态卷积的3D生物医学 ...

  10. 蚂蚁金服崔恒斌:金融智能——对话机器人新形态

    文章发布于公号[数智物语] (ID:decision_engine),关注公号不错过每一篇干货. 转自 | 中国人工智能学会 本篇整理自蚂蚁金服人工智能部高级算法专家崔恒斌主题为<金融智能--对 ...

最新文章

  1. C++读取txt文件
  2. CLOSE_WAIT?项目上线之际遇到这样的烦心事
  3. Scrapy:python3下的第一次运行测试 1
  4. ORM框架通过映射(反射)获取数据库的数据
  5. 四川大学计算机软件技术基础,四川大学《计算机软件技术基础》复习题2及答案#.doc...
  6. 【java】分布式一致性hash算法
  7. 锐捷客户端了解网络架构
  8. 原生js写小球向右移动移动一定距离停止运动及小球加速运动
  9. usboot应用两篇:用USBOOT修理移动硬盘等
  10. 新课改计算机论文,新课改中职计算机职业教育论文
  11. 物联网和工业物联网有什么区别?
  12. 《思考的技术》--大前研一读书笔记
  13. msvcr100.dll丢失的解决方法,哪种解决方法值得推荐?
  14. 深度学习入门笔记(1)——什么是深度学习?
  15. STM32对于1997与2007电表数据规约的解析
  16. 一加7使用adb强制90hz时遇到的问题
  17. 浓浓新华情 温暖大家庭
  18. 努比亚Z11系统服务器选择,良心!努比亚Z11系列机型系统升级新版本后性能提升明显...
  19. python画流星_幻光流星
  20. 图像降噪算法matlab,数字图像去噪典型算法及matlab实现

热门文章

  1. CORE | AAAI2020:分子自动优化模型
  2. java.lang.UnsatisfiedLinkError解决方法汇集(转载)
  3. 塞班为什么那时候只有java_回忆S60(塞班)年代的JAVA游戏
  4. eighth week(1)
  5. Linux用户和群组管理的主要配置文件
  6. 指纹的对比分析系统概述
  7. eclipse windows 窗口背景颜色 保护视力
  8. 学习笔记之 初试Linux遇到的问题
  9. Java在线预览(word转html)--强势推荐
  10. MeshBaker一键合并网格编辑器实现