其他
DoR、DoD,定义的是什么? | IDCF
The following article is from 侬家铺子 Author 侬家铺子
本文部分内容,节选自——《敏捷无敌之DevOps时代》第18章 ”DoD,真正把事做完“
本文部分内容,经授权,节选自“侬家铺子“的文章:DevOps成长路线——DoR vs DoD
上文翻译自:https://www.linkedin.com/pulse/definition-ready-dor-vs-done-dod-brian-will
一、DoD 与 DoR
一个迭代是固定时间的循环,依次把迭代backlog上高优先级的任务变成产品增量。但是,要把事项顺利拉到当前的迭代中,如何定义用户故事“已经准备好”是很重要的——把没有完成或没有细化的用户故事放到迭代中,会在开发阶段产生问题,因为它遵循一个古老的原则:“进去的是垃圾,出来的也是垃圾”。如果开发基于没有充分细化或定义的用户故事来开发,他们不太可能产出高质量的代码。
“清晰的”意味着所有的Scrum团队成员对该条目达成了共识。通过协同编写用户故事,对高优先级事项添加验收标准,有利于需求的澄清。 “可测试的”意味着能通过有效的办法决定该条目是否符合期望。验收标准可确保每个故事都能被测试。 “可行的”意味着根据DoD,该条目能够在一个迭代中完成。否则,条目需要进一步的分解。
二、DoR是什么
Clear,用户故事描述清晰; Feasible,用户故事可以放入一个迭代; Testable,验收条件得到定义 。
2.1 DoR的一些例子
用户故事是清晰的 用户故事是可测试的 用户故事是可行的 用户故事已定义 用户故事验收标准已定义 用户故事依赖已明确 用户故事已由开发团队做过粒度划分 Scrum团队已接受UI原型设计 指定场景下的性能指标已明确 指定场景下的可扩展性指标已明确 指定场景下的安全指标已明确 验收用户故事的人已明确 团队都清楚用户故事所表达的意思
三、DoD是什么
用户故事所处的系统环境(哪个版本的Linux、Android、iOS或者浏览器)? 需要输出什么样的文档(自动生成的Javadoc,还是完整的终端用户手册)? 有什么质量要求(用于演示的基本功能,还是一个功能完整,健壮的APP)? 有什么安全要求(无安全要求,还是从代码评审、代码扫描到网络安全配等各方面都要求做安全审查)? 有什么扩展性要求(10个并发,还是10万个并发)?
3.1 DoD的一些例子
代码已完成(所有代办事项已经完成编码) 代码已注释、已提交。版本库当前版本能正常运行 结对检视已完成(或者采用结对编程),代码符合开发标准 构建没有错误 单元测试全部通过 部署到测试环境并通过系统测试 通过UAT(用户验收测试)并签字确认符合需求。 任何编译/部署/配置变化都已实现/记录/沟通。 相关文档/图表已完成或已更新 任务剩余的小时数已设置为0,任务已关闭
3.2 DoD,通常需要从几个维度考虑
1)需求/用户故事DoD
用户故事的描述及拆解符合INVEST; 用户故事有验收标准AC(Acceptance Criteria)。
2)开发任务DoD
代码已经提交到Git; 代码通过单元测试; 代码经过Code Review; 代码通过集成测试。
3)迭代DoD
所有代码通过静态检测,严重问题都已修改; 所有新增代码都经过Code Review; 所有完成的用户故事都通过测试; 所有完成的用户故事得到Product Owner的验证。
4)发布DoD
完成发布规划所要求的必须具备的需求; 至少完成一次全量回归测试; 符合质量标准(Quality Gate),譬如所有等级为1、2的缺陷均已修复;3、4级缺陷不超过10个; 有Release Notes; 有用户手册; 产品相关文档已全部更新; 代码已部署到发布服务器上,并冒烟通过; 原始需求提交人完成UAT; 对运维、市场、客服的新功能培训已完成。
四、DoD和DoR应该上墙
五、DoR和DoD另外的用法
六、小结