敏捷开发之道(四)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团队只有一个产品负责人,他负责在限定 ...
随机推荐
- Pascal 语言中字符与字符串
[题目]输入一段文章(255个字符以内),求文章中单词的个数,相同单词只记一次,The 和 the 视作相同. [敲代码] //网友代码 var article,w:string; arr:array ...
- xcode报错 has been modified since the precompiled header was built
删除/Users/username/Library/Developer/Xcode/DerivedData/ModuleCache 下的所有文件
- MVC datetime? & datetime 设置格式
设置datetime的格式,直接有方法重载进行,即使数据为datetime?格式 设置起始时间在配置的时候添加设置 $('#closeTime').datetimepicker({ language: ...
- $(function(){})与$(document).ready(function(){})
$(function(){ //jq ready()的简写 }); $(document).ready(function(){ // }); 或者: $().ready(function(){ //j ...
- sql的基本用法-------修改字段默认值和属性
修改表中已有的字段属性 ALTER TABLE 表名 ALTER COLUMN 字段名 varchar(500) --sqlserver建表表时设置字段的默认值 create table 表(id i ...
- html DOM 变化 通知,很好很强大
刚做一个项目,某个div标签显示后 需要接收一个事件,用于主动调用 window.resize(): 从网上找了了,发现 MutationObserver.给开发者们提供了一种能在某个范围内的DOM树 ...
- A*算法的实现
#include<cstdio> #include<cstdlib> #include<cstring> #include<iostream> #inc ...
- C#去掉周六周日的算法
/// <summary> /// 用来获取工作日(不含周六周日) /// </summary> /// <param name="dtSub"> ...
- PictureBox控件鼠标进入的手形改变和提示
PictureBox控件载入了图片后,如果要设置其为链接作用的功能,一般需要当鼠标移动到其上时鼠标自动变为手形以提示用户此时可以点击,如果图形无法方便辨识链接的具体功能,最好此时给与一定提示. 1.鼠 ...
- PHP JS判断浏览器,微信浏览器
微信内置浏览器的 User Agent 如何判断微信内置浏览器,首先需要获取微信内置浏览器的User Agent,经过在 iPhone 上微信的浏览器的检测,它的 User Agent 是: Mo ...