Scrum
1986年,竹内弘高和野中郁次郎阐述了一种新的整体性的方法 ,该方法能够提高商业新产品开发的速度和灵活性:
他们将这种新的整体性方法与橄榄球相比较,前者各阶段相互重叠,并且由一个跨职能团队在不同的阶段完成整个过程,而团队“作为一个整体前进,把球传来传去”。
他们对来自汽车,照片机器,计算机和打印机等产业的案例进行了研究。
1991年,DeGrace和Stahl在《Wicked Problems, Righteous Solutions》一书中将这种方法称为scrum,在竹内弘高和野中郁次郎的文章中提到的橄榄球术语。
1990年代初,Ken Schwaber在其公司使用了一种方法Advanced Development Methods(先进开发方法),这种方法后来发展为Scrum。
1993,Jeff Sutherland 在Easel公司开发了一种类似的方法,并首次称之为Scrum。
1995年,在奥斯汀举办的OOPSLA ’95上,Jeff Sutherland 和Ken Schwaber联合发表了论文首次提出了Scrum概念。Ken Schwaber和Jeff Sutherland 在接下的几年里合作,将上述的文章,他们的经验,以及业界的最佳实践融合起来,形成我们现在所知的Scrum。
2001年,Ken Schwaber与Mike Beedle合著了《敏捷软件开发-使用Scrum过程》一书,介绍了Scrum方法。
2001年,Jeff Sutherland和Ken Schwaber参与了犹他州的17人聚会,参与发布了《敏捷宣言和十二原则》。
2002年,Ken Schwaber和Mike Cohn创办了Scrum Alliance。
敏捷
敏捷一词来源于2001年初美国犹他州雪鸟滑雪胜地的一次敏捷方法发起者和实践者(他们发起组成了敏捷联盟)的聚会。
迭代和增量开发方法最早可以追溯到二十世纪三十年代非软件项目。
二十世纪六十年代美国航天局水星计划使用了一些极限编程和测试先行的防范。
在二十世纪九十年代,各种各种轻量级软件开发方法纷纷被提出,其中包括:
1991: RAD (rapid application development)
1994: UP (unified process) 和 DSDM(dynamic systems development method).
1995: Scrum
1996: Crystal Clear & XP(extreme programming)
1997: FDD (feature-driven development)
2001年,17位软件开发者齐聚在美国的犹他州的雪鸟(snowbird),讨论上述轻量级的软件开发方法,并写下了敏捷软件开发宣言。
敏捷宣言:
个体和互动 高于 流程和工具
工作的软件 高于 详尽的文档
客户合作 高于 合同谈判
响应变化 高于 遵循计划
也就是说,尽管右项有其价值,
我们更重视左项的价值。
敏捷宣言12原则:
我们最重要的目标,是通过及早和持续不断地交付有价值的软件使客户满意。
欣然面对需求变化,即使在开发后期也一样。为了客户的竞争优势,敏捷过程掌控变化。
经常地交付可工作的软件,相隔几星期或一两个月,倾向于采取较短的周期。
业务人员和开发人员必须相互合作,项目中的每一天都不例外。
激发个体的斗志,以他们为核心搭建项目。提供所需的环境和支援,辅以信任,从而达成目标。
不论团队内外,传递信息效果最好效率也最高的方式是面对面的交谈。
可工作的软件是进度的首要度量标准。
敏捷过程倡导可持续开发。责任人、开发人员和用户要能够共同维持其步调稳定延续。
坚持不懈地追求技术卓越和良好设计,敏捷能力由此增强。
以简洁为本,它是极力减少不必要工作量的艺术。
最好的架构、需求和设计出自自组织团队。
团队定期地反思如何能提高成效,并依此调整自身的行为表现。