敏捷开发是软件开发行业的热门词汇之一,它是管理软件开发项目的另外一种方式。它不是一种特定的软件开发方法,而是一组基于敏捷方法中所表达的价值观和原则的方法和实践的统称,解决方案是经过自组织,跨职能的团队之间的协做来发展的。编程
敏捷侧重于保持过程精益,并建立在最终实现以前通过屡次迭代的最小可行产品(MVPs)。反馈被不断地收集和执行,总的来讲,这是一个更加动态的过程,每一个人都朝着一个目标共同努力
-------------------------------------------------------------------------------------**架构
Scrum和其余领先的敏捷方法框架
然而,敏捷并不包含任何角色、事件或工件。例如,Scrum是敏捷保护伞下被普遍使用的框架之一,它能够帮助你变得更加敏捷,然而在敏捷运动中还有更多的框架,如看板、XP、Crystal等,以下图所示:工具
Scrum敏捷伞学习
Scrum测试
Scrum是一个框架,在这个框架中,人们能够解决复杂的适应性问题,同时高效、创造性地交付最高价值的产品。它用于管理软件项目、产品或应用程序开发。它的重点是自适应产品开发策略,其中跨职能团队做为一个单位,在2-4周内(Sprint)达到一个共同的目标。它由价值、工件、角色、仪式、规则和最佳实践组成。spa
Lean设计
精益源自丰田生产系统(TPS),该系统在20世纪50年代、60年代及之后掀起了制造行业的革命。精益技术在制造业中占有一席之地,帮助各行各业消除浪费、改进流程并促进了创新。软件开发是精益方法的天然应用,由于它与制造很是类似,一般遵循一个已定义的过程,有一些已定义的验收条件,并致使有形价值的交付。指导精益方法的全部实践的关键概念,咱们称为精益支柱。他们是:代码规范
看板blog
看板是一种高度可视化的工做流管理方法,在精益团队中很流行。实际上,83%的实践精益的团队使用看板来可视化和积极地管理产品的建立,强调持续的交付,而不是给开发团队增长过多的负担。与Scrum同样,看板是一个旨在帮助团队更有效地协做的过程。
看板基于如下三个基本原则:
看板经过定义最好的团队工做流程,促进持续的协做,鼓励积极的、持续的学习和改进。
动态系统开发方法(DSDM)
DSDM是一个由8个原则、一个生命周期和产品、角色和职责以及一些最佳实践技术组成的框架。这些支持尽早交付战略上一致的业务利益理念,从而为组织提供最佳的投资回报(ROI)。
DSDM是一种将进度和质量优先级置于功能之上的方法,它在一开始就肯定了成本、质量和时间,并使用MoSCoW方法肯定了优先级,该方法将项目分解为四种不一样类型的需求:
有八个原则支持DSDM Atern。这些原则指导团队必须采起的一致的态度和思惟方式,以便尽快交付。
极限编程
最初由Kent Beck描述的极限编程(XP)已经成为最流行、最具争议的敏捷方法之一。XP是一种纪律严明的快速、持续地交付高质量软件的方法。它的目的是在面对客户需求变化时提升软件质量和响应能力。它促进了客户的高度参与,快速的反馈循环,持续的测试,持续的计划,以及紧密的团队合做,以很是频繁的间隔交付工做软件,一般是每1-3周。
该方法的名字来源于将传统软件工程实践的有益元素带到“极端”水平的想法。例如,代码审查被认为是有益的作法。更极端的是,能够经过结对编程的实践来连续检查代码。
最初的XP方法基于四个简单的价值观:简单、沟通、反馈和勇气。
它还有12个配套实践:
极限编程
功能驱动开发(FDD)
功能驱动开发(FDD)是杰夫·德卢卡(Jeff De Luca)1997年为一家大型新加坡银行进行软件开发项目时引入的。它是一种迭代的、增量的软件开发过程,是一种敏捷的软件开发方法。FDD将许多业界公认的最佳实践融合在一块儿。这些实践是从客户重视的价值功能(特性)的角度出发的。它的主要目的是及时地重复交付有形的、可工做的软件。使用FDD的优点在于,它甚至能够扩展到大型团队,由于它的概念是“刚开始就足够的设计”(JEDI)。因为它以功能为中心,所以它是保持对敏捷,增量和固有复杂项目的控制的绝佳解决方案。它包含五个基本活动:
功能驱动开发(FDD)
每一个项目都有本身独特的模型,这将产生一个独特的功能列表。最后三个活动是简短的迭代过程,其特性的构建时间不会超过两周。若是要花费两周以上的时间,则必须将其分解为较小的功能。
Crystal
Crystal方法是由Alistair Cockburn在90年代中期开发的一个方法论系列Crystal系列)。这些方法来自于Cockburn多年的研究和对团队的访谈。Cockburn的研究代表,他采访的团队没有遵循正式的方法论,可是他们仍然交付了成功的项目。Crystal系列是Cockburn对他们所作的使项目成功的事情进行分类的方式。方法论重点包括:
通信技术
敏捷方法
“敏捷”一词是2001年在《敏捷宣言》中提出的。宣言旨在创建指导更好的软件开发方法的原则。敏捷宣言由4个重要的价值观组成。阅读敏捷宣言的方式并非说右边的项目已经没有价值了,而是敏捷运动更加剧视左边的项目。
敏捷方法
让咱们看一下敏捷方法的第一行。这句话代表,咱们重视人员的互动,沟通和协做,而不是拥有各类各样的普遍的流程和工具。固然,程和工具颇有价值,可是,若是它们可以真正地支持人们一块儿工做并交付出色的产品,那么它们就更有价值。咱们如今在许多组织中看到的是,流程和工具自己就是目标。从敏捷的角度来看,咱们对它的指望是不一样的。过程和工具应该支持人们一块儿工做并向客户交付价值。
敏捷方法原则
做为敏捷方法的补充,敏捷联盟还定义了12条基本原则,除了敏捷方法以外,这些原则还提供了指导和更详细的解释。
敏捷方法原则