1.敏捷开发的历史
2.敏捷宣言2.1敏捷软件开发的价值观2.1敏捷软件开发的原则
3.敏捷开发概述3.1迭代, 增量和演进3.2高效的面对面的沟通3.3非常短的反馈循环和适应性周期3.4关注质量
4.敏捷哲学4.1适应性与预测性4.2迭代与瀑布4.3代码与文档
5敏捷软件开发方法5.1敏捷软件开发实践5.2方法剪裁5.3大规模敏捷,外包开发和分布式团队5.4受管制的领域
6.经验和实施6.1常见的敏捷软件开发陷阱6.2衡量敏捷性
7.敏捷管理7.1.运用于软件开发以外的场景
8.批评9.参考10.进一步阅读11.外部链接迭代和增量式软件开发方法可以追溯到1957年。[7]进化项目管理[8] [9]和自适应软件开发[10]出现在70年代初期。在二十世纪九十年代,一些轻量级的软件开发方法是针对批评者描述为严格管理,计划和微观管理的流行重量级方法而发展的。这些包括:从1991年开始,快速应用程序开发 ; [11] [12]从1994年,统一的过程和动态系统开发方法(DSDM); 从1995年起,Scrum ; 从1996年开始,Crystal Clear和极限编程(XP); 从1997年开始,功能驱动开发。虽然这些源于“敏捷软件开发宣言 ”发布之前,但它们被统称为敏捷软件开发方法。[3]与此同时,制造业[13]和航空航天业正在发生类似的变化。[14]
在2001年,17位软件开发人员在犹他州的Snowbird度假村会面,讨论了这些轻量级开发方法,其中包括Jeff Sutherland,Ken Schwaber和Alistair Cockburn。他们一起发布了“敏捷软件开发宣言”。[5]
在2005年,由为首的一批阿利斯泰尔·科克本和吉姆·海史密斯写的附录项目管理的原则,相互依存的宣言,[15]根据敏捷软件开发方法来指导软件项目管理。
2009年,罗伯特·C·马丁(Robert C Martin)的一个运动写了一个软件开发原则的扩展,即软件工艺宣言,指导敏捷软件开发根据专业的行为和掌握。
在2011年,敏捷联盟创建了敏捷实践指南(2016年更名为“敏捷词汇”),[16]敏捷实践,术语和元素工作定义的演化开放式汇编,以及来自敏捷实践的解释和经验指南敏捷从业者的全球社区。