敏捷DoD和AC知多少

2022-11-29 09:58:37
李佳佳
原创
3280

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

为了解决这个问题,团队 需要对完成的定义、完成的标准做统一的要求,即对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,利用他们从不同的视角去保证产品的质量,否则会导致产品后续出现比较多的问题。
文章分类
联系我们
  • 联系人:阿道
  • 联系方式: 17762006160
  • 地址:青岛市黄岛区长江西路118号青铁广场18楼
投稿邀请

如果您有优秀的原创文章,欢迎添加联系人直接与我们联系,或通过下方邮箱发送投稿文章,一经采用,我们会付以一定的稿件报酬。

  • 投稿邮箱: yanruiyu@easycorp.ltd
  • 投稿标题:向 [敏捷开发] 网站投稿
  • 稿件要求:与敏捷开发相关的任何内容

更多投稿相关请点击 更多进行了解~