敏捷开发之道(四)Scrum概述
上次的博文敏捷开发之道(二)极限编程XP和敏捷开发之道(三)极限编程XP续中,我们介绍了一下敏捷开发中的XP开发方法,今天咱们来了解另一个比较流行的敏捷开发方法——Scrum。
1、Scrum简介
Scrum是一种兼顾计划性和灵活性的敏捷开发过程,来源于美式足球中的"带球过人","带球过人"的含义主要是在比赛开始之前制定一个计划,在比赛中随机应变。
2、Scrum与传统开发模式
在传统开发模式中,我们通常将开发模式分为:需求、设计、编码、测试等阶段,而在Scrum中则将整个开发过程分为多次迭代,成为Sprint。
3、Scrum与XP的区别和联系
Scrum与XP都是敏捷开发方法,两者都体现了快速反馈,强调交流,强调人的主观能动性等敏捷开发的基本原则,而且两者之间的多数实践都可以互相适用。
但两者之间除了联系之外还有一些区别。
区别一
Scrum的迭代长度一般为2~4周,XP相对来说时间较短通常为1~2周;
区别二
在XP的一个迭代中,如果一个用户素材还没有实现,则可以考虑用另外的需求将其替换,替换的原则是需求实现的时间量是相等的。而在Scrum的一个迭代中则要求,一旦迭代开工会完毕,任何需求都不允许添加进来,并有Scrum Master严格把关,开发期间不允许开发团队受到干扰;
区别三
在XP迭代中,用户素材的实现务必要遵守优先级别,而在Scrum中,则可以不按照优先级别来做。Scrum给出的理由很简单,即如果优先问题的解决者,由于其它事情耽搁,不能认领任务,那么整个进度就耽误了。另外一个原因是,如果按优先级排序的用户素材中,存在较高优先级依赖较低优先级的情况,则要想实现较高优先级的就必须首先完成优先级低的。
区别四
XP对开发流程的定义非常严格,规定需要采用TDD、自动测试、结对编程、简单设计、重构等约束团队的行为。XP这样的理念加上敏捷开发自我管理的理念,它最终表达的意思就是你是一个自我管理的个体,但你需要执行TDD、自动测试、结对编程……等等,这就给我带来了困惑。相对的,Scrum没有对软件的整个实施过程严格要求,更加强调Self-Orgnization的理念,要求开发者自觉保证。
通过以上对比,我们可以发现Scrum更加强调面向管理过程的开发方式,XP则更加强调面向工程过程的开发方式。所以更多的人在管理模式上启用Scrum, 而在实践中,创造一个适合自己项目组的XP。
今天我们就先讲到这里,更多的内容,请见下篇!敬请期待。
敏捷开发之道(四)Scrum概述的更多相关文章
- 敏捷开发之道(三)极限编程XP续
上次的博文敏捷开发之道(二)极限编程XP中,我们了解了XP的实践中的其中四个,今天我们来一起学习一下剩余的实践. --接上文 5).结对编程 结对编程就是由结对的开发人员使用同一台电脑共同完成一项任务 ...
- 敏捷开发之道(二)极限编程XP
上次的博文敏捷开发之道(一)敏捷开发宣言中,我们介绍了一下敏捷开发宣言,在其中,我们了解到了关于敏捷开发的几个重要的价值观.今天我们来了解一个敏捷开发的方法--极限编程XP 1.介绍 极限编程(eXt ...
- 瀑布式开发、迭代开发、敏捷开发、XP与SCRUM的区别
瀑布式开发.迭代开发,区别[都属于,生命周期模型] 两者都是一种开发模式,就像设计模式一样,考虑的角度不一样,个人感觉谈不到取代一说. 传统的瀑布式开发,也就是从需求到 ...
- 敏捷开发(九)- Scrum Sprint计划会议2
本文主要是为了检测你对SCRUM Sprint 计划会议二的了解和使用程度, 通过本文你可以检测一下 1.你们的SCRUM Sprint 计划会议二的过程和步骤 2.SCRUM Spri ...
- 敏捷开发(十一)- Scrum Sprint评审会议
本文主要是为了检测你对SCRUM 评审会议的了解和使用程度, 通过本文你可以检测一下 1.你们的SCRUM 评审会议的过程和步骤 2.SCRUM 评审会议的输出结果一.会议目的 ...
- 敏捷开发(八)- Scrum Sprint计划会议1
本文主要是为了检测你对SCRUM Sprint 计划会议的了解和使用程度, 通过本文你可以检测一下 1.你们的SCRUM Sprint 计划会议的过程和步骤 2.会议的输出结果 S ...
- 敏捷开发(六)- SCRUM全员会议
本文主要是为了检测你对SCRUM 全员会议的了解和使用程度,通过本文你可以检测一下 1.你们的SCRUM 全员会议的过程和步骤 2.SCRUM 全员会议的输出结果 一.会议目的 组成团 ...
- 一步步学敏捷开发:6、Scrum的3种工件
Scrum的3种工件包括:Product Blacklog.Sprint Backlog.完成标准. 1.产品待办事项列表(Product Backlog) 产品Blacklog是Scrum中的核心工 ...
- 一步步学敏捷开发:4、Scrum的3种角色
在Scrum角色中包括:产品负责人(Product Owner,PO).ScrumMaster(SM).开发团队(Team). 角色:产品负责人(PO) Scrum团队只有一个产品负责人,他负责在限定 ...
随机推荐
- uva 12549 最大流
思路:这题的原型题是比较经典的网络流.原型题模型就是把所有的障碍去掉. 有障碍做法还是一样的,只用将每个列和行重新划分,求最大流就行了. #include <cstring> #inclu ...
- Angularjs 使用filter格式化输出href
工作中,由于是多级菜单,如果上级菜单为空,就会访问Angularjs 默认的state,然后再展开菜单,我找资料之后,才知道是通过filter来格式化输出数据的,格式是{{ expression | ...
- Slickflow.NET 开源工作流引擎基础介绍(二) -- 引擎组件和业务模块的交互
集成流程引擎的必要性 业务过程的变化是在BPM系统中常见的现象,企业管理层需要不断优化组织架构,改造业务流程,不可避免地带来了业务流程的变化,企业信息系统就会随之面临重构的可能性.一种直接的方式是改造 ...
- UI设计之PS界面初始化设置
一.PS界面初始化 1.新建设置 web设计的基础标准:宽度为1920px,高度自定义,分辨率72px,背景模式RGB 8位.(提示:可以“存为预设”以便以后直接调用) 注意:背景内容为透明!!! ...
- C#代码配置IIS 操纵IIS
前言: IIS到目前经历了四个版本分别为 IIS4.0 IIS5.0 IIS6.0 IIS7.0,其中IIS6.0 IIS7.0是在5.0的安全问题的基础上获得的发展,目前为止.6.0版本以后的都是 ...
- UI2_视图切换ViewController
// // SubViewController.h // UI2_视图切换 // // Created by zhangxueming on 15/7/3. // Copyright (c) 2015 ...
- hibernate get VS load
1. 执行get方法:会立即加载对象 而执行load方法,若不适用该对象,则不会立即执行查询操作,而返回一个代理对象 get立即检索,load延迟检索 2. load方法可能 ...
- 济南学习 Day1 T3 pm
[问题描述]小 Q 对计算几何有着浓厚的兴趣.他经常对着平面直角坐标系发呆,思考一些有趣的问题.今天,他想到了一个十分有意思的题目:首先,小 Q 会在x轴正半轴和y轴正半轴分别挑选
- NSURLConnection ignore unverified certificate error when sending a synchronise request
Private API, use with caution. As we all know, it's easy to ignore the unverified certificate error ...
- JS判断客户端是手机还是PC
function IsPC() { var userAgentInfo = navigator.userAgent; var Agents = ["Android", " ...