敏捷发展历史
起源-精益思想
》20世纪30年代-迭代增量式开发起源时间,应用于非软件开发项目
贝尔实验室的物理学界和统计学家Walter Shewhart使用P(计划)-D(执行)-C(研究)-A(检查)方法对产品过程进行改善。他把这种反复渐进的方法教给了他的学生戴明,后者在第二次世界大战后被日本大量使用。丰田雇佣戴明做生产改进,在他的经验之上形成了丰田体系——“精益”思想的最初来源。
》20世纪60年代初——最早引入敏捷开发方式
美国航天局的水星计划,此后,迭代和增量开发被IBM联邦系统和沃森研究中心采纳
》20世纪70年代
最早的有记载的使用迭代和增量开发的主要项目之一,是为第一艘美国三叉戟潜艇开发的第一指挥和控制系统。迭代与增量式开发稳定发展。迭代和增量开发的另一次出色发挥,是在一个美国宇航局航天飞机软件的开发项目。这个项目负责开发其航空电子设备的软件系统。
》20世纪80年代
在1895年,巴里贝母(Barry Boehm)正式定义了使用迭代开发的螺旋模型(Spiral model)。
1986年,Takeuchi和共同作者 Ikujiro Nanaka在哈佛商业评论上发表了名为《崭新的新产品开发游戏》的文章。提出定义了以团队为基础新的产品和研发过程,被称为“橄榄球”方式。团队作为一个整体来完成所有任务,将球传来传去。
敏捷转型案例:80年代初,在美国国防部发生了一件有趣的事情。美国国防部一直以来都要求其软件开发商在开发过程中使用严格的瀑布开发模型。但是到了1987年末,国防部开始“建议”使用迭代和增量开发作为软件开发模式。后来美国国防部的项目审查显示,早期使用瀑布模式开发的软件项目,有75%以失败告终,有些开发出来的产品根本没有被使用过,只有2%的软件产品无需大量修改就能被正常使用。
》20世纪90年代
1993年:Sutherland在“橄榄球”方式上,研究出“争球(Scrum)”开发方式。Sutherland随后就长时间和同事Ken Schwaber对该方法进行长期研究
1995年:在OOPSLA‘95 会议上,Sutherland首次在公众面前公布了Scrum方法
》21世纪初
到2000年底,更多的敏捷开发方法被广泛推广并被使用于各种不同的项目中。推荐使用迭代和增量开发的出版物和文献显著增加。
2001年二月,一组由17位在DSDM,XP,Scrum,FSD等领域的专家组成的代表团齐聚美国犹他州,寻找这些方法的共同点。参与者们分享了互相竞争的几种方式:极限编程(XP);透明化;自适应软件开发(ASD);特征驱动开发(FDD);动态系统开发方法(DSDM)。所有这些方式都是“轻量版”的框架。而这场运动后来被成为“敏捷”,随后发表了敏捷宣言和敏捷的12条原则。由此形成了现在我们所认识的敏捷开发和后来的敏捷联盟。
》2011年之后
所有的开发框架,及与之匹配的价值观和原则被称做为敏捷技术
Scrum发展历史
Scrum起源:
Scrum原始含义:在橄榄球运动中,这个术语指的是在意外犯规或球出界后重新开始比赛。其形式为:两个队的前锋在球前面围成一圈,彼此的胳膊架在一起,低头争夺球权。
Scrum首次应用于产品开发
》1986年
scrum框架的灵感来源:竹内弘高和野中郁次郎在New New Product Development Game 文章首次提到将Scrum应用于产品开发,指出:传统的“接力式”的开发模式已经不能满足快速灵活的市场需求,而整体或者“橄榄球式”的方法——团队作为一个整体前进,在团队内部传球并保持前进,也许可以更好的满足当前激烈的市场竞争。——整体性方法
Scrum首次应用于软件开发
》1993年
Jeff Sutherland在 1993年首次在Easel公司定义了用于了软件开发行业的Scrum流程,并开始实施
》1995年
在OOPSLA 95上公开发布。Jeff Sutherland(萨瑟)和Ken Schwaber(施瓦伯)首次提出了Scrum概念,并规范化了Scrum框架。
》2001年
敏捷宣言及原则发布、敏捷联盟成立,Scrum是其中一种敏捷方法。
》2001年
Ken Schwaber(施瓦伯)和Mike Beedle(麦克·比窦)推出第一本Scrum书籍《Scrum敏捷软件开发》,介绍了Scrum开发
》2002年
Ken Schwaber 和Mike Cohn共同创办了Scrum联盟。
》2005年
英国电信(BT)宣称全面推广敏捷方法,规模达千人,标志着大规模敏捷应用逐渐被接受和认可。
》2006年
Google、MicroSoft、IBM、Amazon、华为等公司在大规模软件开发中开始应用敏捷,掀起敏捷应用热潮。
ThoughtWorks主办第一届敏捷中国大会,正式在中国推广敏捷方法。
》2010年
ThoughtWorks Jez Humble出版《Continuous Delivery: Reliable Software Releases through Build, Test, and Deployment Automation》首次正式提出构建流水线(Build Pipeline)的概念,通过从根本上改变开发团队与运维团队的协作方式,达到敏捷软件交付,创造软件价值。
借鉴文章链接:
http://www.scrumcn.com/agile/scrum-knowledge-library/agile-development.html