简单来说,敏捷就是敏捷。“敏捷”这个词指的是迅速行动和响应的能力。
更常见的解释是:
敏捷 = 价值观 + 原则 + 一系列符合价值观和原则的方法

这里的价值观,原则,以及方法是什么呢?
在《敏捷开发知识体系》一书中这样写道“敏捷开发知识体系整体框架可分为3 层:核心价值层、敏捷开发方法框架层和敏捷开发实践层。核心价值层主要包括敏捷宣言和12个原则;敏捷开发方法框架层主要包括各种敏捷开发过程框架,包括XP、Scrum、精益开发和OpenUP 等;敏捷开发实践层则主要包括用于指导敏捷开发的各种实践。”
价值观即为敏捷宣言体现的核心价值观
敏捷宣言简体中文版官方网站描述:
敏捷软件开发宣言 我们一直在实践中探寻更好的软件开发方法, 身体力行的同时也帮助他人。由此我们建立了如下价值观:
个体和互动 高于 流程和工具
工作的软件 高于 详尽的文档
客户合作 高于 合同谈判
响应变化 高于 遵循计划
也就是说,尽管右项有其价值,我们更重视左项的价值。
12个原则如下:
敏捷宣言遵循的原则
我们遵循以下原则:
1、我们最重要的目标,是通过持续不断地及早交付有价值的软件使客户满意。
2、欣然面对需求变化,即使在开发后期也一样。为了客户的竞争优势,敏捷过程掌控变化。 3、经常地交付可工作的软件,相隔几星期或一两个月,倾向于采取较短的周期。
4、业务人员和开发人员必须相互合作,项目中的每一天都不例外。
5、激发个体的斗志,以他们为核心搭建项目。提供所需的环境和支援,辅以信任,从而达成目标。
6、不论团队内外,传递信息效果最好效率也最高的方式是面对面的交谈。
7、可工作的软件是进度的首要度量标准。
8、敏捷过程倡导可持续开发。责任人、开发人员和用户要能够共同维持其步调稳定延续。 9、坚持不懈地追求技术卓越和良好设计,敏捷能力由此增强。
10、以简洁为本,它是极力减少不必要工作量的艺术。
11、最好的架构、需求和设计出自自组织团队。
12、团队定期地反思如何能提高成效,并依此调整自身的举止表现。
为什么要采用敏捷开发,从业务目标上来说是因为需要“打造组织更早地交付价值和更灵活地应对变化的能力”。因而,要理解敏捷开发除了理解以上基本的价值观和原则,还要深入思考和理解其业务目标,搞明白当前组织为什么和是否需要“更早的交付价值”和“更灵活应对变化”。
敏捷开发的本质是什么?
常见的说法:“敏捷开发的本质——自组织团队 ”;还有一个意见:“敏捷真正的本质——短迭代”。
2006年,孟岩、朱海艳在程序员2006年第9期发表了《敏捷开发的本质——自组织团队》一文。由于此文章影响较广,因此这个说法得到很多业务人员响应。
张克强在程序员2014年第9期发表了《敏捷真正的本质是什么?》对上文进行了评论。提出了
“敏捷真正的本质——短迭代”这一观点。并在文末的小结这样写道:
回过头来再看Mishkin所说的哪番话,应该说不完全正确。仔细阅读本段和敏文(指敏捷开发的本质一文)全篇其他文字,发现他的原话并没有说自组织团队是敏捷团队的本质,可以合理地推断敏文的标题是两位加上去的。如果当初的标题选择了迭代式开发,即是将标题设为“敏捷开发的本质——短迭代开发”,那么这将是多么正确的标题。
在论述“敏捷真正的本质——短迭代”这一观点时,张克强主要从三个方面进行了说明:
首先,敏捷的特征是短迭代开发。
论文《Agile Processer and Methodologies : A Conceptual Study》中,将迭代列为第一个特征,第二个特征是模块化,第三个特征是时间箱。这三个特征归拢在一起简而言之就是短迭代开发。因此,对比其他软件开发方法,短迭代开发成为区分敏捷开发的本质特征。
其次,敏捷短迭代已在敏捷宣言中得到体现,敏捷价值观第二条说工作的软件胜过详尽的文档。同时,12条原则中的第1、3、7、8条也说明了短迭代的这一特征。
再次,根据2013年度VersionOne公司调查结果反馈“迭代式”是运用最为方法的具体敏捷技术。几乎达97%。
那么,回过头来看一下2006年的访谈的内容,看看难道真的是两位“总结错误”?!
《程序员》:请您解释一下在敏捷方法中最有效的三种实践方式? Mishkin:......要开发软件,最重要的可能是测试驱动开发和迭代式开发。在项目初期,这两种实践是最简单也是最重要的。但是,从长远来看,还有一个实践显得更为重要,那就是自组织的团队。在自组织团队中,管理者不再发号施令,而是让团队自身寻找最佳的工作方式来完成工作。所以,我觉得敏捷方法中最重要的三种实践是测试驱动开发、迭代式开发和自组织团队。
通过以上的内容其实可以看出,在讨论敏捷的本质时,已经是在探讨敏捷开发知识体系整体框架可分为3 层:核心价值层、敏捷开发方法框架层和敏捷开发实践层中的“敏捷开发方法框架层”,敏捷核心价值层表示敏捷是通过其价值观所体现出的一种思想方式,是纯粹的价值观。要深刻的理解和思考敏捷的本质和其开发方法,找到适合自身组织的最佳实践,并让团队从“方法敏捷”到“文化敏捷”,发展成为一个高效的“自组织团队”。
敏捷开发就是要达到让组织更好的交付商业价值、让客户更加满意和缩短产品上市时间。但在初期时,敏捷开发未必能实现这一效果。践行敏捷的初期应注重“短迭代”这一方法,从长远来说成为“自组织团队”,注重从文化和价值观来指导实践更为重要。