Scott Schimanski 最近描述了清晰定义“完成”的重要性。Scott 指出清晰定义“完成”对业务和个人都有重要意义。业务那边可以不用额外投放资源下使用新付运的功能,而个人可以享受到“完成”的满足感。
迭代开发是敏捷开发中最重要的特点之一,把大型开发分成不同的小型开发。这些开发经过计划,工作,最后完成。大家都知道这过程多辛苦,但这不止于编写代码,而更包括测试,编写文档,安装包,以及一切最终所需的东西。
Ken Schwaber 在 芝加哥 Scrum 聚会上讨论团队清楚“完成”一词含义的重要性。他指出有了对“完成”定义的共识以后,连"Scrum of Scrum"也不需要了。除了一般“通过所有用户接受测试和产品负责人满意”之外,Ken 建议“完成”的定义还应该包括:
- 代码检讨
- 设计检讨
- 重构
- 效能测试
- 通过单元测试
- 可能还有更多
你也可以在他与 Scott Hanselman 的访问中听他对“完成”定义更多的见解。
Mishkin Berteig 建议找出重复的工作然后把它们包括在“完成”的定义上,即是如果团队经常发现需要做一些像"中文化(故事名称)",那可能"中文化"应该被加入团队里“完成”的定义。
Aaron Ruhnow 提及到他到团队如何用以下清单去定义“完成”并进入“化境”。
- 完成编码
- 同行评审(结对编程也可以)
- 代码控制上当前版本的代码可通过编译及运行
- 加入注释及签入(check in)代码
- 代码里的 public/friend 方法利用 VB Commenter 加入注释
- 更新故事/用例手动测试计划
- 写好 FIT 测试(与 SQA 的同事)
- 更新 UML 图
- 写好单元测试并通过
- 达到 90% 代码覆盖
- 跟构建管理人(build master)沟通所有构建和打包的改动(例如:加新的档案)
- 更新工作清单时数以及完结
- 完成所有代码里的工作清单上的工作
最后,请看看 Tony Clark 于 Implementing Scrum 博客上 “完成”的诠释漫画。大家对以上有什么意见?请不妨留下对“完成”的意见。
查看英文原文: The Power of Done
评论