DOD -- Definition of Done 完成准则
在软件敏捷开发中,团队常常会定义出一套完成准则,以保证团队成员彼此沟通的有效性以及代码交付的质量。
比如说:
小花对小明说明天要完成这个需求。小明认为很简单,满口答应,小花放心地回复了客户上线时间点。
但是等到第二天的时候,小花一问才发现,小明只是完成了代码编写,没有单元测试,功能测试,代码审查,上线测试等等,导致代码完全不可用,导致客户实际利益损失,降低了小花和小明在客户方的信誉。
所以这里,团队要提前定义好“完成”的客观可检验标准,在软件开发的语境里,它常常代表着一个验收清单,包括:需求明确,完成编码,编写单元测试,完成代码重构,代码审查,代码扫描,上线测试等等。
但DOD不仅仅只局限于软件开发的应用,在硬件开发领域,也存在类似的约定。
相较于软件开发,硬件产品的开发相对来说周期较长,常见半年到一年,对于产品量产的合格率要求高,所以对于开发项目的每一个阶段完成(milestone)的审查也比较严格,这个时候就需要定义好完成标准,即一份可客观验证的检查清单,包括:
1. 产品设计是否通过领导审查
2. 产品设计是否通过同行审查
3. 产品是否通过了相应的疲劳测试,高低温测试...
4. 产品软件是否符合法规要求,质量部门是否验证通过
5. 产品专利是否已经申报
等等...
有了这一份判断依据,项目的stakeholder才能在硬件产品的里程碑审查时有明确的判断依据,以保证投入大量固定资产开始量产产品之后不会出现毁灭性的质量或者法规问题。