作者:张克强    作者微博:张克强-敏捷307

关于Definition of Done 完毕的定义
在以往的说法中,常见用 退出标准 , 完毕条件。成功标准,等等
在敏捷软件开发中,存在多级的不同的完毕定义。
典型的是迭代的DoD。这也是最初DoD应用的地方。

常见在Scrum中,须要预先定义DoD,常见的迭代DoD条款有:
1,全部完毕的用户故事得到PO的验证
2,全部代码得到静态分析,纠正最高级别的不符合项。静态分析的规则參见...
3,全部新增代码得到人工评审
4,全部完毕的用户故事都有相应的測试用例
而对于公布,一般就有更加严格的要求,公布DoD的典型条款有:
1。完毕公布规划所要求的重点内容
2,通过公布的全量測试。回归測试范围是全范围,回归比率不低于50%
3,修复全部等级为1、2、3的缺陷,4级及4级下面缺陷不超过200个。1、2级缺陷必须修复。3级缺陷经过带缺陷公布审批后能够公布。
由于公布须要达到比迭代更高的要求,所以一般非常难强制规定公布測试所须要的时间长度,也就是说敏捷中经常使用的时间箱方法不适宜用在公布前的測试上,由于高质量公布是第1要务,假设到了原计划測试结束的时间,仍然留有妨碍公布的缺陷的话,应当修复后才干公布。

而迭代成果通常是为了内部或者可控范围内的展示,相对公布而言,要求较低,所以适用时间箱方法,当然迭代本身就是时间箱,迭代内的測试本来就有时间限制。

採用时间箱来安排迭代内的測试能够获得时间箱安排的种种优点,在这种安排下,回归覆盖率就应当是一个变量,用于观察。而不应当是一个要求指标。

为了更好的达成迭代DoD。就须要提前注意,所以有些更加细节的DoD得到识别并使用。
最典型的是每日DoD。典型条款有:
1。搭建每日构建环境,晚上自己主动静态代码检查、编译、部署和測试,每日修复前一日构建和測试发现的缺陷和问题。
2,下班前必须检入当天书写的代码
3,当天的代码必须在当天或者第2天邀请同伴进行代码评审
4。搭建持续集成环境,当天上下午必须至少各检入代码一次(这与第1条可能冲突)
5,採用TDD。凡是检入的功能代码必须要有相应的单元測试(严格採用TDD)
还有针对用户故事(或者用例)的DoD,比方
1。用户故事终于的描写叙述符合INVEST
2。用户故事得到測试用例的相应覆盖
3,用户故事得到相应的自己主动化測试用例
4,用户故事得到用户代表试用并初步认可
有少数组织考虑到測试集过于庞大。无法在1天之内測试完毕,开展每周全量回归自己主动化測试,这样就有每周DoD。典型条款有:
1,上上周发现的缺陷是否解决
2,上周新增功能的自己主动化測试是否增加到每周測试集。

敏捷DoD完毕定义的多种形态的更多相关文章

  1. Spring源码系列 — BeanDefinition

    一.前言 回顾 在Spring源码系列第二篇中介绍了Environment组件,后续又介绍Spring中Resource的抽象,但是对于上下文的启动过程详解并未继续.经过一个星期的准备,梳理了Spri ...

  2. Java并发编程(一)线程定义、状态和属性

    一 .线程和进程 1. 什么是线程和进程的区别: 线程是指程序在执行过程中,能够执行程序代码的一个执行单元.在java语言中,线程有四种状态:运行 .就绪.挂起和结束. 进程是指一段正在执行的程序.而 ...

  3. UML和模式应用2: 迭代、进化和敏捷

    1.前言 本章主要介绍迭代.敏捷开发及UP(统一过程)的基本概念 2.基本术语 Items Note 软件开发过程 描述了构造.部署及维护软件的方式 迭代开发 是一种软件开发过程的生命周期模型,依赖短 ...

  4. go语言之进阶篇接口的定义和实现以及接口的继承

    1.接口的定义和实现以及接口的继承 示例: package main import "fmt" //定义接口类型 type Humaner interface { //方法,只有声 ...

  5. 【python】class之类的定义

    使用class定义类,可以提供一个可选的父类或者基类,如果没有合适的基类,那就使用object作为基类,也可以不写.class FooClass (object)或者class FooClass: v ...

  6. Scrum3.0 敏捷开发白皮书

    一.什么是敏捷? 敏捷是一种以用户需求为核心.采用不断迭代的方式进行的软件开发模式.敏捷依靠自组织 的跨职能小团队,在短周期内,做出小块的东西来,通过快速.频繁的迭代,迅速的获取反 馈,进而不断的完善 ...

  7. 任务3.站会或DoD

    三选一 1.为开展敏捷团队:尝试一下引入站会 2.正在实践敏捷团队:定义DoD 3.从本次和上次学习中自己找出一个任务 <我们知道何时才算完成> <富有成效的每日站会> 目前所 ...

  8. 十四自定义构建购物计算组件&表单组件

    目录: 1.前言 2.组件介绍 3.js业务逻辑层 4.视图层 5.css属性设置 6.效果呈现 1.前言: 在第九篇文章购物车做好后,还忘记了一个至关重要的计算组件.在鸿蒙的组件中并没有提供这样一个 ...

  9. 我的敏捷、需求分析、UML、软件设计电子书 - 下载(持续更新中)

    我将所有我的电子书汇总在一起,方便大家下载!(持续更新) 文档保存在我的网站——软件知识原创基地上(www.umlonline.org),请放心下载. 1)软件设计是怎样炼成的?(2014-4-1 发 ...

随机推荐

  1. 适配IPhone X的技巧

    #define TabbarHeight ([[UIApplication sharedApplication] statusBarFrame].size.height>20?83:49) // ...

  2. [LeetCode] Valid Number 确认是否为数值

    Validate if a given string is numeric. Some examples:"0" => true" 0.1 " => ...

  3. socket介绍(webService适用场景)

    1.使用场景         - 不同的移动客户端访问      - 需要访问第三方的项目 2.访问第三方应用的方式      ISO的七层模型  : 物理层.数据链路层.网络层.传输层.表示层.会话 ...

  4. IMAGE_OPTIONAL_HEADER32 结构作用

    IMAGE_OPTIONAL_HEADER32 结构作用 接 着我们来谈谈 IMAGE_OPTIONAL_HEADER 结构,正如名字的意思,这是一个可选映像头,是一个可选的结构,但是呢,实际上上节课 ...

  5. 解决mariadb数据库服务无法开启

    我的系统Manjaro linux,安装的数据库为mariadb 10.1 1.安装数据库 pacman -S mariadb 2.配置数据库启动环境: mysql_install_db --user ...

  6. ext2/3/4的inode结构说明

    系统环境:Ubuntu15.10/ext4 今天在复习<鸟哥的私房菜-基础学习篇>,看到inode大小为128bytes,想看下这128字节里面到底是什么样的. 于是我查了下google, ...

  7. 当一个窗体上有PageControl 控件时,是先执行 FormShow呢,还是先执行PageControl 的 TabSheet2Show呢

    答案是 先执行 TabSheet2Show  ,总算知道了,顺便推理 Onshow事件的执行顺序是 从内到外,先执行容器内的控件的事件,再执行 窗体的事件

  8. LeetCode OJ-- Maximal Rectangle ***@

    https://oj.leetcode.com/problems/maximal-rectangle/ 给一个二维矩阵,里面只有0 1,求一个最大的矩阵,里面的所有元素都是1. 首先预处理: 0 1 ...

  9. Fiddler简介以及web抓包

    Fiddler简介以及web抓包 版权声明:本文为博主原创文章,未经博主允许不得转载. 一.Fiddler简介简单来说,Fiddler是一个http协议调试代理工具,它能够记录并检查所有你的电脑和互联 ...

  10. Qt小结

    (1)#include 报错fatal error: QHostInfo:No such file or directory, 解决办法 在.pro文件中添加 QT += core gui netwo ...