暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

聊聊敏捷中的DoR和DoD

整码阁 2021-03-21
8130

一句话读完

  DoR = Definition of Ready
  DoD = Definition of Done
 通过DoR的Story可以进入迭代开发,通过DoD的Story可以交付使用



1. DoR

DoR中的R表示Story“准备就绪”,是Story“合格”的验收标准,即Story应该“长什么样”,通过DoR的Story可以从Product Backlog进入Sprint Backlog准备开发,属于Sprint开始前的需求确认阶段。


常使用INVEST原则定义DoR:

  • Independent:可以独立开发

  • Negotiable:体现用户需求

  • Valuable:业务价值明确

  • Estimatable:开发成本(时间)可预估

  • Testable:可测试,即本迭代可以完成,否则需拆解


一份DoR清单:

  • Story的业务价值清晰
  • Story可测试
  • Story技术可行
  • Story依赖明确
  • Story至少包含一个AC
  • PO和Dev Team开会讨论Story,并达成共识
  • Story本迭代可以完成
  • Dev Team估算Story开发时间
  • UX线框图得到Dev Team认可
  • 其它非业务定义,包括性能、可扩展性和安全标准等
  • 明确Story的验收人
  • Dev Team演示Story


2. DoD

DoD也是验收标准,它是Story开发完成后,确保可以交付使用验收标准,包括AC、测试、bugfix、部署等条目,所以DoD标准的目标只有一个:是否可以交付使用(ship it)。


DoD一般要回答以下问题:

  • 技术规范(代码评审、压力测试、编码规范)


  • 运行环境兼容性,例如Linux系统要求,Andriod/IOS/Browser版本兼容性
  • 自动生成API文档,手动更新用户手册
  • 验收目标(试用/演示/正式投入市场)
  • 安全性
  • 并发规模


一份DoD清单:

  • 代码覆盖所有AC
  • 代码有注释
  • PR审核通过,合并到git master
  • 静态代码检查并满足开发规范
  • 可以正确构建
  • 部署到测试环境
  • 单元测试满足覆盖率要求,并全部通过
  • 通过UAT测试
  • Story验收通过
  • 更新相关文档和图表
  • 关闭Story
  • 更新接口文档,包括英文和中文


3. 对比

  • DoR和DoD都是验收标准,只是用在不同阶段。

  • DoR相对固定,而DoD则是动态的,例如,项目早期相对宽松,越接近投入市场越严格。

  • DoR可以理解为PO的DoD,表示“该需求明确,可以进入迭代”,DoD表示“该需求完成,可以交付使用”。

  • 在实际实践中,早期的DoR和DoD只是简单的几句话,他们是在Retro中逐渐成型和完善,像产品一样,体现产品在每个Sprint要达到的目标。

  • DoR和DoD都表示“要做什么”,但DoR重在功能和特性,描述Story“要做什么”才能满足用户需要,DoD重在迭代和交付,描述开发团队“要做什么”用户才能使用。

  • DoR和DoD的初衷是通过一份简单的文档,在公司内部的股东、项目负责人和开发团队间达成一致,随着开发外包和分包,DoR和DoD逐渐成为甲乙双方的承包合同和SOW的一部分,甚至成为双方协商项目范围的工具,可以清晰描述需求,明确双方责任。

  • DoR有助于BA输出高质量的Story,而DoD有助于Dev Team输出高质量的代码。


小提示:先定义简单的DoR和DoD,迭代中逐渐完善,不要“一步到位”,不要过度设计,这也是敏捷的本质。


敏捷小抄

Product Backlog

产品待办清单,或产品To-Do List

Sprint Backlog

Sprint待办清单,或迭代To-Do List

Acceptance Criteria

验收标准,简称AC

(User) Story
用户故事,代表一个完整的小功能

Product Increment

产品增量,即每个迭代完整需求集

Sprint

本意冲刺,代表一个周期固定的迭代

Product Owner

项目负责人,简称PO

Business Analyst

业务分析师,简称BA

Dev Team

开发团队

Retro

回顾会议

文章转载自整码阁,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论