敏捷方法倡导:个体和交互胜过过程和工具;可工作的软件胜过面面俱到的文档;客户合作胜过合同谈判;响应变化胜过遵循计划。教材列出的主要敏捷方法及显著特征:
| 方法 | 核心特征(考点原文) | 关键字 |
|---|---|---|
| XP 极限编程 | 由 Kent Beck 提出,"高效、低风险、测试先行(先写测试代码,再编写程序)" | 结对编程、TDD、重构、持续集成、费用控制严格的公司证明有效 |
| 水晶系列方法 | 由 Alistair Cockburn 提出,与 XP 同样以人为中心,但"不同的项目采用不同的策略",用最少纪律约束仍能成功,产出效率不如 XP 但更易被接受 | 以人为中心、最少纪律 |
| 并列争球法 Scrum | "侧重于项目管理";用产品 Backlog(按商业价值排序的需求列表)管理需求;开发分为短迭代周期 Sprint,从 Backlog 挑高优先级需求组成 Sprint Backlog;每次迭代结束交付潜在可交付的产品增量 | Backlog、Sprint、增量交付 |
| FDD 特征驱动开发 | 由 Jeff De Luca 和 Peter Coad 提出,短迭代(一般两周)、可见可用功能;开发人员分类:首席程序员(协调者/设计者/指导者)和"类程序员"(写源码) | 特征短迭代、两类人员 |
| ASD 自适应开发 | 由 Jim Highsmith 提出,核心是三个非线性、重叠的开发阶段:猜测、合作与学习 | 猜测-合作-学习 |
| 开放式源码 | 程序开发人员在地域上分布很广(与其他敏捷强调同地协作不同);突出特点是查错排障(Debug)的高度并行性——任何人可发"补丁"给维护者 | 分布协作、补丁 |