SCRUM框架及基本知识

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1什么是SCRUM

➢一个轻量级的软件开发方法

Scrum是一个敏捷开发框架,是一个增量的、迭代的开发过程.。在这个框架中,整个开发周期包括若干个小的跌代周期,每个小的的跌代周期称为一个Sprint,每个Sprint的建议长度2到4周。在Scrum中,使用产品Backlog来管理产品或项目的需求,产品backlog是一个按照商业价值排序的需求列表,列表条目的体现形式通常为用户故事。Scrum的开发团队总是先开发的是对客户具有较高价值的需求。在每个Sprint中,Scrum开发团队从产品Backlog中挑选最有价值的需求进行开发。Sprint中挑选的需求经过Sprint计划会议上的分析、讨论和估算得到一个Sprint的任务列表,我们称它为Sprint backlog。在每个迭代结束时,Scrum团队将交付潜在可交付的产品增量。

➢一个简单的开发框架

图表 1 一个简单的开发框架

Scrum由三个角色,六个时间箱,四个工件组成:

三个角色:

1. 产品负责人(Product Owner)

2. Scrum Master

3. Scrum团队

六个时间箱:

1. Sprint

2. 发布计划会议(Release Planning Meeting)

3. Sprint计划会议(Sprint Planning Meeting)

4. 每日站会(Daily Scrum Meeting)

5. Sprint评审会议(Sprint Review Meeting)

6. Sprint回顾会议(Sprint Retrospective Meeting)

四个工件

1. 产品Backlog(Product Backlog)

2. 发布燃尽图(Release Burndown Chart)

3. SprintBacklog(Sprint Backlog)

4. Sprint燃尽图(Sprint Burndown Chart)

➢一个经历过时间考验的开发过程

Scrum最早由Jeff Sutherland在1993年提出,Ken Schwaber 在1995年OOPSLA会议上形式化了Scrum开发过程,并向业界公布。之后,Scrum成为领先的敏捷开发方法之一,目前世界上有超过500家公司在使用Scrum。

2Scrum三个角色及其职责介绍

每个Scrum团队包括3个角色:产品负责人(Product Owner), ScrumMaster和 Scrum 团队。产品负责人

产品负责人的职责:

确定产品的功能,负责维护产品Backlog。

决定产品的发布日期和发布内容。

为产品的投资回报率(ROI)负责。

根据市场价值确定功能优先级。

在每个Sprint开始前调整功能和调整功能优先级。

在Sprint结束时接受或拒绝接受开发团队的工作成果。

产品负责人是一个人,而不是一个委员会。可能会有一些委员会向产品负责人提出建议或影响他的决策,但要想改变某条目的优先级必须先说服产品负责人。实施Scrum的企业可能发现这样会影响他们制定优先级和需求的方法。

为保证产品负责人的工作取得成功,企业中的所有人员都必须尊重他的决定。任何人都不得要求团队按照另一套优先级开展工作,团队也不允许听从任何人带有威胁恐吓性的指令。产品负责人

所作的决定需要通过产品Backlog内容和优先级使其可视化。这种可视化要求产品负责人全力以赴,同时也使其成为一个费心费力但又值得去做的角色。

ScrumMaster

ScrumMaster 作为Team Leader和Product owner紧密地工作在一起,他可以及时地为团队成员提供帮助。他必须:

保证团队资源完全可被利用并且全部是高产出的。

保证各个角色及职责的良好协作。

解决团队开发中的障碍。

做为团队和外部的接口,屏蔽外界对团队成员的干扰。

保证开发过程按计划进行,组织每日站会、Sprint计划会议、Sprint评审会议和Sprint回顾会议。

ScrumMaster 除了主持每日站会(Daily Scrum Meeting)之外,还有三个主要职责:

ScrumMaster 需要知道什么任务已经完成,哪些任务已经开始,哪些新的任务已发现,和哪些估算可能已经发生变化。ScrumMaster 需要根据以上的情况更新反映每天完成的工作量以及还有多少没有完成的燃尽图(Burndown Chart)。

ScrumMaster 还必须仔细考虑同时在进行开发的任务数,同时进行的工作需要做到最小化,以实现精益生产率的收益。

该ScrumMaster 需要找出阻碍团队的障碍和依赖。他们需要的优先次序和跟踪。根据优先级指定计划解决这些障碍。其中有些问题可以在团队内部解决,有些则要团队之间的协调,还有的要管理层的介入来解决,甚至有些是公司的问题阻碍了团队达到他们的生产力。比如:一个电信公司最近实施了Scrum,但后来发现只有两个问题和Scrum Team有关,其他的全是公司的问题需要管理层关注。

最后但并非最不重要, ScrumMaster 可能会注意到,个人问题或冲突在Scrum里是需要解决的。这些都需要被澄清,或通过内部的沟通解决,或向管理层和HR寻求帮助解决。ScrumMaster 必须注意去确保团队资源完全可被利用并且全部是高产出的。

Scrum 团队

Scrum团队的职责是在每个Sprint中将产品Backlog中的条目转化成为潜在可交付的功能增量。

Scrum团队的一些特点:

1. Scrum团队的规模控制在5-9个人。

如果成员少于5人,那么相互交流就减少了,团队的生产力也会下降。更重要的是,团队在Sprint 中可能会受到技能限制,从而导致无法交付可发布的产品模块。如果成员多于9人,那么成员之间就需要太多的协调沟通工作。大型团队会产生太多复杂性,不便于经验过程控制。对于大型项目来说,可以采用多个小的Scrum团队,通过Scrum of Scrums解决团队间的沟通协调问题。

2. Scrum团队是跨职能的团队。

团队成员必须具备交付产品增量所需要的各种技能。团队成员常常具备如编程、质量控制、业务分析、架构、用户界面设计或数据库设计等的专业技能。在Scrum团队中没有头衔的概念,每个

相关文档
最新文档