历史故事

在越南战争期间(1955年—1975年),对于美国战机飞行员而言,要执行100次飞行任务,飞到敌国领空被击落的概率是50%。

1967年,萨瑟兰还是一个没有经验的年轻飞行员,当时却是做最危险的一项工作:侦查。他的战机只装备了相机与备用燃料箱,飞到越南上空让领航员拍摄轰炸任务前后的照片。萨瑟兰在执行任务的时,肾上腺素就会飙升,但他从来都能冷静应对,面对如此危险境地总是很淡定。他将这一素质归功于在空军服役期间学到的风险管控能力。在训练中学会了观察、导向、决定和行动四件事。具体地讲,先观察目标区域,然后确认进入和退出目标区域的最佳路线,在未知事件面前及时地做出调整,最后在本能的驱动下采取果断的行动。迟疑不决会要了一个飞行员的命,但贸然行事也会要了一个飞行员的命。一旦领航员拍好照片,我就会用力拉操纵杆,提升飞行高度,远离危险区域。

越南战争结束后,萨瑟兰回到了美国,到斯坦福大学攻读统计学硕士学位。毕业后,萨瑟兰到了美国空军学院教授数学、统计学和概率论。后来,又到科罗拉多大学医学院攻读生物统计学博士学位。用几年时间时间找出促使一个正常细胞发生癌变的因素。萨瑟兰学到了很多关于系统论的知识,理解了为什么一个细胞开始演变时,会从一个稳定状态过渡到另一个稳定状态。他花了将近10年的时间研究如何推动一个复杂的自适应系统从一个状态过渡到另一个状态,以及如何确保下一个状态是积极的,而非消极的。

几年之后,萨瑟兰发现组织、团队和人都可以被视为复杂的自适应系统,使细胞从一个状态过渡到另一个状态的因素,同样可以让人从一个状态过渡到另一个状态。要改变细胞,首先需要把能量注入系统中,起初可能会出现混乱局面,看起来杂乱无章,一切都处在运动中。当你试图改变一个组织时,可能也会发生这样的事情,这个组织的成员变得焦躁不安,因为他们无法理解发生了什么,也不知道自己应该如何应对。然而,如同细胞一样,组织会以很快的速度进入稳定的新状态。唯一的问题在于,新状态是否优越于旧状态,细胞是变成癌细胞还是健康细胞。当时我想知道我们是否能够找出一些简单的规则,以此指导团队变得更高效、更愉快、更具有相互扶持精神、更有乐趣以及更加令人向往。

在里根政府期间,科学研究经费遭到大幅削减,中洲计算机服务公司找到了萨瑟兰。因为该公司听说他是技术领域内的主流专家,一个熟悉系统论的人。该公司最新、最热门的产品是所谓的“自动柜员机网络”(ATMnetwork/ATM取款机)。要知道,那是在1983年的时候。

当萨瑟兰进入中洲计算机服务公司后,发现该公司的计算机编程部门采用的是“瀑布法”。该部门拥有数百名计算机程序员,每天忙忙碌碌,但无法在指定的时间按预算交付成果。该公司的成本比收益多出了30%。高层管理者时常爆发出吼叫,要求他们加强细化管理,提出咄咄逼人的要求,命令他们更加努力地工作,命令他们加班等。但无论高管如何施加压力,项目仍旧延期超支。

因为现在团队运作方式问题重重,已经无法通过小修小补的方式来纠正了。萨瑟兰决定在公司内部另起炉灶组建新部门.萨瑟兰找到程序员们和经理们,告诉他们:“我们首先要停止做那些把我们折腾死的事情。我们必须找出更好的工作方式,而且必须立即付诸实践。”

他把这个新部门分成几个团队来管理,奖金的发放不是看个人业绩,而是看整个部门的业绩。当时采用的一些工具在10年之后逐渐演变成了Scrum的元素,其中包括产品负责人(product owner)、Scrum主管(Scrummaster)、产品待办事项清单(product backlog)以及每周冲刺(weekly sprint)。6个月后,这个团队成了整个公司最赢利的部门,营业收入超过支出的30%。开发的Nonstop Tandem系统是最早获得银行信赖并被采用的在线交易系统,应用到了整个北美地区。

再后来,2001年2月11日到13日,17位软件开发领域的领军人物聚集在美国犹他州的滑雪胜地雪鸟(Snowbird)雪场。经过两天的讨论,“敏捷”(Agile)这个词为全体聚会者所接受,用以概括一套全新的软件开发价值观。诞生了最著名的“敏捷软件开发宣言”。

敏捷革命

以上内容来自杰夫•萨瑟兰的《敏捷革命》 这本书。

关于作者

杰夫•萨瑟兰(Jeff Sutherland),Scrum发明者与共同创造人,被誉为“Scrum之父”,《敏捷宣言》起草人之一。

萨瑟兰毕业于西点军校,曾作为美国空军战斗机飞行员,完成过100次飞越北部越南的作战任务。1972年,萨瑟兰获得斯坦福大学统计学硕士学位。1980年,他获得科罗拉多大学的生物统计学博士学位。1983年,萨瑟兰进入中洲计算机服务公司,该公司为150家银行提供技术服务,他负责研发ATM网络技术。萨瑟兰还先后担任了11家软件公司的首席执行官和首席技术官,积累了丰富的项目管理经验。2006年,他成立了自己的公司Scrum,Inc.,提供Scrum管理方法的培训服务。

Scrum由来的更多相关文章

  1. Scrum 项目1.0 2.0 3.0 4.0 5.0 6.0 7.0

    1.确定选题. 应用NABCD模型,分析你们初步选定的项目,充分说明你们选题的理由. 录制为演说视频,上传到视频网站,并把链接发到团队博客上. 截止日期:2016.5.6日晚10点 阅读教材第8章,8 ...

  2. [团队项目] Scrum 项目 2.0 产品BACKLOG

    Scrum 项目 2.0 阅读教材第8章,8.1~8.3节 P157~168,了解获取用户需求的办法,每个组可以选择一二加以应用. 8.4节P168-171 查阅NABCDA模型的具体说明. 2.SC ...

  3. Scrum 项目2.0

    阅读教材第8章,8.1~8.3节 P157~168,了解获取用户需求的办法,每个组可以选择一二加以应用. 8.4节P168-171 查阅NABCDA模型的具体说明. 2.SCRUM 流程的步骤 1 完 ...

  4. Scrum

    Scrum[编辑] 维基百科,自由的百科全书   Scrum是一种敏捷软件开发的方法学,用于迭代式增量软件开发过程.Scrum在英语是橄榄球运动中争球的意思. 虽然Scrum是为管理软件开发项目而开发 ...

  5. Scrum 项目 3.0

    -------------------------------------3.0----------------------------------------------------- 一.项目工作 ...

  6. scrum 项目准备2.0

    1.确定选题. 应用NABCD模型,分析你们初步选定的项目,充分说明你们选题的理由. 录制为演说视频,上传到视频网站,并把链接发到团队博客上. 截止日期:2016.5.6日晚10点 演说稿: 各位领导 ...

  7. 【第二周】【作业五】Scrum 每日站会

    1.首先来看一下什么是Scrum: Scrum是一种敏捷软件开发的方法学,用于迭代式增量软件开发过程.Scrum在英语是橄榄球运动中争球的意思. 虽然Scrum是为管理软件开发项目而开发的,它同样可以 ...

  8. 关于Scrum+XP+DevOps的学习

    最近听了ECUG大会上孙敬云老师的分享感觉受益匪浅,毕竟大学课本上只讲到瀑布模型就没有下文了,工作以后一直贯彻的都是Scrum路线,一直也没有时间好好的去学习整理这部分的知识,直到近几天听到了孙老师的 ...

  9. [转载]敏捷开发之Scrum扫盲篇

    现在敏捷开发是越来越火了,人人都在谈敏捷,人人都在学习Scrum和XP...      为了不落后他人,于是我也开始学习Scrum,今天主要是对我最近阅读的相关资料,根据自己的理解,用自己的话来讲述S ...

随机推荐

  1. Codeforces 1030E 【暴力构造】

    LINK 题目大意:给你n个数,你可以交换一个数的任意二进制位,问你可以选出多少区间经过操作后异或和是0 思路 充分必要条件: 区间中二进制1的个数是偶数 区间中二进制位最多的一个数的二进制个数小于等 ...

  2. Cookie用法

    //写入 protected void Button1_Click(object sender, EventArgs e) { HttpCookie cookie=new HttpCookie(&qu ...

  3. svg图片的缩放拖拽

    svg是一种不错的矢量图,有时候我们会使用这样的图片来作为展示图,因为它不会因为放大缩小而失真. 好了,不扯淡了,废话少说,直入主题吧. 首先确定你是要深入学习还是要简单的把遇到的小任务解决一下,以后 ...

  4. matlab中卷积编码参数的理解

    poly2trellis(7, [171 133])代表什么意思呢?首先是7,他是1*k的vector,此处k为1,[171 133]是k*n的vector,此处n就是2,那么这个编码就是1/2码率的 ...

  5. ALTERA的FPGA命名规则

    DIP中文解释:双列直插式封装.插装型封装之一,引脚从封装两侧引出,封装材料有塑料和陶瓷两种.DIP是最普及的插装型封装,应用范围包括标准逻辑IC,存贮器LSI,微机电路等.        PLCC中 ...

  6. nginx 缓存处理

    核心指令   proxy_cache_path /data/nginx/cache/one levels=1:2 keys_zone=one:10m max_size=10g; proxy_cache ...

  7. Codeforces Round #249 (Div. 2)-D

    这场的c实在不想做,sad. D: 标记一下每个点8个方向不经过黑点最多能到达多少个黑点. 由题意可知.三角形都是等腰三角形,那么我们就枚举三角形的顶点. 对于每个定点.有8个方向能够放三角形. 然后 ...

  8. java之反射概述

    类加载器和反射  类加载器: 1 类的加载过程: 当程序要使用某个类时,如果该类还未被加载到内存中,则系统会通过加载.连接.初始化三步骤来实现对这个类进行初始化. 加载:就是指将class文件读入内存 ...

  9. Python 函数 -globals()

    globals() globals() 函数会以字典类型返回当前位置的全部全局变量. 实例: >>>a='runoob' >>> print(globals()) ...

  10. FastAdmin 如何查看 ICON 名字?

    FastAdmin 如何查看 ICON 名字? 群问题: [A货] ★^猪大胖-镇江 我想问问大家谁知道如何快速查找icon的name 每次我都要编辑权限那里去复制 [吐槽]孤狼-海口 2018/4/ ...