敏捷DoD和AC知多少

发布时间:2024年01月22日

我们在实践中可能会遇到如下情况:当询问团队成员迭代是否完成时,每个成员对完成是有不同的理解的,有的成员认为代码编写好就算完成;有的认为还需要优化一下,确保功能运行正常;还有的认为需要编写自动化用例并经过测试才算完成,不同的成员的“完成”之间有很大的差距。

为了解决这个问题,团队 需要对完成的定义、完成的标准做统一的要求,即对DoD要有明确的定义。

DoD全称为Definition of Done 也叫完成定义,DoD的目标只有一个: 是否可以交付使用。当某个需求被描述为“完成”的时候,所有人都要理解“完成”意味着什么。这就是 Scrum 团队的“完成”定义,用来评估产品增量是否完成。一般DoD可分为 用户故事DoD、发布DoD等。

团队开发中用户故事完成的标准主要包括:

1.代码编写完成;

2.代码审查完成;

3.代码提交完成;

4.单元测试通过;

5.功能测试已经验收通过;

6.自动化测试已经验收通过等等。

当然这个标准是团队共同讨论出来的,团队愿意共同遵守的原则,一旦确定,团队就应共同遵守,此外DoD不是一成不变的,在随着时间的推移、经验的积累、迭代的进展,团队可在迭代回顾会上讨论DoD的优化修改从而不断完善。

而AC通常和用户故事绑定是一个完整的整体,在做用户故事梳理拆分的同时,也会对AC进行确定。通过AC(验收标准)可以消除客户和开发团队之间因需求产生的歧义,使开发能更好地理解细节,还能让客户及时了解开发过程,让他们检查功能是否符合实际的业务需求。总的来说AC能够确保用户故事被正确地完成。

DoD与AC之间的区别在于 DoD (完成定义)对所有用户故事都是通用的,而AC(验收标准)适用于特定的用户故事,此外每个用户故事的AC(验收标准)根据用户故事的内容来制定。一般来说AC是根据用户故事实现的条件有哪些,制定出用户故事开发的边界范围,DoD是对迭代交付的用户故事质量要求,用来确保产品的长久的适应性。

总结来看两者之间:

共同点

1.都是代表质量的指标,适用的范围不一样;
2.都需要团队和产品负责人共同讨论并得出结果。

不同点
1.完成的定义是普遍性的,对每一个用户故事都适用;验收标准是具体的,只针对特定用户故事适用;
2.完成的定义不需要客户参与讨论制定;验收标准可能有客户参与,并从中提取。

举个例子来解释二者的区别:

需求1:客户要吃牛排。
验收标准AC:
1. 7分熟;
2. 上脑部位。

需求2: 客户要吃青椒肉丝。
验收标准AC:
1. 特辣;
2. 青椒、瘦肉多一点;
3. 3两肉;

   完成的定义DoD:
   1.食物清洗干净;
   2.厨房保持卫生,标准称重;
   3.餐盘收拾清洗消毒干净;
   4.确保服务态度,微笑服务。

引用一位专家画的图来表示这2个概念的关系:

右上角AC和DoD都完成了,高质量完成了用户需要,即菜品上对了,质量高。
左下角AC和DoD都没完成,菜品上错了,质量糟糕。
左上角是AC完成了,DoD没有完成,即菜品上对了,质量不好。
右下角是AC没有完成,DoD完成了,即质量很好,菜品不是用户需要的。

因此在开发时,不 仅要关注AC还要关注DoD,利用他们从不同的视角去保证产品的质量,否则会导致产品后续出现比较多的问题。

文章来源:https://blog.csdn.net/minjiekaifa/article/details/135748097
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。