The Power of Done

  • Chris Sims
  • 麦天志

2008 年 10 月 24 日

话题:敏捷最佳实践架构文化 & 方法

Scott Schimanski最近描述了清晰定义“完成”的重要性。Scott 指出清晰定义“完成”对业务和个人都有重要意义。业务那边可以不用额外投放资源下使用新付运的功能,而个人可以享受到“完成”的满足感。

迭代开发是敏捷开发中最重要的特点之一,把大型开发分成不同的小型开发。这些开发经过计划,工作,最后完成。大家都知道这过程多辛苦,但这不止于编写代码,而更包括测试,编写文档,安装包,以及一切最终所需的东西。

Ken Schwaber芝加哥 Scrum 聚会上讨论团队清楚“完成”一词含义的重要性。他指出有了对“完成”定义的共识以后,连"Scrum of Scrum"也不需要了。除了一般“通过所有用户接受测试和产品负责人满意”之外,Ken 建议“完成”的定义还应该包括:

  • 代码检讨
  • 设计检讨
  • 重构
  • 效能测试
  • 通过单元测试
  • 可能还有更多

你也可以在他与Scott Hanselman访问中听他对“完成”定义更多的见解。

Mishkin Berteig建议找出重复的工作然后把它们包括在“完成”的定义上,即是如果团队经常发现需要做一些像"中文化(故事名称)",那可能"中文化"应该被加入团队里“完成”的定义。

Aaron Ruhnow提及到他到团队如何用以下清单去定义“完成”并进入“化境”。

  1. 完成编码
  2. 同行评审(结对编程也可以)
  3. 代码控制上当前版本的代码可通过编译及运行
  4. 加入注释及签入(check in)代码
  5. 代码里的 public/friend 方法利用 VB Commenter 加入注释
  6. 更新故事/用例手动测试计划
  7. 写好 FIT 测试(与 SQA 的同事)
  8. 更新 UML 图
  9. 写好单元测试并通过
  10. 达到 90% 代码覆盖
  11. 跟构建管理人(build master)沟通所有构建和打包的改动(例如:加新的档案)
  12. 更新工作清单时数以及完结
  13. 完成所有代码里的工作清单上的工作

最后,请看看 Tony Clark 于 Implementing Scrum 博客上 “完成”的诠释漫画。大家对以上有什么意见?请不妨留下对“完成”的意见。

查看英文原文The Power of Done

敏捷最佳实践架构文化 & 方法