敏捷开发,在百度上这样介绍的:

敏捷软件开发(英语:Agile software development),又称敏捷开发,是一种从1990年代开始逐渐引起广泛关注的新型软件开发方法,是一种能应对快速变化需求的软件开发能力。它们的具体名称、理念、过程、术语都不尽相同,相对于“非敏捷”,更强调程序员团队与业务专家之间的紧密协作、面对面的沟通(认为比书面的文档更有效)、频繁交付新的软件版本、紧凑而自我组织型的团队、能够很好地适应需求变化的代码编写和团队组织方法,也更注重软件开发过程中人的作用。

敏捷开发宣言如下:

  • 个人和他们之间的交流胜过了开发过程和工具。
  • 可运行的软件胜过了宽泛的文档。
  • 客户合作胜过了合作谈判。
  • 对变更的良好响应胜过了按部就班地遵循计划。

敏捷原则如下:

  • 我们最优先要做的是通过尽早、持续交付有价值的软件来使客户满意。
  • 即使是开发的后期,也欢迎需求变更。敏捷过程利用变更为客户创造竞争优势。
  • 经常交付可运行的软件,交付的间隔可以从几个星期到几个月,交付的时间间隔越短越好。
  • 在整个项目开发期间,业务人员和开发人员必须天天都在一起工作。
  • 围绕有积极性的个人构建项目。给他们提供所需的环境和支持,并且信任他们能够完成工作。
  • 在团队内部,最富有效果和效率的信息传递方法是面对面交谈。
  • 可运行软件是进度的首要度量标准。
  • 敏捷过程提倡可持续的开发速度。负责人、开发者和用户应该能够长期保持稳定的开发速度。
  • 不断地关注优秀的技能和好的设计会增强敏捷能力。
  • 简单——使不必做的工作最大化的艺术——是必要的。
  • 最好的架构、需求和设计出自于自组织团队。
  • 每隔一定时间,团队会反省如何才能更有效地工作,并相应调整自己的行为。

首先需要明确,敏捷开发不是一个具体的框架或者过程,也不是软件开发的具体方法,而是一种价值观和原则,因此敏捷开发是不可模仿的。每个不同的团队都会在开发软件的工程中根据敏捷开发的价值观和原则去做适合自己团队的决策。

敏捷开发是一个不断迭代的过程,需要具有极强的适应性,简洁性和完整性。敏捷团队也需要是一个高度自主的团队,团队中不会存在“打酱油”这种人,团队中每个人都有极强的个人能力,同时,他们每个人还必须具备良好的沟通合作能力。在做决策时,每个团队都要遵循敏捷开发的价值观和原则,而不是去模仿其他的团队,即:“他们怎么做不重要,重要的是明白他们为什么这么做”。