作者:张克强    作者微博:张克强-敏捷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. js面向对象实现切换面板

    js面向对象的特点: 继承(inheritance):对象方法和属性的继承 多态(polymorphism):组件开发 抽象(abstract):抓住核心问题 封装(encapsulation):把功 ...

  2. c#.net前台调用JS文件中的函数[.net与JavaScript的应用]

    原文发布时间为:2008-10-10 -- 来源于本人的百度文章 [由搬家工具导入] <%@ Page Language="C#" AutoEventWireup=" ...

  3. json.net(Json.NET - Newtonsoft)利用动态类解析json字符串

    将对象转换为字符串很简单,唯一要注意的点就是为了避免循环要在需要的字段上添加jsonignore属性.可以参照这篇博文:http://www.mamicode.com/info-detail-1456 ...

  4. (7)python tkinter-菜单栏

    菜单栏 Menu f = tkinter.Menu(root) root['menu']=f f.add_command(label='菜单')# f.add_command(label='关于') ...

  5. ios学习的博客地址

    1.文顶顶博客   http://www.cnblogs.com/wendingding/ 2.唐巧的博客: http://blog.devtang.com/ 唐巧总结的40个国人iOS技术博客 博客 ...

  6. 身份识别协议枚举工具ident-user-enum

    身份识别协议枚举工具ident-user-enum   身份识别协议(Ident protocol,IDENT)是一种Internet协议,用于识别使用特定TCP端口的用户身份.服务器开启该服务后,会 ...

  7. commons-lang3-StringUtils

    字符串工具类   abbreviate(String str, int maxWidth) 返回一个指定长度加省略号的字符串,maxWidth必须大于3 StringUtils.abbreviate( ...

  8. 这算是CSS的bug吗?

    移动端web开发越来越火,同时移动端适配也是一个很让人头疼的事情,你不能让一个同样大小的元素在不同的设备上都显示一样大小.(iphone6和iphone4下大小肯定是应该不一样的,否则用户体验很差) ...

  9. mysqldump实践

    mysqldump   mysqldump---逻辑备份,热备 单线程,适合数据量小的库 mysql官方自带的命令行工具   #全库 )mysqldump -uroot -p123456 --sock ...

  10. Enter Query Mode Search Tricks Using Enter_Query Built-in in Oracle Forms

    In this post you will learn how to specify any condition in enter query mode of Oracle Forms. Whenev ...