什么是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 时是否询问相关开发人员自测结果 |