白话透解验收标准(AC)与完成标准(DoD)的区别
我们非常重视原创文章,为尊重知识产权并避免潜在的版权问题,我们在此提供文章的摘要供您初步了解。如果您想要查阅更为详尽的内容,访问作者的公众号页面获取完整文章。
在敏捷开发中,区分"Acceptance Criteria" (AC)和"Definition of Done" (DoD)两个概念很重要,它们常常会被混淆。AC是专门针对每个具体需求来定义的,而DoD则是适用于所有需求、任务、迭代和交付的通用完成标准。
以餐饮为例来阐释二者的不同:
- 需求1:晚饭吃饱。
- AC包括:牛肉+蔬菜+啤酒,在18点到19点之间完成。
- 需求2:午饭吃饱。
- AC包括:有荤有素,面食不超过两两,在12点到1点之间完成。
与此同时,所有需求的DoD包括:
- 所有食物洗干净后食用;
- 食物重量称重后不超标;
- 用餐完毕后食盘要清洗干净并放好。
AC确保我们完成了正确的事情,代表着产品的外部质量,从最终用户的角度出发定义的。而DoD确保我们以正确的方式完成任务,它代表产品的内部质量,通常从利益相关者的角度定义,保障了产品的长期适应性。
在用户验收时,他们通常只关注AC是否满足,而忽略了DoD。而开发方在产品验收时,则需要同时关注AC和DoD,否则可能会留下技术债务,导致产品的适应性变差。
通过一个四象限图解释了AC和DoD的关系:右上角表示AC和DoD都满足,即既吃饱又清洁;左下角表示AC和DoD都未满足,既没吃饱也不清洁;左上角表示只满足AC,吃饱了但是不清洁;右下角表示只满足DoD,虽不饱但清洁。
对于顾客来说,他们关注的是AC,即到餐厅是否吃得饱和好,而不必担心食物是否清洁或餐厅是否持续经营。然而,对于餐厅来说,确保食物清洁和环境整洁是他们的责任,这保证了餐厅的长期利益并防止了为了眼前利益而牺牲长远利益的情况发生。
想要了解更多内容?
麦哲思科技(北京)有限公司总经理 敏捷性能合弄模型评估师 认证的Scrum Master 认证的大规模敏捷顾问SPC CMMI高成熟度主任评估师 COSMIC MPC,IAC 成员,中国分部主席