8种流行的敏捷方法

敏捷是一个术语,用于描述软件开发的方法,强调增量交付,团队协作,持续计划和持续学习,而不是试图在接近结束时立即交付。

敏捷专注于保持流程的精益,并创建最小的可行产品(MVP),这些产品在任何最终结果之前经历了多次迭代。不断收集和实施反馈,总而言之,这是一个更加动态的过程,每个人都在朝著一个目标努力。

敏捷软件开发

领先的敏捷方法

敏捷是一种思维方式,它是一套价值观和原则。敏捷是一种思考和行动的方式。敏捷就是短周期,迭代和增量交付,快速失败,获得反馈,及早向客户提供业务价值,关于人员,协作和交互。敏捷是一种关于透明度,检查和适应的心态。但是,敏捷不包含任何角色,事件或工件。这是一种心态。例如,Scrum是敏捷伞下广泛使用的框架之一,可以帮助您变得更敏捷,但敏捷运动中有更多的框架,如看板,XP,Crystal等等,如图所示下面:

 

Scrum敏捷伞

敏捷伞

XP

XP(极限编程)的思想源自 Kent Beck和Ward Cunningham在软件项目中的合作经历。XP注重的核心是沟通、简明、反馈和勇气。因为知道计划永远赶不上变化,XP无需开发人员在软件开始初期做 出很多的文档。XP提倡测试先行,为了将以后出现bug的几率降到最低。

SCRUM

SCRUM是一种叠代的增量化过程,用于产品开发或工作管理。它是一种可以集合各种开发实践的经验化过程框架。SCRUM中发布产品的重要性高于一切。

该方法由Ken Schwaber和 Jeff Sutherland 提出,旨在寻求充分发挥面向对象和构件技术的开发方法,是对叠代式面向对象方法的改进。

精益 (Lean)

精益起源于丰田生产系统(TPS),它在20世纪50年代,60年代及以后彻底改变了实物商品的制造。Lean坚持制造业,但也在知识工作中找到了新的应用,帮助所有行业的企业消除浪费,改进流程,促进创新。软件开发是精益方法的自然应用,因为与制造业一样,它通常遵循一个明确的过程,具有一定的接受条件,并导致有形价值的传递。指导精益方法所有实践的关键概念,我们称之为精益支柱。他们是:

  • 连续的提高
  • 尊重人
  • 轻量级领导

看板 (Kanban)

看板是一种高度可视化的工作流管理方法,在精益团队中很受欢迎。事实上,83%的精益生产团队使用看板来可视化并积极管理产品的创建,重点是持续交付,同时不会使开发团队负担过重。与Scrum一样,看板是一个旨在帮助团队更有效地协同工作的流程。

看板基于3个基本原则:

  • 可视化您今天要做的事情(工作流程):查看彼此上下文中的所有项目可以提供非常丰富的信息
  • 限制正在进行的工作量(WIP):这有助于平衡基于流的方法,因此团队无法启动并立即承诺过多的工作
  • 增强流程:当某些内容完成后,积压中的下一个最高优先级项目将被激活

看板通过定义最佳的团队工作流程,促进持续协作并鼓励积极,持续的学习和改进。

Crystal Methods

Crystal Methods(水晶方法族)由Alistair Cockburn在20实际90年代末提出。之所以是个系列,是因为他相信不同类型的项目需要不同的方法。虽然水晶系列不如XP那样的产出效率,但会有更多的人能够接受并遵循它。

FDD

FDD (Feature-Driven Development,特性驱动开发)由Peter Coad、Jeff de Luca 、Eric Lefebvre共同开发,是一套针对中小型软件开发项目的开发模式。此外,FDD是一个模型驱动的快速叠代开发过程,它强调的是简化、实用、 易于被开发团队接受,适用于需求经常变动的项目。

ASD

ASD(Adaptive Software Development,自适应软件开发)由Jim Highsmith在1999年正式提出。ASD强调开发方法的适应性(Adaptive),这一思想来源于复杂系统的混沌理论。ASD不象其他方法那样 有很多具体的实践做法,它更侧重为ASD的重要性提供最根本的基础,并从更高的组织和管理层次来阐述开发方法为什么要具备适应性。

DSDM

DSDM(动态系统开发方法)是众多敏捷开发方法中的一种,它倡导以业务为核心,快速而有效地进行系统开发。实践证明DSDM是成功的敏捷开发方法之一。在英国,由于其在各种规模的软件组织中的成功,它已成为应用最为广泛的快速应用开发方法。

DSDM不但遵循了敏捷方法的原理,而且也适合那些成熟的传统开发方法有坚实基础的软件组织。

 

References

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章