首页 > 代码库 > Scrum介绍

Scrum介绍

转自:http://www.cnblogs.com/sanjia/p/scrum_introduction.html

Scrum介绍

摘要

如今,项目管理的步伐越来越快。项目管理需要更灵活、更积极地,向应客户的需求。使用敏捷项目管理方法,项目经理可以在不影响价值、质量和商业规则的前提下实现所有目标,Scrum是一种迭代增量式的软件开发过程,用于敏捷软件开发。Scrum是一个包括一系列实践和预定义角色的过程框架。本文从瀑布模型出发,介绍了scrum的主要要素、过程以及遇到的挑战。

Scrum主要角色:

  1. Product Owner
  2. Scrum master
  3. 团队

Scrum过程:

  1. 建立Product backlog
  2. Sprint 计划会议
  3. 编写Sprint Backlog
  4. 每日例会
  5. Sprint演示(评审)
  6. Sprint回顾

关键词: 软件工程、敏捷开发、Scrum

目录

一、瀑布模型    4

二、敏捷开发    4

三、Scrum    4

3.1 Scrum简介    5

3.2 Scrum的角色    5

四、 Scrum过程    6

4.1 建立Product Backlog    6

4.2 Sprint计划会议    7

4.3编写Sprint Backlog    8

4.3.1燃尽图(burndown chart)    8

4.4每日例会    9

4.5 Sprint演示    10

4.6 Sprint回顾    10

五、 Scrum的挑战    11

一、瀑布模型

在传统瀑布模型的开发中,我们倾向于对项目做全局的详细分析,然后做出整体的schedule,开发人员按照这个schedule进行后续的开发。瀑布模型有以下缺点:

  1. 在项目的各个阶段反馈太少
  2. 只有在项目的生命周期结束后才能看到项目的成果
  3. 通过过多的强制完成日期和里程碑来跟踪各个项目阶段
  4. 瀑布模型不能够很快的适应客户的需求变更

二、敏捷开发

在次基础上人们引出了敏捷(Agile)开发的理念,Agile (敏捷)开发整体概念的产生是基于一种方法更接近人类活动现实情况,以便取得更好效果的信念上。Agile(敏捷)强调构建可以即时操作的软件,相对于在构建前花费许多时间记录规格要求。Agile(敏捷)注重小型多职能的团队决策权,相对于大型层次和部门职能的划分,Agile(敏捷)注重快速迭代,并且其中结合尽可能多的客户反馈

敏捷宣言:

  1. 个体与交互 胜过 过程和工具
  2. 可用的软件 胜过 完备的文档
  3. 客户协作 胜过 合同谈判
  4. 响应变化 胜过 遵循计划

敏捷价值观:沟通,简单,反馈,勇气,尊重

三、Scrum

Scrum是众多快速发展的Agile (敏捷)方式之,Scrum这个名字来源于英式橄榄球的一种争球方式,为什么要取这个名字?如图3-1所示。这种敏捷开发方法跟Scrum有相似的地方,迭代,反馈,快速反应和有效的沟通。Scrum是一个轻量级的软件工程过程,是一个软件管理框架。

3.1 Scrum简介

Scrum是一个敏捷开发过程框架,是一套追求迭代开发、持续集成的开发管理方法。在Scrum中,整个开发周期包含若干个小的迭代周期,每个小的迭代周期称为一个sprint(冲刺)。Scrum的重要支柱之一是当Scrum开发团队确认承诺任务后,产品所有者 (Product Owner)在此Sprint期间不可以添加新的需求。

3.2 Scrum的角色

  1. 产品负责人 (Product Owner)

产品负责人是利益相关方的代表,他的工作重点是产品的业务方面。他负责给出一份明确的,可度量的,合理的产品 Backlog(product backlog),并从业务角度出发对Backlog 中各项问题按优先级排序。Scrum开发团队总是优先开发对客户具有较高价值的需求。

  1. Scrum Master

Scrum Master 是整个团队的导师和组织者,他负责提高团队的开发效率。

  • 明确把握开发进度。
  • 保证Scrum团队中各个角色及职责的良好协作。解决团队开发中的障碍。 
  • 做为团队和外部的接口,屏蔽外界对团队成员的干扰。 
  • 保证开发过程按计划进行,组织每日站会、Sprint计划会议、Sprint评审会议和Sprint回顾会议。
  1. 团队

负责交付产品的团队。一个团队通常由5至9名具有跨职能技能的人(设计者,开发者等)组成,承担实际的开发工作。

 

Scrum介绍