敏捷史话(一):用一半的时间做两倍的事——Scrum之父Jeff Sutherland

2023-11-08 10:21

本文主要是介绍敏捷史话(一):用一半的时间做两倍的事——Scrum之父Jeff Sutherland,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

更多“敏捷史话”系列请关注敏捷开发。

普通的人生大抵相似,传奇的人生各有各的传奇。Jeff就是这样的传奇人物,年近80的他从来没有“廉颇老矣尚能饭否”的英雄迟暮,不久前还精神矍铄地与好几百名中国学生进行线上交流,积极回答中国粉丝关于Scrum的疑惑。

他在某个领域的成就很可能是很多人一辈子都难以望其项背的存在。

军校和越战

Jeff的教育经历丰富,就从那个大名鼎鼎的西点军校讲起吧!西点军校成立于1802年,由当时的美国第三届总统托马斯·杰弗逊签署法令成立,培养了麦克阿瑟、艾森豪威尔、巴顿、鲍威尔众多军事政治人才。西点军校入学条件严格,需政府高官推荐、考试、体检后择优录取。1960年,Jeff经历了层层筛选,于6月正式入学攻读理科学士学位。

在西点军校的最后一年,Jeff受任训练学校的一支散漫疲乏的仪仗队。仪仗队中不乏无视指挥扰乱队伍的纨绔子弟,Jeff把对每个人的反馈用看板的形式放在学生经常出入的路上,以求每个学生都能“无处可逃”地看到这种可视化的结果。**这种透明性管理让所有队员都发生了变化,数周后仪仗队的状态大有改观。**持续使用看板管理仪仗队,这个团队由最落后的队伍一跃当选成为护送麦克阿瑟将军的殡仪队。
在这里插入图片描述

从西点军校毕业后,Jeff参加了飞行员培训,成为一名飞行侦察员。在训练期间,他接受了飞行战略专家博伊德的教导,深刻地了解到决策速度和效率是一名飞行侦察员的必备能力。之后,在敌方的命中率是50%,且Jeff已有许多战友牺牲在战场的情况下,凭借着观察-定位-决定-行动的作战理念,Jeff驾驶RF-4C在北越执行了100次战斗任务后仍能毫发无损地生还。经历了惊险战争的洗礼,Jeff对决策效率、回路、反馈和调整的理解尤为深刻

学术研究

1970年,结束了越南战争的军旅生活,Jeff重回校园,在斯坦福大学读了统计学和数学研究生,并在学术方面取得了一定的成果。

1975年,Jeff进入科罗拉多大学医学院攻读生物统计学博士学位,用几年时间找出促使一个正常细胞发生癌变的因素。触类旁通,他认为团队组织如一个个细胞一样,是自适应的个体,可以根据周边环境做出自我决策的同时也不失去与中央系统的联系,打破稳定状态,自适应团队会经历混乱和调整,形成新的状态。而管理者要确保的是,自适应团队的下一个状态是积极的,而不是恶化为“癌细胞”。
在这里插入图片描述

说他的这些传奇经历可不是为了猎奇或者吹嘘,西点军校的可视化管理、飞行侦察的决策和效率、对癌细胞的迁移学习……Jeff早期经历的每一颗萤火,都构成了日后人生的浩瀚星河,在敏捷开发的大厦上空熠熠生辉。

初入IT

做了一段时间医学研究,取得生物统计学博士学位后,Jeff受中洲计算机服务公司之邀,进入计算机行业从事产品开发。这是一个改变了Jeff职业生涯乃至改变计算机行业的决定,此前他并没有计算机相关领域的工作经验,而中洲公司直接给到了副总裁的职位和难以拒绝的待遇,双方的决定在当时看来都是很大胆的。还好,中洲公司慧眼识珠,Jeff也不负众望,在IT领域展现出了自己的管理能力。

在这里插入图片描述

当时中洲公司在使用瀑布方法做ATM的业务,成本比收益高出30%,整个团队加班频繁,压力巨大,但仍无法按期交付。Jeff在这样的氛围中意识到,小修小补无法挽救这个团队,于是进行了大刀阔斧的改革,这就是敏捷实施的雏形。他将大团队打散成为各个相对独立的小团队,按每周交付的工作原则运行,以团队业绩而非个人业绩进行绩效奖励。六个月之后,Jeff的妙手回春果然让这个团队得到了重生——收益高于成本30%,成了整个公司最赢利的部门,开发出的Nonstop Tandem系统是最早获得银行信赖并被采用的在线交易系统,应用到了整个北美地区。

Scrum正式化

1993年,Jeff受聘到Easel软件公司,担任主管技术业务的副总裁,面临极具挑战性的任务。在学术研究中养成的好习惯在这里也发挥了巨大的作用,他带领团队阅读了大量文献。在查找文献的过程中,Jeff读到了一篇1986年发布在《哈佛商业评论》的名为“新新产品开发游戏”的文章。这篇文章的主要观点是:团队所有成员共同为任务做出贡献要比各自为政效率更高,正如在橄榄球球场上大家不分彼此,都为进球这一个目标而全力以赴。文章的观点与Jeff此前的诸多实践不谋而合,Jeff仿佛被打通任督二脉,开始着手将Scrum的流程进行系统化运行。

实践与理论的结合产生了神奇的化学效应,1995年Jeff与Ken Schwaber一起将Scrum正式化,发表《Scrum 指南》。2001年,受Bob邀请,二人作为Scrum的代表来到“寒冷但有趣”的犹他州,出席雪鸟会议。经过两天的讨论,“敏捷”(Agile)这个词为全体聚会者所接受,用以概括一套全新的软件开发价值观,“敏捷软件开发宣言”诞生。

“敏捷的生活”

敏捷一直强调的是**“Be Agile!Don’t Do Agile**!”,敏捷并不是只能用在软件开发上,Jeff在生活中也在一直在践行“Be Agile!”。Jeff新的一天从喝防弹咖啡开始,它可以提供充足的热量并增强新陈代谢,长期可保持活力、维持体重稳定。饮食方面Jeff采用生酮饮食,摄入高蛋白和高脂肪的食物,降低碳水化合物的比例,保持精力旺盛、保持运动习惯。
在这里插入图片描述

Jeff还把敏捷带到家庭生活中,一家人一起过了一个“敏捷感恩节”: 一组人准备食物, 一组人在布置桌子,还有人在门口迎接来客。“这是我们有过的最好的感恩节!” Jeff在博客里这样写道。一位另辟蹊径的心理学家Bruce受这个敏捷感恩节的启发,学习了Scrum的工作方式,将其应用到多个孩子以至于失控的家庭生活中,比如采用看板来进行“混乱的清晨”的管理,明确每个人早上的任务,井然有序地吃早餐、做家务、喂宠物、上学、上班。还有“每日立会”式的家庭会议,每个成员相继回答这个星期家里什么运作良好、 什么不好、下个星期希望做哪些改变,Scrum家庭会议的结果喜人——父母的吼叫次数减半、家庭笑声加倍、孩子们也学会了自我管理。

Jeff的书单

在一次访谈中,被问到“你最推荐软件工程师必读的三本书是什么”,Jeff推荐了三本书:《人月神话》、《五轮书》以及《如此崇高的愿景:约翰·博伊德、OODA Loop和丹尼尔·福特的美国反恐战争》。从推荐书籍中,也可以看出前期经历对他影响至深。

在这里插入图片描述

弗雷德·布鲁克斯的《人月神话》不必多说,为人们管理复杂项目提供了颇具洞察力的见解。“这在今天和30年前一样真实,令人惊讶的是,每个工程经理都没有反复阅读它”。

《五轮书》由日本剑客宫本武藏撰写,阐述了剑道与兵法的原则、思想、策略,简单又实际,不仅适于武士,也适合各种形式的竞争,是危机处理、策略训练的经典之作。软件工作者可以从中学习到如何通过思考来切割代码、分割障碍,并始终同时执行短期和长期战略。优秀的代码需要优秀的架构,伟大的架构需要伟大的设计,伟大的设计需要同时看到全局,以及更改代码所带来的所有副作用。

“《如此崇高的愿景:约翰·博伊德、OODA Loop和丹尼尔·福特的美国反恐战争》是关于世界上最伟大的战斗机飞行员的最优秀的书籍。如果你实施了他的策略,无论你是编码还是领导团队,你都一定会赢。”从这种评价中可以看出,Jeff对越战时给予指导的少校博伊德的评价依然很高。

Jeff推荐的并不是关于代码等硬技能的书籍,而是关于心态的著作。他会定期与使用Scrum的前战斗机飞行员、黑带合气道、空手道和中国功夫专家会面,跟这些人讨论如何将敏捷思维引入到普通团队中。敏捷所需要的高度专注、纪律和积极主动的行动正是这些团队所需要的。我们可以和Jeff一起期待敏捷在更多领域的推广。

如果你的工作或生活中正经历着什么瓶颈,不妨看看Jeff的经历,用Scrum的方法思考一下,也许能找到答案,敏捷可能就会是你柳暗花明的又一村。

这篇关于敏捷史话(一):用一半的时间做两倍的事——Scrum之父Jeff Sutherland的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/369198

相关文章

如何利用Java获取当天的开始和结束时间

《如何利用Java获取当天的开始和结束时间》:本文主要介绍如何使用Java8的LocalDate和LocalDateTime类获取指定日期的开始和结束时间,展示了如何通过这些类进行日期和时间的处... 目录前言1. Java日期时间API概述2. 获取当天的开始和结束时间代码解析运行结果3. 总结前言在J

修改若依框架Token的过期时间问题

《修改若依框架Token的过期时间问题》本文介绍了如何修改若依框架中Token的过期时间,通过修改`application.yml`文件中的配置来实现,默认单位为分钟,希望此经验对大家有所帮助,也欢迎... 目录修改若依框架Token的过期时间修改Token的过期时间关闭Token的过期时js间总结修改若依

Go Mongox轻松实现MongoDB的时间字段自动填充

《GoMongox轻松实现MongoDB的时间字段自动填充》这篇文章主要为大家详细介绍了Go语言如何使用mongox库,在插入和更新数据时自动填充时间字段,从而提升开发效率并减少重复代码,需要的可以... 目录前言时间字段填充规则Mongox 的安装使用 Mongox 进行插入操作使用 Mongox 进行更

对postgresql日期和时间的比较

《对postgresql日期和时间的比较》文章介绍了在数据库中处理日期和时间类型时的一些注意事项,包括如何将字符串转换为日期或时间类型,以及在比较时自动转换的情况,作者建议在使用数据库时,根据具体情况... 目录PostgreSQL日期和时间比较DB里保存到时分秒,需要和年月日比较db里存储date或者ti

Python 标准库time时间的访问和转换问题小结

《Python标准库time时间的访问和转换问题小结》time模块为Python提供了处理时间和日期的多种功能,适用于多种与时间相关的场景,包括获取当前时间、格式化时间、暂停程序执行、计算程序运行时... 目录模块介绍使用场景主要类主要函数 - time()- sleep()- localtime()- g

如何用Java结合经纬度位置计算目标点的日出日落时间详解

《如何用Java结合经纬度位置计算目标点的日出日落时间详解》这篇文章主详细讲解了如何基于目标点的经纬度计算日出日落时间,提供了在线API和Java库两种计算方法,并通过实际案例展示了其应用,需要的朋友... 目录前言一、应用示例1、天安门升旗时间2、湖南省日出日落信息二、Java日出日落计算1、在线API2

如何使用 Bash 脚本中的time命令来统计命令执行时间(中英双语)

《如何使用Bash脚本中的time命令来统计命令执行时间(中英双语)》本文介绍了如何在Bash脚本中使用`time`命令来测量命令执行时间,包括`real`、`user`和`sys`三个时间指标,... 使用 Bash 脚本中的 time 命令来统计命令执行时间在日常的开发和运维过程中,性能监控和优化是不

python中的与时间相关的模块应用场景分析

《python中的与时间相关的模块应用场景分析》本文介绍了Python中与时间相关的几个重要模块:`time`、`datetime`、`calendar`、`timeit`、`pytz`和`dateu... 目录1. time 模块2. datetime 模块3. calendar 模块4. timeit

Java将时间戳转换为Date对象的方法小结

《Java将时间戳转换为Date对象的方法小结》在Java编程中,处理日期和时间是一个常见需求,特别是在处理网络通信或者数据库操作时,本文主要为大家整理了Java中将时间戳转换为Date对象的方法... 目录1. 理解时间戳2. Date 类的构造函数3. 转换示例4. 处理可能的异常5. 考虑时区问题6.

服务器集群同步时间手记

1.时间服务器配置(必须root用户) (1)检查ntp是否安装 [root@node1 桌面]# rpm -qa|grep ntpntp-4.2.6p5-10.el6.centos.x86_64fontpackages-filesystem-1.41-1.1.el6.noarchntpdate-4.2.6p5-10.el6.centos.x86_64 (2)修改ntp配置文件 [r