历史故事

在越南战争期间(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. WPF 和 UWP 中,不用设置 From 或 To,Storyboard 即拥有更灵活的动画控制

    无论是 WPF 还是 UWP 开发,如果用 Storyboard 和 Animation 做动画,我们多数时候都会设置 From 和 To 属性,用于从起始值动画到目标值.然而动画并不总是可以静态地指 ...

  2. NSURLSession学习笔记(二)Session Task

    Session Task分为三种Data Task,Upload Task,Download Task.毫无疑问,Session Task是整个NSURLSession架构的核心目标. 下面写了一个简 ...

  3. 《selenium2 python 自动化测试实战》(12)——跳过验证码登录add_cookie

    微信公众号搜索“自动化测试实战”或扫描下方二维码添加关注~~~

  4. 船长带你看书——《selenium2 python 自动化测试实战》(2)浏览器操作

    浏览器操作 # coding: utf-8 from selenium import webdriver from time import sleep driver = webdriver.Firef ...

  5. vs中无法找到头文件

    在VS项目上右键属性 C/C++->常规->附加包含目录中把此路径添加上,路径与路径之间用 ; 隔开

  6. FastAdmin 的 API 可以分级吗?

    FastAdmin 的 API 可以分级吗? 有小伙伴问 FastAdmin 的API 可以分别吗,使用 / 出现错误. Karson 的说明是: 完全支持的,默认是使用.进行分隔的,如果需要/,请开 ...

  7. WebApi和Andriod对接上传和下载文件

    我在实现webapi和Andriod客户端上传下载文件的时候默认的是以流的形式返回的,下面我就贴出最近在研究的对接文件的上传和下载代码以供各位大侠们参考: 上传文件接口: [HttpPost] pub ...

  8. 基于STL优先队列和邻接表的dijkstra算法

    首先说下STL优先队列的局限性,那就是只提供入队.出队.取得队首元素的值的功能,而dijkstra算法的堆优化需要能够随机访问队列中某个节点(来更新源点节点的最短距离). 看似可以用vector配合m ...

  9. Django 的ORM

    指定字段: <1> CharField:字符串字段,用于较短的字符串,CharField 要求必须有一个参数 maxlength,用于从数据库层和Django效验层限制该字段所允许的最大字 ...

  10. jq from表单 取值

    //获取表单参数 var DataDeal = { formToJson: function (id) { var data=$(id).serialize();//获取值 data = decode ...