在创建敏捷宣言时,有不少“轻量级”开发流程;此后出现了其他此类方法。它们现在统称为“敏捷”方法。
- 敏捷是一种思维方式和行为方式。
- 敏捷是一种心态,是一套价值观和原则。
- 敏捷是关于短周期、迭代和增量交付、快速失败、获得反馈、尽早向客户交付业务价值以及人员、协作和交互。
敏捷是一种思考透明度、检查和适应的方式。但是,敏捷不包含任何角色、事件或工件。这是一种心态。
例如
Scrum 是敏捷方法下广泛使用的框架之一。
它可以帮助你变得更加一个GILE,但也有更多的框架,敏捷运动,如看板,XP,水晶等,如图下图:
1. Scrum
这是一种非常流行的方法,它借用了足球scrum的名称并将其用作以下隐喻:
- 每日站立会议,
- Scrum 的迭代很短。每次迭代都专注于交付由 Scrum 团队开发的工作软件,
- Sprint和产品有严格的优先级“积压”,并且
- 分配了“产品所有者”角色来设置优先级。
- 维护敏捷最佳实践的“ Scrum Master ”
2.极限编程(XP)
XP是一套工程实践。开发人员必须超越他们的能力来实施这些实践。团队计划少量工作并在短时间内构建,称为 1-4 周迭代。
XP 与其他迭代框架的主要区别在于 XP 侧重于需要达到极端水平的软件工程实践。例如,XP 将代码审查视为极端,并鼓励通过结对编程 100% 的时间进行同行审查。
3. 快速应用程序开发 (RAD)
Rap不仅是一系列敏捷迭代方法的总称,也是 James Martin (1991) 所描述的一种方法。Rad 负责分析、设计、构建和测试阶段,并迭代开发原型和增加功能的版本。
4. 动态系统开发方法(DSDM)
DSDM 是一种敏捷的软件开发方法。它是一种迭代和增量方法,主要基于快速应用程序开发(RAD)方法。
然而,RAD 方法通常是非结构化的,并且 rad 团队之间没有共同的流程。因此,每个组织都建立了自己的方法和框架,标准也各不相同,因此很难招募到有经验的 rad 从业人员。为了解决这个问题,DSDM应运而生。
该方法提供了一个四阶段的框架,包括:
- 可行性和商业研究
- 功能模型/原型迭代
- 设计和构建迭代
- 执行
5.统一流程(UP)
Up是一个迭代和增量框架,具有多种实现,包括 RUP、Open-UP 和 Agile-UP。一个高度可定制的框架,具有以架构为中心和以风险为中心的 rad 方法。UP的每个阶段被称为初始阶段、细化阶段、构建阶段和过渡阶段,每个阶段都有不同的侧重点。
6. 精益方法
精益起源于 1970 年代的制造业。Mary 和 Tom Popendieck (2003) 在他们的《精益软件开发》一书中将精益原则应用于软件开发。精益专注于为客户提供价值并消除流程中的浪费。
7. 看板
看板:一种起源于精益制造的方法,由 David Anderson (2010) 进一步发展。看板基于工作流可视化,通常在物理板上,解决导致问题的问题,限制团队正在进行的工作并平衡对团队的需求。
概括
敏捷开发是软件开发行业的热词之一。这是管理软件开发项目的一种不同方式。它不是特定的软件开发方法,而是基于敏捷宣言中表达的价值观和原则的一组方法和实践的总称。解决方案是通过自组织、跨职能团队之间的协作,使用适合其环境的适当实践来开发的。
今天还有许多其他的敏捷方法在使用。这包括scrumban、crystal、BDD、TDD、FDD等混合方法,以及各家公司开发的许多内部定制。