Scrum之 流程和术语
=== 目?? 录 ===
什么是Scrum?
Scrum参与角色
Backlog
? - Product Backlog
? - Sprint Backlog
Meeting
? - Sprint Planning Meeting
? - Daily Scrum Meeting(每日站会)
? - Sprint Review Meeting(Sprint评审会)
?
什么是Scrum?
来源:Scrum Alliance Scrum联盟)
Scrum是一个迭代性、增量性的流程,适用于任何的产品开发以及工作管理。 在每个迭代结束后,Scrum都会产生一套可以交付的功能性产品。Scrum的特点是:
Scrum是一个敏捷的流程,可用于管理和控制研发工作。Scrum是现有设计流程的总结。Scrum以团队为基础,是一种在要求迅速变化情况下迭代地、增量地开发系统和产品的方法。Scrum是一个控制由利益和需求冲突导致的混乱的流程。Scrum是改善交流并最优化合作的方式。Scrum是一种检测产品开发和生产过程中障碍并将其去除的方式。Scrum是最大化生产率的一种方法。Scrum适用于单一的项目到整个组织。Scrum可以控制并组织多件具有相关性的产品开发以及拥有超过千名开发者和执行者的项目实施过程。Scrum能让每个参与者都对自己的工作以及自己做出的贡献感到满意,并让他们感觉自己的工作已经达到最佳的水平。Scrum参与角色
任何人力流程都离不开人来执行,所以在讲解Scrum流程之前,有必要先把Scrum中的角色讲一下。???????
角? 色?职?? 责ProductOwner??? * 确定产品的功能??? * 决定发布的日期和发布内容
??? * 为产品的profitability of the product (ROI)负责
??? * 根据市场价值确定功能优先级
??? * 在30天内调整功能和调整功能优先级
??? * 接受或拒绝接受开发团队的工作成果 ScrumMasterScrum官方网站把ScrumMaster的职责定义为:
ScrumMaster负责在团队中正确、完整地贯彻Scrum流程。虽然在实施开始的时候必须做一些折衷,而且因为实施环境的限制不得不放弃某些实践,但是ScrumMaster在脑海中始终要铭记实施完整的Scrum所带来的好处和价值,渐进地推动团队和组织走向完美状态。
ScrumMaster特别要对以下工作负责:
??? * 清除挡在客户和开发工作之间的拦路虎,客户从而可以直接驱动开发。
??? * 教导客户如何最大化ROI,以及通过Scrum实现他们的目标。
??? * 通过激发创造性与推动授权来提升开发团队的成员
??? * 以任何可能的方式提升开发团队的开发效率
??? * 改进工程实践和工具,使得每次功能性上的改进都能得以交付Scrum Team ??? * 具有不同特长的团队成员,人数控制在7个左右
??? * 确定Sprint目标和具体说明的工作成果
??? * 在项目向导范围内有权利做任何事情已确保达到Sprint的目标
??? * 高度的自我管理能力
??? * 向Product Owner演示产品功能
?
?
第一次听到以上术语的可能不能很好的理解backlog和spring之类的东西,大家不用着急,以后会慢慢对每一个过程进行仔细讲解。
以下将对一些术语进行简单介绍,以便大家现在开始逐步了解Scrum。
?
Backlog
?
Product Backlog
在项目开始的时候, Product Owner 要准备一个根据商业价值排好序的客户需求列表。这个列表就是 Prodct Backlog ,一个最终会交付给客户的产品特性列表,它们根据商业价值来排列优先级。 Scrum team 会根据这个来 做工作量的估计。 Product backlog 应该涵盖所有用来构建满足客户需要的产品特性,包括技术上的 需求。高优先级的一些产品特性需要足够的细化以便于我们做工作量估计和做测试。 对于那些以后将要实现 的特性可以不够详细。
在下一篇我将着重讲解如何制定Product Backlog,怎么写故事,如何拆分和合并故事,以及如何确定优先级和进行估算。
Sprint Backlog
Sprint Backlog 是Sprint规划会上产出的一个工作成果.Sprint英文指短距离疾跑,就是说集合精力在短时间内(一个迭代)完成一些价值。 当Scrum team选择并承诺了Productbacklog中要递交的一些高优先级的产品功能点后,这些功能点就会被细化成为Sprint Backlog:一个完成ProductBacklog功能点的必需的任务列表.这些点会被细化为更小的任务,工作量小于2天。Sprint backlog完成后,Scrumteam会根据它重新估计工作量,如果这些工作量和原始估计的工作量有较大差异,Scrum team和Product Owner协商,调整合理得工作量到Sprint中,以确保Sprint的成功实施。
?
Meeting
Sprint Planning Meeting(Sprint规划会)
Sprint Planning Meeting(Sprint规划会)
根据Product Owner制定的产品或项目计划在Sprint的开始时做准备工作。ProductOwner可以是客户或者客户代表或代理。对于产品型的公司,客户就是市场,Product Owner扮演市场代理的角色。一个ProductOwner需要一个确定产品最终目标的远景,规划出今后一段时间产品发展的路线图,以及根据对投资回报的贡献确定的产品特性。他要准备一个根据商业价值排好序的客户需求列表。这个列表就是Prodct Backlog,一个最终会交付给客户的产品特性列表,它们根据商业价值来排列优先级。
当为一个Sprint定义好足够多的ProductBacklog,并且排列好优先级后Scrum就可以开始了,Sprint规划会是用来细化当前迭代的开发计划的。规划会开始的时候,ProductOwner会和Scrum team一起评审版本,路线图,发布计划,及Product Backlog。Scrum Team会评审ProductBacklog中功能点的时间估计并确认这些估计尽可能的准确。ScrumTeam会根据资源情况看有多少feature可以放在当前的Sprint中。Scrum Team按照优先级的高低来确定开发的先后是很重要的。
当Sprint backlog确定后,ScrumMaster带领Scrum Team去分解这些功能点,细化成Sprint的一个个任务. 这些任务就是细化的来实施这些功能点的活动. Sprint Planning的这个阶段需要控制在4个小时。
Daily Scrum Meeting(每日站会)一旦计划阶段结束,30天周期的Sprint就开始了。ScrumMaster需要组织团队成员每天开站会.这个会议是用15分钟的时间来让大家过一下scrum的状态。在会上,每个团队成员需要问3个问题:我昨天做了什么,今天做什么,遇到哪些障碍。谁都可以参加这个会议,但只有Scrum团队成员有发言权。这个会议的目标是得到一个项目的全局观,用于发现任何新的依赖,定位项目成员的要求,实时的调整当天开发计划.
Sprint Review Meeting(Sprint评审会)在Sprint结束的时候召开Sprint评审会.?这个会议最多不超过4个小时.会议的前一半时间用来演示在这个Sprint中开发的产品功能给Product Owner. ProducOwner会组织这阶段的会议并且邀请相关的利益相关者参加。?业务,市场,技术都要做相关的评审。由Product Owner来决定ProductBacklog中的哪些功能已经开发完成 。会议的下半部分,是由Scrum Master和ScrumTeam一起回顾当前的Sprint。团队评估大家在一起的工作方式,找出好的方式以后继续发扬,找出需要做的更好的地方,想办法提升。Sprint评审会结束后,新一轮的迭代又继续开始(中间最好修整半天或者隔个周末),迭代会一直继续,直到开发了足够多的功能去交付一个产品