敏捷软件开发模型--SCRUM
一 什么是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模式
什么是敏捷软件开发 前提 : 传统软件开发模式 -- 瀑布模型 在谈论这个问题之前,我们先来回顾一下传统软件开发模式 -- 瀑布模型 在瀑布模型中,软件开发过程被分为严格的 需求分析 -- 系统设计 ...
- 软件工程-软件开发模型(瀑布/V/喷泉/原型/演化/螺旋/统一过程/敏捷)
软件工程-软件开发模型(瀑布/V/喷泉/原型/演化/螺旋/统一过程/敏捷开发) 目录 软件工程-软件开发模型(瀑布/V/喷泉/原型/演化/螺旋/统一过程/敏捷开发) 瀑布模型 特性 优点 缺点 适用 ...
- 软件开发模型-瀑布模型、V形模型、原型模型、增量模型、快速开发、敏捷模型
文章目录 0x01 边做边改模型 0x02 瀑布模型 0x03 V形模型 0x04 原型模型 0x05 增量模型 0x06 螺旋模型 0x07 快速应用程序开发模型 (RAD) 0x08 敏捷模型 0 ...
- 软件开发模型(瀑布模型、敏捷模型)和软件测试模型(V模型、W模型、 H模型、X模型)
软件开发模型和软件测试模型 软件开发模型 边写边改模型 瀑布模型 快速原型模型 螺旋模型 软件测试模型 V模型 W模型 H模型 X模型 测试阶段 1.单元测试 2.集成测试 3.系统测试(system ...
- 软件开发模型总结归纳(瀑布模型、螺旋模型、迭代模型、增量模型、敏捷模型)
文章目录 0. 软件的生命周期 1. 瀑布模型 2. 螺旋模型 3. 迭代模型 4. 增量模型 5. 敏捷模型 0. 软件的生命周期 软件的生命周期是指从软件产品的设想开始到软件不在使用而结束的时 ...
- 软件工程与软件开发模型、软件开发方法
什么是软件工程? 软件工程一直以来都缺乏一个统一的定义. IEEE给出的定义是:软件工程是:1.将系统化的.严格约束的.可质量化的方法应用于软件的开发.运行和维护,即将工程化应用于软件:2.在1中所述 ...
- 软件开发模型、软件设计模式、软件架构风格
一. 软件开发模型 1. 瀑布模型: 结构化方法.开发阶段性. 需求明确.文档齐全. 风险控制弱 .前一步的错误会延申到后一步: 2. 原型开发模型: 迭代方法. 有两种开发方式,分别是原先开发和目标 ...
- 软件开发模型与过程改进
从过去软件开发模型, 我们有很多的反思与借鉴. 笔者曾看到国内三线城市的一些公司的软件开发过程, 项目的成功依赖个人能力. 对于每一个软件系统研发过程, 只是拍脑袋定个Dead Line. 规定时间2 ...
- 远离敏捷状态的 Scrum 框架
本文来自作者 王宇 在 GitChat 上分享 「远离敏捷状态的 Scrum 框架」,「阅读原文」查看交流实录. 「文末高能」 编辑 | 哈比 尽信书不如无书 --<孟子·尽心下> 敏捷入 ...
最新文章
- 重磅 | 王劲被百度起诉后首露面:称打印机电脑已报废,赔了318块钱,没接到法院传票
- HDU-1698 JUST A HOOK 线段树
- [JMX一步步来] 9、基于JBoss来写MBean
- LeetCode 205. 同构字符串(哈希map)
- tc溜溜865手机投屏卡_溜溜 TC Games 官网_专题
- java中一个数小于零_这段java程序怎样才能让“所输入的数小于0!”只输出一次,并且满足题目条件?...
- Elasticsearch整理笔记(四)
- 我33岁,从国企主管零基础转型大数据开发,年薪涨了20W
- docker已证书方式访问harbor
- 解决Windows下文件无法删除的问题
- deepsort报错 No module named ‘sklearn.utils.linear_assignment_‘ 问题解决
- 《光剑文集》春心沁透: 99首
- java 枚举类使用反射
- 【论文笔记】Switching Convolutional Neural Network for Crowd Counting
- win7用友u8安装教程_win7系统安装用友u8的方法 win7用友u8安装教程
- 在Ubuntu上安装NTL
- 错过直播不用急,回顾小视科技工业级静默活体检测算法解读,视频已备好
- 招标投标管理系统(毕业设计)
- Windows XP 上使用pyqt5 + pyinstaller
- 沉痛悼念孙吉贵老师.........