一.Scrum框架介绍
Scrum是一个敏捷开发框架,是一个增量的、迭代的开发过程。在这个框架中,整个开发周期包括若干个小的迭代周期,每个小的迭代周期称为一个Sprint,每个Sprint的建议长度2到4周。在Scrum中,使用产品Backlog来管理产品或项目的需求,产品backlog是一个按照商业价值排序的需求列表,列表条目的体现形式通常为用户故事。Scrum的开发团队总是先开发的是对客户具有较高价值的需求。在每个Sprint中,Scrum开发团队从产品Backlog中挑选最有价值的需求进行开发。Sprint中挑选的需求经过Sprint计划会议上的分析、讨论和估算得到一个Sprint的任务列表,我们称它为Sprint backlog。在每个迭代结束时,Scrum团队将交付潜在可交付的产品增量。
二.Scrum角色
1.产品负责人(Product Owner)职责
确定产品的功能。
决定发布的日期和发布内容。
为产品的profitability of the product负责。
根据市场价值确定功能优先级。
每个Sprint,根据需要调整功能和优先级(每个Sprint开始前调整)。
接受或拒绝接受开发团队的工作成果。
2.项目经理(Scrum Master)职责
保证团队资源完全可被利用并且全部是高产出的。
保证各个角色及职责的良好协作。
解决团队开发中的障碍。
作为团队和外部的接口,屏蔽外界对团队成员的干扰。
保证开发过程按计划进行,组织Daily Scrum, Sprint Review and Sprint Planning meetings。
3.团队(Team)职责
一般情况人数在5-9个左右
团队要跨职能(包括开发人员、测试人员、用户界面设计师等)
团队成员需要全职。(有些情况例外,比如数据库管理员)
在项目向导范围内有权利做任何事情已确保达到Sprint的目标。
高度的自我组织能力。
向Product Owner演示产品功能。
团队成员构成在sprint内不允许变化。
三.Scrum工件
1.产品Backlog(Product Backlog)
一个需求的列表。
一般情况使用用户故事来表示backlog条目
理想情况每个需求项都对产品的客户或用户有价值
Backlog条目按照商业价值排列优先级
优先级由产品负责人来排列
在每个Sprint结束的时候要更新优先级的排列
2.迭代Backlog(Sprint Backlog)
定义了迭代的目标,明确了迭代过程中具体需要完成的任务。
管理迭代的backlog:
团队成员自己挑选任务,而不是指派任务
对每一个任务,每天要更新剩余的工作量估算
每个团队成员都可以修改Sprint backlog,增加、删除或者修改任务
3.燃尽图(Burn Down Chart)
燃尽图直观的反映了迭代过程中,剩余的工作量情况,Y轴表示剩余的工作,X轴表示Sprint的时间。随着时间的消耗工作量逐渐减少,在开始的时候,由于估算上的误差或者遗漏工作量有可能呈上升态势。
4.增量(Increment)
增量是一个Sprint完成的product backlog,以及之前所有Sprint所产生的增量价值的总和。在Sprint的结尾,新的增量必须是“完成”的,这意味着它必须可用并且达到了Scrum团队“完成”的定义的标准。无论产品负责人是否决定真正发布它,增量必须可用。
5.障碍清单(Blocks List)
列举了所有团队内部和团队相关的阻碍项目进度的问题。Scrum Master需要确保所有的问题都已分配并可以得到解决
四.Scrum事件
1.迭代(Sprint)
Scrum的项目过程有一系列的Sprint组成。
Sprint的长度一般控制在2-4周。
通过固定的周期保持良好的节奏。
产品的设计、开发、测试都在Sprint期间完成。
Sprint结束时交付可以工作的软件。
在Sprint过程中不允许发生变更。
2.迭代计划会议(Sprint Plan Meeting)
会议时间
4-8小时
会议目标
产品经理和团队一起对整个产品Backlog进行评估,制定发行版本和迭代计划的主要依据。
会议流程
1)确定迭代目标(sprint goal)
2)产品经理介绍其需要评估的产品Backlog中的内容,团队进行评估Product Backlog。
3)确定日程安排:起止时间、演示日期、每日例会时间地点
4)确定Sprint Backlog:由产品经理和团队讨论决定,每个产品backlog都要有开发团队给出的时间及责任人(具体包括:编码,测试,代码评审,会议,新技术应用,文档等要素)
5)确定如何演示的产品,以及获得共识的“完成”标准。
会议结果
会议结束,向所有成员发送项目迭代计划会议记录
3.每日例会(Daily Scrum)
会议时间
15分钟
会议目标
每日例会有助于团队进行自我组织。这是项目团队成员间的一个进度协调会议。
会议流程:
1)团队中开发成员向团队每个成员汇报工作:昨天做了什么?今天要做什么?当前碰到的障碍是?
2)项目经理会议后,把该障碍加入到障碍清单中,更新维护sprint backlog,添加新的未计划的Backlog,更新工作进度图
会议结果
最新的障碍Backlog
最新的迭代Backlog
最新的工作进度图
4.迭代评审会议(Sprint Review Meeting)
会议时间
4小时
会议目标
开发团队按照迭代计划会议确定的演示日期,向产品经理和其他成员演示每个Sprint的成果
会议流程
1)团队成员按每个迭代要完成的产品Backlog,给产品经理和其它成员介绍这次迭代的工作成果
2)产品经理评估核实是否与最终产品目标一致
会议结果
对当前迭代的结果和整个产品的开发状态达成共识
说明
如果产品经理想要改变功能添加一个新问题到产品Backlog中
如果对功能有一个新的想法,添加一个问题到产品Backlog中
如果小组报告项目遇到阻碍还没能解决,把问题加入障碍Backlog中
5.迭代回顾会议(Sprint Retrospective Meeting)
会议时间
1-3小时
会议目标
在迭代回顾会议,项目团队会分析迭代的成功经验和所遇到的障碍
会议流程:
1)在白板画一个时间轴,标记出冲刺(Sprint)的开始和结束时间,回忆冲刺执行情况,比较预估的和实际的燃尽图执行的情况对比
2)团队中每个成员需回答1我们的成功经验是什么2有什么能够改进的3哪些方面需要在下个冲刺中改进
3)项目经理最后根据讨论明确改进之处及责任人,更新团队的冲刺数据,,加入到团队总结中,为后续项目实施提供经验教训
会议结果
会议纪要含相关改进及负责人名单
五.Scrum规则
1.角色
2.工件
版权归原作者 music score 所有, 如有侵权,请联系我们删除。