一 什么是Scrum?
Scrum (英式橄榄球争球队), 软件开发模型是敏捷开发的一种,在最近的一两年内逐渐流行起来。
Scrum的基本假设是:
开
发软件就像开发新产品,无法一开始就能定义软件产品最终的规程,过程中需要研发、创意、尝试错误,所以没有一种固定的流程可以保证专案成功。Scrum
将软件开发团队比拟成橄榄球队,有明确的最高目标,熟悉开发流程中所需具备的最佳典范与技术,具有高度自主权,紧密地沟通合作,以高度弹性解决各种挑战,
确保每天、每个阶段都朝向目标有明确的推进。
Scrum 开发流程通常以 30
天(或者更短的一段时间)为一个阶段,由客户提供新产品的需求规格开始,开发团队与客户于每一个阶段开始时挑选该完成的规格部分,开发团队必须尽力于
30 天后交付成果,团队每天用 15 分钟开会检查每个成员的进度与计划,了解所遭遇的困难并设法排除。
二 Scrum较传统开发模型的优点
Scrum模型的一个显著特点就是响应变化,它能够尽快地响应变化。下面的图片使用传统的软件开发模型(瀑布模型、螺旋模型或迭代模型)。随着系统因素(内部和外部因素)的复杂度增加,项目成功的可能性就迅速降低。
下图是Scrum模型和传统模型的对比:
三 Scrum模型
一) 有关Scrum的几个名词
backlog: 可以预知的所有任务, 包括功能性的和非功能性的所有任务。
sprint:一次跌代开发的时间周期,一般最多以30天为一个周期.在这段时间内,开发团队需要完成一个制定的backlog,并且最终成果是一个增量的,可以交付的产品。
sprint backlog:一个sprint周期内所需要完成的任务。
scrumMaster: 负责监督整个Scrum进程,修订计划的一个团队成员。
time-box: 一个用于开会时间段。比如每个daily scrum meeting的time-box为15分钟。
sprint
planning meeting:
在启动每个sprint前召开。一般为一天时间(8小时)。该会议需要制定的任务是:产品Owner和团队成员将backlog分解成小的功能模块,
决定在即将进行的sprint里需要完成多少小功能模块,确定好这个Product
Backlog的任务优先级。另外,该会议还需详细地讨论如何能够按照需求完成这些小功能模块。制定的这些模块的工作量以小时计算。
Daily Scrum meeting:开发团队成员召开,一般为15分钟。每个开发成员需要向ScrumMaster汇报三个项目:今天完成了什么? 是否遇到了障碍? 即将要做什么?通过该会议,团队成员可以相互了解项目进度。
Sprint review meeting:在每个Sprint结束后,这个Team将这个Sprint的工作成果演示给Product Owner和其他相关的人员。一般该会议为4小时。
Sprint retrospective meeting:对刚结束的Sprint进行总结。会议的参与人员为团队开发的内部人员。一般该会议为3小时。
二)实施Scrum的过程简单介绍
1) 将整个产品的backlog分解成Sprint Backlog,这个Sprint Backlog是按照目前的人力物力条件可以完成的。
2) 召开sprint planning meeting,划分,确定这个Sprint内需要完成的任务,标注任务的优先级并分配给每个成员。注意这里的任务是以小时计算的,并不是按人天计算。
3) 进入sprint开发周期,在这个周期内,每天需要召开Daily Scrum meeting。
4) 整个sprint周期结束,召开Sprint review meeting,将成果演示给Product Owner.
5) 团队成员最后召开Sprint retrospective meeting,总结问题和经验。
6) 这样周而复始,按照同样的步骤进行下一次Sprint.
整个过程如下图所示:
分享到:
相关推荐
### Scrum介绍与实践 #### Scrum概述 Scrum是一种被广泛应用的敏捷开发框架,它强调迭代和增量式的开发过程。整个开发周期被细分为多个短周期,即Sprint,通常每个Sprint的周期建议为2到4周。这种划分有助于团队更...
### Scrum Master 认证考试知识点解析 #### 标题:Scrum Master 认证考试原题 **解析**:本题目集旨在帮助考生通过Scrum Master (CSM) 认证考试,该考试评估考生对Scrum框架、原则及实践的理解与应用能力。 #### ...
Scrum是一种敏捷开发框架,由Ken Schwaber和Jeff Sutherland在1990年代初创立,主要用于应对复杂的项目管理问题,特别是在软件开发领域。2010年,他们发布了首版Scrum指南,以帮助全球用户理解和应用Scrum。随着时间...
### 轻松Scrum之旅知识点详解 #### 一、背景与起源 - **软件危机加剧**:随着软件系统的日益复杂,传统的瀑布式开发模式已无法应对市场快速变化的需求,导致开发周期过长、成本失控、质量低下等问题,进而使得软件...
Scrum 是一个轻量的框架,它通过提供针对复杂问题的自适应解决方案来帮助人们、团队和组织 创造价值。 简而言之,Scrum 需要 Scrum Master 营造一个环境,从而: 1. 一名 Product Owner 将解决复杂问题所需的工作...
Scrum是一种广泛应用于软件开发领域的敏捷框架,它强调团队协作、迭代开发以及持续改进,以适应快速变化的需求。"Scrum精髓_敏捷转型指南高清完整版.zip"这个压缩包文件很可能是提供了一份详尽的Scrum实践指南,帮助...
敏捷开发与Scrum的实践应用: 本书名为《*** Development with Scrum》,旨在向读者展示如何在实际的.NET项目中应用敏捷开发和Scrum方法论。作者提供了一个名为“SuperJumper”的2D游戏开发项目作为案例,详细讲述了...
《硝烟中的Scrum和XP》是一本深入探讨敏捷开发方法的书籍,主要聚焦于Scrum和极限编程(XP)两种流行的敏捷框架。在IT行业中,这两种方法论被广泛应用于软件开发项目,以提高效率、灵活性和产品质量。下面将详细阐述...
"Scrum专业Scrum Master II题库" Scrum是一种敏捷项目管理方法,旨在帮助团队更好地协作、更快速地交付价值。Scrum Master扮演着关键角色,是Scrum团队的 facilitator、 coach和servant leader。Scrum Master负责...
### Scrum精髓:敏捷转型指南读书笔记 #### 第一章:Scrum的适用范围 - **Cynefin框架**:本书介绍了Cynefin框架作为理解Scrum适用环境的基础。该框架将工作环境划分为五个区域:复杂、繁杂、混乱、简单以及无序。...
Scrum是一种敏捷软件开发框架,它强调灵活性、协作和快速响应变化的能力。Scrum的核心理念是通过短期迭代(称为Sprints)和跨职能团队的工作来不断交付可用的软件,并在整个过程中密切与利益相关者合作。 **敏捷...
根据提供的文件内容,以下是关于SCRUM(敏捷开发模式)的相关知识点: ### 软件过程 软件过程是指为了构建高质量软件所需完成的任务框架。它包括一系列步骤,如定义任务工作步骤、中间产品、资源、角色、方法、工具...
Scrum是一种敏捷项目管理框架,特别适用于复杂和迭代的软件开发。它强调团队协作、自我组织和快速响应变化。在本文中,我们将深入探讨Scrum的关键要素和实践,以指导团队顺利实施敏捷开发。 首先,项目的启动阶段...
Scrum是一种敏捷开发框架,主要用于管理复杂的产品开发过程。它以迭代和增量的方式进行,强调团队自组织和协作,以快速响应变化并提供价值。Scrum的核心理念是通过短周期的Sprints(通常为2-4周)来实现产品的持续...
### Scrum概述与核心概念 **Scrum**作为一种敏捷开发框架,在软件开发及项目管理领域内备受推崇。本文旨在帮助读者在短时间内理解Scrum的基本原理及其应用价值。 #### Scrum的核心理念 Scrum被定义为一种简单的...
Scrum 教材总结 Scrum 是一种敏捷开发框架,对于软件开发和项目管理非常重要。本文将对 Scrum 的起源、Scrum 模型、Scrum 框架、现状和为什么会失败等方面进行详细的介绍。 一、Scrum 起源 Scrum 的 idea 来自于 ...
Andrew Pham拥有Certified ScrumMaster(CSM)、Certified ScrumProduct Owner(CSPO)和Certified SaumProfessionaI(CSP)认证。此外,他获得的认证还包括PMP、Java技术架构师(Sun授权)、OOADUML专家(IBM授权)...
### 敏捷项目管理Scrum入门指南 #### Scrum简介 Scrum是一种敏捷开发方法,旨在提高团队的工作效率和灵活性。它强调通过迭代的方式完成项目,每次迭代都会产生可用的产品增量。Scrum的核心理念是适应变化而非严格...