敏捷开发之道(四)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团队只有一个产品负责人,他负责在限定 ...
随机推荐
- Tornado web.authenticated 用户认证浅析
在Web服务中会有用户登录后的一系列操作, 如果一个客户端的http请求要求是用户登录后才能做得操作, 那么 Web服务器接收请求时需要判断该请求里带的数据是否有用户认证的信息. 使用Tornado框 ...
- asp.net中三层架构与mvc之区别?
对于标题中的问题,如果是没有同时接触三层架构和mvc的初级.net开发人员,想必一定会非常糊涂和混淆.关于此我也百度过N回,看过N多帖子和 回答,但几乎没有人能表述清楚.近期我从典型mvc+entit ...
- Person
using System;using System.Collections.Generic;using System.Linq;using System.Text; namespace PersonD ...
- 【CSS3】---文本阴影text-shadow
text-shadow可以用来设置文本的阴影效果. 语法: text-shadow: X-Offset Y-Offset blur color; X-Offset:表示阴影的水平偏移距离,其值为正值时 ...
- Android—SDCard数据存取&Environment简介
1:Environment简介: Environment是android.os包下的一个类,谷歌官方文旦的解释为:Provides access to environment variables(提供 ...
- Ubuntu 16.04 - python3 安装mysql驱动
阿西吧,今天碰到一件特别蛋疼的事,给Ubuntu安装Python的MySQL驱动,驱动显示安装成功了 pip install mysql-connector 但是 在程序中导入,老是报错. Trace ...
- opensuse pptp拨号设置注意事项
防火墙一定要关闭 路由器要映射本地1723和1701端口 tcp协议(个别路由器和网络环境,可以先不设置) pptp配置注意协议的选择:
- MYSQL基础01(新增,修改,删除)
首先说明一下,本人之前一直都是用MSSQL,由于工作原因,每天写上百条sql语句,并持续了几年;由于换了工作目前主要接触的MYSQL;所以现在开始学习MYSQL. 我的学习计划很简单,我在MSSQL使 ...
- JavaScript中Array的一些实用操作技巧
最近在调试JSP页面时频繁与ajax打交道,在复杂场景下,ajax传参数就需要对大量参数进行处理.这时我才发现,熟练Array的处理真的会使开发轻松不少!! 关于Array Array的创建很灵活,可 ...
- hdu 2955 Robberies 0-1背包/概率初始化
/*Robberies Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total S ...