什么是敏捷开发之Scrum框架,如何入门?

摘自PM圈子网——项目管理牛人聚集地

Scrum是一个敏捷开发框架,是一个增量的、迭代的开发过程。在这个框架中,整个开发周期包括若干个小的跌代周期,每个小的的跌代周期称为一个Sprint,每个Sprint的建议长度2到4周。

1 Scrum框架的概念

Scrum是一个敏捷开发框架,是一个增量的、迭代的开发过程.。在这个框架中,整个开发周期包括若干个小的跌代周期,每个小的的跌代周期称为一个Sprint,每个Sprint的建议长度2到4周。

在Scrum中,使用Product Backlog来管理产品或项目的需求,product backlog是一个按照商业价值排序的需求列表,列表条目的体现形式通常为User Story。

Scrum的开发团队总是先开发的是对客户具有较高价值的需求。在每个Sprint中,Scrum开发团队从product Backlog中挑选最有价值的需求进行开发。Sprint中挑选的需求经过Sprint Plan Meeting上的分析、讨论和估算得到一个Sprint的task列表,我们称它为Sprint backlog 。 在每个迭代结束时,Scrum团队将交付潜在可交付的产品增量。下图是Scrum的工作流程图。

2 Scrum框架的优势

1 专注于如何在最短的时间内实现最有价值的部分2 每隔一两周或者一个月,我们就可以看到实实在在的可以上线的产品3 团队按照商业价值的高低先完成高优先级的产品功能,并自主管理,凝结了团队智慧创造出最好的方法因而提高效率4 能够在开发进程中不断检查,并作出相应调整,便于快速发现问题,促使团队和组织

3 Scrum框架概览

4 Scrum 框架

3 Roles:产品经理(Product Owner)项目经理(Scrum Master)团队成员(Team)

4 Meetings:冲刺规划会议(Sprint Plan Meeting)每日站立会议(Scrum Standup Meeting)冲刺评审会议(Sprint Review Meeting)冲刺回顾会议(Sprint Retrospective Meeting)

4工作成果:产品积压订单(Product Backlog)冲刺积压订单: (Sprint Backlog)燃尽图: (BurndownChart)障碍积压订单:(ImpedmetntsList)

5 Scrum 角色及职责5.1 Product Owner职责

• 确定产品的功能。• 决定发布的日期和发布内容。• 为产品的profitability of the product (ROI)负责。• 根据市场价值确定功能优先级。• 每个Sprint,根据需要调整功能和优先级(每个Sprint开始前调整)。• 接受或拒绝接受开发团队的工作成果。• Product Owner参与Scrum planning。

5.2 Scrum Master职责

• 作为Team Leader和Product owner紧密地工作在一起,他可以及时地为团队成员提供帮助。• 保证团队资源完全可被利用并且全部是高产出的。• 保证各个角色及职责的良好协作。• 解决团队开发中的障碍。• 做为团队和外部的接口,屏蔽外界对团队成员的干扰。• 保证开发过程按计划进行,组织 Stand-up, Sprint Review and Sprint Planning meetings。

5.3 Team职责

• 一般情况人数在5-9个左右• 团队要跨职能(包括开发人员、测试人员、用户界面设计师等)• 团队成员需要全职。(有些情况例外,比如数据库管理员)• 在项目向导范围内有权利做任何事情已确保达到Sprint的目标。• 高度的自我组织能力。• 向Product Owner演示产品功能。• 团队成员构成在sprint内不允许变化。

6 Scrum 活动

Scrum是由一个一个Sprint组成的。每个Sprint有以下活动组成:

1 召开Sprint Plan Meeting,确定这个Sprint的目标、演示日期、要完成的Backlog、Backlog的优先级等;2 进入冲刺开发周期,在这个周期内,每天要召开Daily Stand-up Meeting;3 整个冲刺周期结束,召开Sprint Review Meeting,将成果演示给Product Owner;4 团队成员最后召开Sprint Retrospective Meeting,总结问题和经验.

6.1 Sprint Plan Meeting

会议时间:4-8小时会议目标:Product Owner和Team一起对这个Product Backlog进行评估,制定发行版本和冲刺(Sprint)计划的主要依据。会议流程:1 确定Sprint目标2 Product Owner介绍其需要评估的Product Backlog中的内容,Team进行评估Product Backlog。3 确定Sprint Backlog:由PO和Team讨论决定,每个Product Backlog都要有开发团队给出的时间及责任人(具体包括:编码,测试,代码评审,会议,新技术应用,文档等要素)4 确定如何演示的产品,以及获得共识的“完成”标准。5 确定日程安排:起止时间、演示日期、Daily Stand-up Meeting时间地点会议结果:会议结束,向所有成员发送Sprint Plan Meeting minutes

6.2 Daily Stand-up Meeting

会议时间:15分钟会议目标:每日例会有助于团队进行自我组织。这是项目团队成员间的一个进度协调会议。会议流程:1 团队中开发成员向团队每个成员汇报三个问题:昨天做了什么?今天要做什么?当前碰到的障碍是?2 项目经理会议后的,把该障碍加入到障碍Backlog中,更新维护Sprint Backlog,添加新的未计划的Backlog,更新工作进度图会议结果:最新的障碍Backlog最新的Sprint Backlog最新的工作进度图

6.3 Sprint Review Meeting

会议时间:4小时会议目标:开发团队按照Sprint Plan Meeting确定的演示日期,向产品经理和其他成员演示Sprint的成果会议流程:1 团队成员按每个Sprint要完成的Backlog,给Product Owner和其它成员介绍这次Sprint的工作成果2 Product Owner评估核实是否与最终产品目标一致会议结果:对当前Sprint的结果和整个产品的开发状态达成共识说明:如果产品经理想要改变功能添加一个新问题到产品Backlog中如果对功能有一个新的想法,添加一个问题到产品Backlog中如果小组报告项目遇到阻碍还没能解决,把问题加入障碍Backlog中

6.4 Sprint Retrospective Meeting

会议目标:在Sprint Retrospective Meeting,项目团队会分析Sprint的成功经验和所遇到的障碍会议时间:1-3小时会议流程:1 在白板画一个时间轴,标记出Sprint的开始和结束时间,回忆冲刺执行情况,比较预估的和实际的燃尽图执行的情况对比2 团队中每个成员需回答:1我们的成功经验是什么?2有什么能够改进的?3哪些方面需要在下个冲刺中改进?3 Product Owner最后根据讨论明确改进之处及责任人,更新团队的冲刺数据,加入到团队总结中,为后续项目实施提供经验教训会议结果:1 会议纪要含相关改进及负责人名单

7 Scrum 物件7.1 Product Backlog

• 一个需求的列表。• 一般情况使用User Story来表示Backlog条目• 理想情况每个需求项都对产品的客户或用户有价值• Backlog条目按照商业价值排列优先级• 优先级由产品负责人来排列• 在每个Sprint结束的时候要更新优先级的排列

一个产品Backlog的例子

User Story

Story Points

作为一个博客作者,我想设置我发布文章的背景图片,以便于我的读者阅读的时候感受到文章的意境。

8

作为一个博客作者,我想让我的读者对我的文章进行评价,以便于收集读者反馈,日后改进。

10

作为一个博客作者,我想通过博客发布我的照片,以便于我的读者们认识我。

20

……

50

……

30

7.2 Sprint backlog

Sprint backlog定义了Sprint的目标,明确了Sprint过程中具体需要完成的任务

管理Sprint的backlog:• 团队成员自己挑选任务,而不是指派任务• 对每一个任务,每天要更新剩余的工作量估算• 每个团队成员都可以修改Sprint backlog,增加、删除或者修改任务

7.3 Burn Down Chart

燃尽图直观的反映了Sprint过程中,剩余的工作量情况,Y轴表示剩余的工作,X轴表示Sprint的时间。随着时间的消耗工作量逐渐减少,在开始的时候,由于估算上的误差或者遗漏工作量有可能呈上升态势。


©️2020 CSDN 皮肤主题: 编程工作室 设计师:CSDN官方博客 返回首页