从前有一种非常火爆的体育运动,对阵双方各派出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到底是个神马玩意儿的更多相关文章

  1. HttpClient参观记:.net core 2.2 对HttpClient到底做了神马

    .net core 于 10月17日发布了 ASP.NET Core 2.2.0 -preview3,在这个版本中,我看到了一个很让我惊喜的新特性:HTTP Client Performance Im ...

  2. 【转】DSP是什么--DSP是神马东东??

    原文:http://www.eepw.com.cn/article/272908.htm 导读:本文主要介绍的是DSP是什么,不懂得童鞋们快随小编一起学习一下DSP到底是个神马东东吧! 本文引用地址: ...

  3. [C++中级进阶]001_C++0x里的完美转发到底是神马?

    [C++中级进阶]001_C++0x里的完美转发到底是神马? 转载至:http://www.cnblogs.com/alephsoul-alephsoul/archive/2013/01/10/285 ...

  4. 函数:递归是神马 - 零基础入门学习Python022

    函数:递归是神马 让编程改变世界 Change the world by program 我们这节课的主题叫递归是神马,将通过小甲鱼带感的讲解,来告诉大家神马是递归!如果说优秀的程序员是伯乐,那么把递 ...

  5. [转帖]Tensor是神马?为什么还会Flow?

    Tensor是神马?为什么还会Flow? 互联网爱好者 百家号17-05-2310:03 大数据文摘作品,转载要求见文末 编译 | 邵胖胖,江凡,笪洁琼,Aileen 也许你已经下载了TensorFl ...

  6. 神马玩意,EntityFramework Core 1.1又更新了?走,赶紧去围观

    前言 哦,不搞SQL了么,当然会继续,周末会继续更新,估计写完还得几十篇,但是我会坚持把SQL更新完毕,绝不会烂尾,后续很长一段时间没更新的话,不要想我,那说明我是学习新的技能去了,那就是学习英语,本 ...

  7. javascript 函数初探 (一)--- 神马是函数

    神马是函数? 所谓函数,本质上是一种代码的分组形式.我们可以通过这种形式赋予某组代码一个名字,以便与之后的调用.下面,我们来示范以下函数的声明: function sum(a, b){ var c = ...

  8. SQLSERVER 里经常看到的CACHE STORES是神马东东?

    SQLSERVER 里经常看到的CACHE STORES是神马东东? 当我们在SSMS里执行下面的SQL语句清空SQLSERVER的缓存的时候,我们会在SQL ERRORLOG里看到一些信息 DBCC ...

  9. 记一次数据库调优过程(IIS发过来SQLSERVER 的FETCH API_CURSOR语句是神马?)

    记一次数据库调优过程(IIS发过来SQLSERVER 的FETCH API_CURSOR语句是神马?) 前几天帮客户优化一个数据库,那个数据库的大小是6G 这麽小的数据库按道理不会有太大的性能问题的, ...

随机推荐

  1. 第k个素因子只有3 5 7 的数

    题目描述 有一些数的素因子只有3.5.7,请设计一个算法,找出其中的第k个数. 给定一个数int k,请返回第k个数.保证k小于等于100. 测试样例: 3 返回:7 int findKth(int ...

  2. Java-IO流之File操作和Properties操作

    java的File类主要是用来操作文件的元数据,稍作演示如下: 其中方法getAllJavaFile()是使用了过滤器FileFileter,这个过滤器只需要实现accept方法,判断什么样的文件返回 ...

  3. 批量引用iconfont字体图标到项目

    打开https://www.iconfont.cn/网址登录后选择你需要的图标添加到购物车中 点击下载代码或者添加到项目后再下载代码,再找到之前下载的的文件,拷贝到项目中

  4. java课程之团队开发冲刺阶段1.5

    一.总结昨天进度 1.昨天由于时间较少,没有太多的时间来进行学习Sqlite 二.遇到的困难 1.由于最终的程序需要调用本地的数据库,所以我们需要在安装程序的时候就需要直接附带安装一个本地的数据库到手 ...

  5. PHP 反射的简单使用

    反射机制简介 之前已经介绍过Java反射机制的简单使用,所有的反射机制的思想作用等都是类似的,下面就一起来了解一下PHP反射机制. 个人理解:反射机制就是可以利用类名或者一个类的对象来获取关于这个类的 ...

  6. css知识总结

    ---# 学习目标:> 1. 学会使用CSS选择器> 2. 熟记CSS样式和外观属性> 3. 熟练掌握CSS各种选择器> 4. 熟练掌握CSS各种选择器> 5. 熟练掌握 ...

  7. Pyinstaller (python打包为exe文件)

    需求分析: python脚本如果在没有安装python的机器上不能运行,所以将脚本打包成exe文件,降低脚本对环境的依赖性,同时运行更加迅速. 当然打包的脚本似乎不是在所有的win平台下都能使用,wi ...

  8. layui layer弹框中表格的显示

    场景描述:点击iframe里面的一个按钮,需要在父级弹出一个弹框表格. 问题描述:这个弹框的分页不能正常显示,如果把layer.open前面的parent去掉,就可以正常显示. 代码展示: paren ...

  9. laravel-elasticsearch 全文搜索设置

    1.首先安装 jave环境 jdk 下载地址 ,我用的是最新版本的,有时版本要跟elasticsearch对应 2.安装elasticsearch 下载地址 3.安装Laravel scout 全文搜 ...

  10. 封装一个 员工类 使用preparedStatement 查询数据 (1)

    创建员工类  自动生成get set 方法 package cn.hph; public class emp { //定义表中的属性 private int id; private String en ...