什么是DoD?DoD 全称 Definition of Done, 是我们敏捷中常说的“完成的定义”
比如一个迭代做完后,要进行验收来年本个迭代是否完成。但团队对是否完成无法达成统一,有人认为编码完成,就表示任务完成了;有的认为还需要简单自测一下,确保功能可以正常使用;还有的认为需要把自动化用例写完并测试通过才算完成。有人认为完成是需要包含完成编码,提交到代码库,完成单元测试,完成集成测试,完成功能测试,等等一系列的测试。而有的小伙伴可能认为完成只包含代码,以及在自己的电脑上测试,没有问题就算是完成了。
为了避免这个问题,团队需要约定各阶段什么是真正的完成
以下各阶段DoD仅供参考,实际使用DoD应团队共同讨论,找到大家愿意共同遵守的原则。
以下各阶段DoD仅供参考,实际使用DoD应团队共同讨论,找到大家愿意共同遵守的原则。
规划会议(Planning Meeting)
|
是否结束上个迭代并将未完成任务纳入本迭代 |
|
是否修复上个迭代的所有BUG并将未修复BUG纳入本迭代 |
|
是否和所有人确认待改进项列表 |
|
是否和所有人确认DoD新增项 |
|
是否确认本迭代的开始时间和结束时间 |
|
是否确认本迭代的团队成员 |
|
是否在预估容量之前确认排除了法定假日、成员计划的休假和成员其他事务占用的时间 |
|
是否计算本迭代的预估容量 |
|
是否确定PBR会议时间和地点 |
|
是否确定演示会议时间、地点、负责人 |
|
是否确定回顾会议时间和地点 |
|
是否分组讨论需求并做完时间评估 |
|
是否确认所有需求都已澄清清楚 |
|
是否确认需要预研的任务都已创建评审任务 |
|
是否存在不同组别成员任务交叉但并未参与澄清和评估的情况 |
|
是否确认实际评估容量未超过预估容量 |
|
是否划分任务的优先级 |
|
是否按照优先级分配任务 |
|
是否合理调配任务确保各开发人员时间相对均衡 |
每日站会(Daily Scrum)
|
是否上报前一个工作日的详细进度 |
|
是否上报当前工作日的详细计划 |
|
是否上报进度和计划完成的百分比 |
|
是否从其他成员获取到关联任务的计划和进度 |
|
是否和其他成员确认关联任务的计划和进度 |
|
是否上报了风险 |
|
是否在工作群同步了进度、计划和风险 |
|
是否在会后对上报的风险进行评估和应对 |
需求细化会议(Product Backlog Refinement)
|
是否了解清楚后续迭代任务的内容 |
|
是否对后续迭代的任务在价值、意义、可行性、技术细节、难点、参考等方面做有限的讨论 |
|
是否对需求不明确的任务提出质疑 |
|
是否对需求的原型或参考的应用有疑问 |
|
是否确认所有疑问已澄清或给出澄清计划 |
|
是否对可能需要预研的任务提出预研申请 |
|
是否找到自己有兴趣的任务并计划主动了解/预研该任务的细节 |
演示会议(Review Meeting)
|
是否演示完本迭代所有的需求 |
|
是否记录演示过程中的所有疑问、BUG和需求 |
|
是否对演示过程中的问题作出回答 |
|
是否展示迭代健康度报告并讨论 |
|
是否将演示过程中的问题记录为需求或BUG跟踪 |
回顾会议(Retrospective Meeting)
|
是否回顾上个迭代的改进项 |
|
是否询问改进项负责人改进结果 |
|
是否根据改进结果调整改进项结果或改进目标 |
|
是否收集所有人对本迭代的优点和改进项评价 |
|
是否整理、解释、合并改进项并投票选出3个待改进项 |
|
是否针对待改进项讨论解决方案 |
|
是否针对解决方案指定负责人 |
|
是否将所有改进项整理和并到新迭代的改进项列表 |
测试DoD
|
迭代前: |
|
1、原型图是否经过检查,并提交修改 |
|
测试前 |
|
1、是否主动跟需求开发沟通透彻理解需求、验收标准 |
|
2 、是否迭代用户故事、任务都有对应正常、异常测试用例
|
|
3 、是否所有用例都通过前后端开发人员评审
|
|
4 、是否所有原型图和 strory 中的描述、注释都在测试用例中体现
|
|
5、是否添加了测试计划并分配测试人员 |
|
6、当前是否存在风险 |
|
测试中 |
|
1、冒烟测试是否通过,如不通过,拒绝测试
|
|
2、是否所有测试用例都执行了 |
|
3、是否对所有接口进行了接口测试 |
|
4、是否对增加和修改接口进行了容错和边界测试 |
|
5、是否跟踪bug修复状态并最终关闭或丢弃 |
|
6 、是否进行了渗透测试
|
|
7、当前是否存在风险 |
|
8、是否关闭当前浏览器,再使用无痕浏览器进行测试(以排除缓存问题) |
|
9、是否所有bug都提交到的KDOP |
|
10、是否在完成测试、关闭故事的所有bug后,确认所有用例都通过后,将故事关闭 |
|
11、是否新建用户,在应用工作空间新建角色, 只给该角色分配待测功能权限、按钮和页面进行测试 |
|
12 、是否检查转测试的故事、关闭的任务上传图片附件,如没有就退回 (类型、内容规范度)
|
|
|
|
发布前 |
|
1 、检查 sonar 结果是否有遗留 bug 、异味
|
|
2 、检查上迭代安全问题是否修复,并进行了复测并关闭
|
|
3、当前是否存在风险 |
|
发布后 |
|
1、是否进行了上迭代组件安全扫描、评可证扫描 |
|
2、是否进行了上迭代代码安全扫描 |
|
3、是否对官网发布进行下载并安装测试 |
|
4、官网说明书是否已更新 |
|
5、检查tag文件是否打包 |
|
6、是否写了迭代测试报告并提交,迭代测试报告是否有关键要素? |
|
每日DoD |
|
1、检查当天是否有提测,进行测试 |
|
2、如环境有问题,当天解决 |
|
3、完成测试用例,当天或第二天与开发完成用例评审 |
|
4、 修改的bug当天复测关闭 |
前端DoD
|
1、考虑需要后端提供什么接口,前端提供哪些接口 |
|
2、前端提供的接口,是否完成接口设计 |
|
3、是否与后端一起评审接口 |
|
4、是否修改KDOP任务状态为-正在处理 |
|
5、mock接口是否定义 |
|
6、页面、菜单路由是否配置 |
|
7、页面是否还原ui图设计、原型图设计 |
|
8、页面是否符合设计规范 |
|
9、页面交互是否完成 |
|
10、含有表单校验是否完成校验 |
|
11、是否给功能按钮设置权限 |
|
12、接口联调是否通过 |
|
13、功能是否按照测试用例自测通过 |
|
14、代码是否merge到dev |
|
15、开发环境是否通过测试 |
|
16、是否和后端确认可提交测试 |
|
17、代码是否merge到test |
|
18、是否更新KDOP任务状态为-已完成 |
|
19、 将【故事】转测试 , 并在附件中添加自测结果截图 |
|
20、是否通知测试执行测试任务 |
|
21、 codereview 时是否询问相关开发人员自测结果 |
后端DoD
|
开发前 |
|
是否完成整体需求整理、规划 |
|
是否完成数据库表结构设计 |
|
是否完成全量/增量SQL以及菜单权限SQL整理 |
|
是否完成数据库设计评审 |
|
是否与前端人员沟通接口实现 |
|
是否完成接口设计 |
|
是否完成接口评审(尽量迭代第二天之内) |
|
是否更新kdop状态【正在做】 |
|
是否check DoD本阶段内容已完成 |
|
开发中 |
|
是否完成模型设计 |
|
是否按照契约提供接口 |
|
是否按照设计需求完成入参校验/动态参数校验 |
|
是否完成逻辑开发 |
|
是否按照测试用例自测 |
|
是否在本地环境通过初始化安装/升级的方式测试 SQL 脚本 |
|
是否通过"创建应用"及脚本涉及范围的相关功能测试本次SQL脚本正确性 |
|
是否提交全量/增量 SQL 脚本 |
|
是否清除代码异味 |
|
是否将本地分支代码merge到dev |
|
是否通知前端已备好接口,可以开始联调 |
|
是否完成联调 |
|
是否check DoD本阶段内容已完成 |
|
开发后 |
|
是否与前端确认可提测 |
|
是否将代码从dev merge到test |
|
是否通知测试人员本次提交涉及数据库升级 |
|
是否提示测试人员进行测试 |
|
是否修改kdop任务状态为【已完成】 |
|
是否确认当前任务是【故事】下最后一个子任务,如果是,则将【故事】转测试,并提交自测图片; 如果当前任务是【故事】,直接提交自测图片并转测试 |
|
是否完成单元测试编写 |
|
是否完成所有缺陷修复 |
|
是否check DoD本阶段内容已完成 |
|
其它 |
|
是否在测试用例评审时与测试人员仔细沟通测试点 |
|
是否及时暴露风险 |
|
是否在更新新迭代相关文件/文件夹后通知其他组员 |
|
codereview 时是否询问相关开发人员自测结果 |