敏捷开发方法敏捷开发方法Scrum最佳实践最佳实践
首先强调一些首先强调一些Scrum的基本概念的基本概念
本文只想为那些不断实验敏捷开发方法、追寻快速交付产品的IT管理者提供全套经过验证的实践经验,供之参考。我首先假设
你已经理解了Scrum这种敏捷开发方法的基本概念并认同之,但是仍然,我还是要强调以下我们对Scrum达成的“共识”:-)
Scrum开发流程通常以30 天或者更短的一段时间为一个周期,由产品经理(产品经理(Product Owner)) 提供新产品的需求
规格开始,开发团队(开发团队(Dev Team)) 与产品经理于每一个阶段开始时挑选该完成的规格部分,开发团队必须尽力于
周期时间内交付成果,团队由开发主管(开发主管(Scrum Master)) 召集,每天使用15分钟开会检查每个成员的进度与计
划,了解所遭遇的困难并设法排除之。
Scrum的重要名词的重要名词
Backlog - 可以预知的任务集,包括功能性的和非功能性的所有任务。
Sprint - 一次迭代开发的时间周期,一般最多以30天为一个周期。在这段时间内,开发团队需要完成一个制定的Backlog。
Product Owner - 这个角色被称为产品经理。他负责定义产品并向开发团队提出需求,最终验收开发团队的工作成果。
Scrum Master - 负责监督整个Scrum进程、修订计划的一个团队成员。
Sprint planning meeting - 在启动每个Sprint前召开。一般为一天时间(8小时)。该会议需要制定的任务是:Product
Owner和团队成员将Backlog分解成小的功能模块(即任务),决定在即将进行的Sprint里需要完成多少小功能模块,确定好
这个Product Backlog的任务优先级。另外,该会议还需详细地讨论如何能够按照需求完成这些小功能模块。
Daily scrum meeting - 开发团队成员参加,一般为15分钟。每个开发成员需要向Scrum Master汇报三个项目:今天完成了什
么? 是否遇到了障碍? 即将要做什么?通过该会议,团队成员可以相互了解项目进度。
Sprint review meeting - 在每个Sprint结束后,将这个Sprint的工作成果演示给Product Owner和其他相关的人员。一般该会
议为4小时。
Sprint retrospective meeting - 对刚结束的Sprint进行总结。会议的参与人员为团队开发的内部人员。一般该会议为3小
时。
Scrum过程简单介绍过程简单介绍
1 将整个产品的Backlog分解成若干Sprint Backlog,每个Sprint Backlog是按照目前的人力物力条件可以完成的。
2 召开Sprint planning meeting,划分、确定这个Sprint内需要完成的任务,标注任务的优先级并分配给每个成员。
3 进入Sprint开发周期,在这个周期内,每天需要召开Daily Scrum meeting。
4 整个Sprint周期结束,召开Sprint review meeting,将成果演示给Product Owner。
5 团队成员最后召开Sprint retrospective meeting,总结问题和经验。
6 周而复始,按照同样的步骤进行下一次Sprint。
下面开始进入正题下面开始进入正题——最佳实践指导思想最佳实践指导思想
Scrum和极限编程(XP)都要求团队在每一次迭代的结尾完成一些可以交付的工作片段。迭代要短、有时间限制。将注意力
集中于在短时间内交付可工作的代码,这就意味着Scrum和XP团队没有时间进行理论研究。他们不会花时间用建模工具来画
UML图、编写完美的需求文档,也不会为了应对在可预计的未来中所有可能发生的变化而去写代码。实际上,Scrum和XP都
关注如何把事情做好。这些团队承认在开发过程中会犯错,但是他们明白:
要投入实践中,动手去构建产品,这才是找出错误的最好方式;不要只是停留在理论层次上对软件进行分析和设计。要投入实践中,动手去构建产品,这才是找出错误的最好方式;不要只是停留在理论层次上对软件进行分析和设计。
Scrum不是方法学,它是一个框架。也就是说Scrum不会告诉你到底该做些什么。因此,以下和你分享的Scrum经验,只可以
说是供你参考的个案。你不需要完全仿照以下的做法。实际上如果换个不同的场景,也许某些实践方式就应该换了。
Scrum的强大和令人痛苦之处就在于你不得不根据自己的具体情况来对它进行调整。的强大和令人痛苦之处就在于你不得不根据自己的具体情况来对它进行调整。
Backlog - Story
如何描述我们的“故事”(以下的“故事”等同于Backlog),最佳实践证明至少需要包括这样一些字段:
ID—— 统一标识符,就是个自增长的数字而已。以防重命名故事以后找不到它们。