探讨起源前,先介绍一下发明者。Scrum是由Jeff Sutherland(杰夫 萨瑟兰,简称JS)和与Ken Schwaber(肯 施瓦布,简称KS)发明和总结的。两位仍然维护着Scrum Guide。在ScrumGuides的网站,我们可以看到两位发明者的照片。
说到Scrum起源,一般认为Scrum诞生的标志为在1995 年的OOPSLA (Object-Oriented Programming, Systems, Languages & Applications)大会中JS和KS首次共同演说Scrum。那次演讲本质上记录了Ken 和Jeff 在之前几年使用Scrum 时所学到的经验,并且在会议上公布第一版Scrum的正式定义。
至今2019年,Scrum已经走过了24个年头。然而,一个概念,一个成熟的过程框架的产生,背后必然有更多深厚的理论、实践和沉淀。在今天,我们在Scrum指南中了解到的种种概念,也并不是在Scrum诞生的一天就具备的。而是众多的敏捷实践者在开发的历程中逐步完善的。根据《敏捷革命》一书和敏捷编年史,以下是对Scrum发展更深入的归纳。
一、理论来源
Scrum的理论基础是实验性流程,源于日本制造业。而传授给日本人相关理论的则是一个美国人:戴明(W. Edwards Deming)。将戴明联系到日本的时代的背景是,在美占领日本时期,麦克阿瑟使用以下的手法重建日本经济:开除日本公司的高级管理人员,然后引进美国的管理专家培养基层管理人员。就这样,戴明来到了日本。说到戴明,相信最为人熟知的就是PDCA(Plan,Do,Check,Action)的戴明环。是戴明在日本提出了这个新的理念。而推动这一关键理念在制造业获得成功的是丰田汽车。这套大获成功的体系称之为“精益生产”。精益的关键推动者为丰田英二和大野耐一(5-Why法发明者)。
二、灵感闪现
从50年代,又经过了近30年,终于又是两个日本人,将这种思想、方法传到了软件开发领域。1986年竹 内 弘 高( Hirotaka Takeuchi) 和 野 中 郁 次 郎( Ikujiro Nonaka)在哈佛商业评论发表了他们的文章《新新产品开发游戏(The New New Product Development Game)》。这篇文章描述了一种橄榄球方法,方法中“产品开发过程是在一个精心挑选的多学科团队的持续互动中产生的,团队成员从头到尾都在一起工作”。这篇文章也就成为了JS后来Scrum的灵感来源。
1993年,JS在Easel(易索)公司工作。为了更高效的组织团队和开发产品,JS和团队阅读了大量的文章和书籍,最后他们欣喜的发现了上面的文章。他们将理论转化为软件开发过程并应用在Easel的开发项目中。就这样,Scrum诞生了。
三、发展编年史
尔后,就是1995年的正式发布了。一直至今,各种新的概念逐渐的加入到Scrum的体系中。以下是一些关键事件。
1997年:Ken Schwaber描述了“每日Scrum站会(daily scrum)”这个活动后来被Mike Beedle重新整理成了模式形式。
1998年:在最早描述极限编程的文章《走向极限编程的克莱斯勒公司(Chrysler goes to Extremes)》中描述了几个极限编程实践,例如:自选任务(self-chosen tasks)、测试先行(test first)、三周迭代(three week iterations)、集体代码所有权(collective code ownership)和结对编程(pair programming)。
2000年:Scrum的每日站立会议形式中的“三个问题(three questions)”为极限编程团队广泛采用。
2000年:Ken Schwaber首次描述了“燃尽图(burndown chart)”。在富达投资集团工作时,他视图为Scrum团队提供一个简单的工具包,于是发明它,并在其网站上做了正式描述。
2000年:术语“团队速率(velocity)”添加到极限编程相对较晚,用于替代先前的、被认为过于复杂的概念——“负载系数(load factor)”。
2001年2月11-13日:在美国犹他州瓦萨奇山的雪鸟滑雪度假村,17位从事软件开发或者帮助他人从事软件开发的人相聚一堂,以在他们各自不同的软件开发方法中寻找共识。此次会议的产物就是敏捷软件开发宣言(Manifesto for Agile Software Development)。后来几位会议成员继续合作,成立了敏捷联盟(Agile Alliance)
2001年:在英国Connextra公司,发明了用户故事的“role-feature-reason”描述形式。
2002年:Scrum社区汲取了度量“团队速度(velocity)”的实践。
2002年:燃尽图在Scrum社区中获得了普及,以及诸如仅仅反转垂直方向的“燃起图”,或者更复杂的“累积流图(Cumulative Flow Diagram)”,这与燃起非常类似,但似乎是一个独立的发明。
2002年:计划扑克的当前形式在James Grenning的一篇文章中被列出。
2003年:早期的Scrum 培训资料暗示了未来“完成的定义(Definition of Done)”的重要性,最初只是以幻灯片的形式:“关于完成的故事(The story of Done)”。
2007年:简化的三列任务板格式(“Todo”,“Doing”,“Done”)在当时变得比原始的五列版本更流行和更标准
2008年:Kane Mar以“故事时间(Story Time)”作为名称,首先正式描述了“Backlog梳理(backlog grooming)”,并建议把它作为一个例行会议。
2008年:虽然最初提到团队开始使用“就绪的定义(Definition of Ready)”的时间是在年初,但第一次正式的说明似乎是从十月开始的,并且很快就被纳入了“官方”的Scrum培训材料。
2011年:“Backlog梳理(backlog grooming)”实践升级为Scrum的官方元素,并纳入了《Scrum指南(the Scrum Guide)》。
p.s. 以上部分内容节选自《敏捷革命》一书和Scrum中文网。以下为参考链接。
Scrum指南
Scrum中文网-敏捷实践编年史
http://www.scrumcn.com/agile/scrum-knowledge-library/agile-practices-timeline.html
哈佛商业评论《新新产品开发游戏(The New New Product Development Game)》
https://hbr.org/1986/01/the-new-new-product-development-game
网友评论