Scrum到底是个神马玩意儿
从前有一种非常火爆的体育运动,对阵双方各派出11位猛男,在宽阔的草皮球场内争抢一颗可怜的小皮球。哪方能够通过团队协作拿到皮球,并且运送到对方场地的特定位置即得分。
没错,你没有走错片场,快到超级碗里来~
咳咳,其实我们要说的是在IT领域内,从这种运动中引申出来的一个名词,叫做SCRUM-争球。
相信接触过敏捷(agile)项目的读者,都听说过SCRUM这个名词,那他到底指代的是怎样一个事务呢?
其实你可以结合着上面这张图片去理解,笔者觉得总结起来,SCRUM就是‘一个小规模团队,通过紧密的团队合作,一步一步推进团队目标’的理念。
归根结底,SCRUM是敏捷开发项目中的一种组织形式,严格来说他其实不能算是一种技术而是一种方法论(Methodology),更不能等同于敏捷开发理念本身。
现如今,我们人类社会的运转节奏已经快的令人发指了,这种快节奏也非常显而易见的对IT行业产生了冲击。在这样的前提下,敏捷开发或者叫敏捷项目的应用渐渐浮出水面而且越来越呈流行的趋势。
现在的IT企业,不搞敏捷开发感觉出门都不好意思跟人打招呼。而SCRUM就是敏捷项目最喜欢采用的一种组织方式。
那么SCRUM怎么开展,我的团队到底适不适合采取SCRUM形式呢?
我们来看看SCRUM为一个敏捷性项目定义了哪些特性:
第一个是待办产品列表(backlog):它包括了整个敏捷项目中,团队要完成的所有任务;包括待开发的产品功能,非功能性需求,待修复的缺陷等等。
其次是冲刺期(sprint):也就是将一个敏捷项目划分成数个小阶段,每个阶段定义该阶段需要完成的任务量。一般来说这个阶段时长是一至四周,以两周为最常见。本质上这种做法与我们平常说到的‘迭代-增量’开发模型没有根本的区别。在冲刺期结束的时候,我们规划好的任务应该全部完成:这就包括了开发,集成,测试和归档。
其次是冲刺期计划会(sprint planning):顾名思义,就是在每个冲刺期开始的时候,对所有待开发的产品部件进行讨论,估算和决定哪些可以在当前冲刺期完成,并进而进行任务分派。在敏捷项目中,理论上类似计划是一个民主的过程,团队的成员秉承高度专业的态度来决定当前可完成的任务量。
再次是每日站立会议(daily scrum)有时候提到scrum,我们可能会和站立会议等同起来。确实从命名上而言每日站立会议(daily scrum)也用到了scrum这个名词,不过严格来说scrum不单单特指这个会议,也包含我们本文提到的对整个敏捷项目的组织方式。在会议上,每个团队人员要回答三个问题:
- 我昨天完成了什么工作
- 我今天准备完成什么工作
- 我发现了哪些可能阻碍工作的问题
PS:在笔者以前经历过的一个敏捷项目里,老外们真的拿着一颗玩具橄榄球在会议上传来传去:P
再次是冲刺期回顾(sprint review):回顾当前冲刺期完成的任务,展示项目成果,以及计划完成却没有完成的任务,整理下一阶段待完成的任务。
SCRUM对于敏捷项目而言是有很大价值的,通过这种组织形式能够很好的实现敏捷项目的核心诉求:
- 高度迭代
- 强周期性
- 持续响应客户
当然话说回来,理念和理论总是听起来很美好,实现起来却往往很让人头疼,SCRUM也是如此。
敏捷的开发理念摒弃很多传统开发模式中的复杂流程和管理方法,但它这种强调人,强调自身动力的理念也容易使得团队缺乏计划,行动松散。
所以SCRUM就像一把双刃剑,用得好可能产生非常高的生产力;用的不好,则不但生产效率不高,还会让团队陷入混乱。并不是每个项目都适用敏捷开发,也不是所有团队都要采取SCRUM得形式,具体如何选择还是要取决于团队的构成和实力。
Scrum到底是个神马玩意儿的更多相关文章
- HttpClient参观记:.net core 2.2 对HttpClient到底做了神马
.net core 于 10月17日发布了 ASP.NET Core 2.2.0 -preview3,在这个版本中,我看到了一个很让我惊喜的新特性:HTTP Client Performance Im ...
- 【转】DSP是什么--DSP是神马东东??
原文:http://www.eepw.com.cn/article/272908.htm 导读:本文主要介绍的是DSP是什么,不懂得童鞋们快随小编一起学习一下DSP到底是个神马东东吧! 本文引用地址: ...
- [C++中级进阶]001_C++0x里的完美转发到底是神马?
[C++中级进阶]001_C++0x里的完美转发到底是神马? 转载至:http://www.cnblogs.com/alephsoul-alephsoul/archive/2013/01/10/285 ...
- 函数:递归是神马 - 零基础入门学习Python022
函数:递归是神马 让编程改变世界 Change the world by program 我们这节课的主题叫递归是神马,将通过小甲鱼带感的讲解,来告诉大家神马是递归!如果说优秀的程序员是伯乐,那么把递 ...
- [转帖]Tensor是神马?为什么还会Flow?
Tensor是神马?为什么还会Flow? 互联网爱好者 百家号17-05-2310:03 大数据文摘作品,转载要求见文末 编译 | 邵胖胖,江凡,笪洁琼,Aileen 也许你已经下载了TensorFl ...
- 神马玩意,EntityFramework Core 1.1又更新了?走,赶紧去围观
前言 哦,不搞SQL了么,当然会继续,周末会继续更新,估计写完还得几十篇,但是我会坚持把SQL更新完毕,绝不会烂尾,后续很长一段时间没更新的话,不要想我,那说明我是学习新的技能去了,那就是学习英语,本 ...
- javascript 函数初探 (一)--- 神马是函数
神马是函数? 所谓函数,本质上是一种代码的分组形式.我们可以通过这种形式赋予某组代码一个名字,以便与之后的调用.下面,我们来示范以下函数的声明: function sum(a, b){ var c = ...
- SQLSERVER 里经常看到的CACHE STORES是神马东东?
SQLSERVER 里经常看到的CACHE STORES是神马东东? 当我们在SSMS里执行下面的SQL语句清空SQLSERVER的缓存的时候,我们会在SQL ERRORLOG里看到一些信息 DBCC ...
- 记一次数据库调优过程(IIS发过来SQLSERVER 的FETCH API_CURSOR语句是神马?)
记一次数据库调优过程(IIS发过来SQLSERVER 的FETCH API_CURSOR语句是神马?) 前几天帮客户优化一个数据库,那个数据库的大小是6G 这麽小的数据库按道理不会有太大的性能问题的, ...
随机推荐
- react使用过程中常见问题
目录 一.减小输入字符数 二.用props.children来引用位于前置标签和后置标签之间的内容 三.创建组件两条主要的途径 四.JSX属性采用驼峰式的大小写规则(即‘onClick’而非‘oncl ...
- vue定义全局组件
<!DOCTYPE html><html> <head> <meta charset="utf-8"> <title>& ...
- SDN网络中hypervisor带来的控制器时延(Hypervisor位置的优化)
一,问题背景 1.介绍监督器大部分由软件实现,可灵活放置,高效的SDN网络虚拟化需要复杂的技术来放置hypervisor在合适的位置,才能提供租户最佳的性能.称为k-Network Hyperviso ...
- synchronized关键字的详细分析和代码实例
在Java中,一般都是通过同步机制来解决线程安全问题的,在JDK 5.0之后又新增了Lock的方式来实现线程安全.所以说实现线程安全方式一共有三种方法 方式一: synchronized(同步监视器) ...
- 201771010126 王燕《面向对象程序设计(java)》第十八周学习总结
实验十八 总复习 实验时间 2018-12-30 1.实验目的与要求 (1) 综合掌握java基本程序结构: (2) 综合掌握java面向对象程序设计特点: (3) 综合掌握java GUI 程序设 ...
- Springboot 集成jpa使用
实体类 dao层 上面的查询 ,方法名友好命名的话,可以不写注解查询 findByXXXX MetadataSchemePO findBySchemeName(String schemeName); ...
- 在C++中,setw(int n)
setw(int n)用来控制输出间隔例如:cout<<'s'<<setw(8)<<'a'<<endl;则在屏幕显示s a //s与a之间 ...
- RevDebug -- VS 调试神器,你值得拥有!
1. What's RevDebug Don't debug - replay! Trace the root cause of bugs in a matter of seconds, save y ...
- 【安富莱】【RL-TCPnet网络教程】第10章 RL-TCPnet网络协议栈移植(FreeRTOS)
第10章 RL-TCPnet网络协议栈移植(FreeRTOS) 本章教程为大家讲解RL-TCPnet网络协议栈的FreeRTOS操作系统移植方式,学习了第6章讲解的底层驱动接口函数之后,移植就 ...
- Java面试题整理:这些Java程序员面试中经常遇见的题目,必须掌握才能有好结果
1.是否可以从一个static方法内部发出对非static方法的调用? 不可以.因为非static方法是要与对象关联在一起的,必须创建一个对象后,才可以在该对象上进行方法调用,而static方法调用时 ...