【本文翻译自Mike Cohn的博客Clarifying the Relationship between Definition of Done and Conditions of Satisfaction】
我想澄清两个重要概念之间的关系:团队的完成的定义(Definition of Done)
和用户故事的满意的条件(Conditions of Satisfaction)
,让我们首先回顾一下这些概念。
团队的完成的定义
是一组经过一致同意的验收条件,在任何产品待办列表项被认为“完成”之前,这些验收条件必须被真实验证。一个好的起点可能是:
- 代码写得很好,也就是说,团队认为他们不需要立即重构或重写它。
- 代码已提交到远程代码仓库。
- 代码在所有适当级别上都带有自动化测试。
- 代码已被结对编程或已做了代码审查。
- 代码实现的功能已在所有终端用户文档中按需记录。
相比之下,满意的条件
是特定于给定的产品待办列表项的,并定义了要完成该产品待办列表项必须满足的条件。例如,“作为用户,我必须先登录才能使用该网站”这样的用户故事可能需要以下满意的条件
:
- 只有提供正确的账号信息时,用户才能登录
- 你可以选择“记住我”
- 用户可以选择密码提示
- 三次失败尝试后账号被锁定
将完成的定义
看作是添加到每个用户故事(产品待办列表项)的一组特殊的满意的条件
,要完成上面的用户故事,不仅必须满足的所有满意的条件
,而且完成的定义
选项也必须满足。
因为我喜欢在索引卡的正面写用户故事,在背面写满意的条件
,所以我倾向于认为完成的定义
是我在橡皮图章上刻的东西:除了每个故事特定的满意的条件
之外,我还可以用这个橡皮图章在所有用户故事卡片上统一盖上这些完成的定义
。
网友评论