敏捷指南 · 敏捷基础
敏捷方法论的类型:Scrum、Kanban、XP、精益等
“敏捷”涵盖了一系列价值观相同但结构不同的方法。有些方法规定了角色和仪式;另一些只是在您现有的工作方式上增加几条规则。本指南将比较最常见的几种方法,帮助您做出选择。
要点总结
- Scrum 使用冲刺和角色;Kanban 使用流动和 WIP 限制;Scrumban 则将两者结合。
- XP 增加工程实践;精益则在整个系统中消除浪费。
- 根据工作的形态进行选择,然后谨慎调整。
Scrum
工作以固定长度的 冲刺 ,每个冲刺不超过一个月。产品负责人对待办事项列表排序,开发人员构建符合以下标准的增量: 完成的定义,Scrum Master 则帮助团队持续改进。 最适合: 由专职团队进行的产品开发。参见 敏捷与 Scrum.
Kanban
Kanban 在看板上可视化工作,限制在制品(WIP),并持续管理流动。它没有固定迭代或规定角色,因此您可以从现有流程开始并逐步改进。团队跟踪周期时间和吞吐量。 最适合: 支持、运维以及任何持续收到规模不一的请求的团队。
Scrumban
Scrumban 将 Scrum 的规划和评审节奏与 Kanban 的流动和 WIP 限制相结合。团队通常保留定期的规划和回顾,但持续拉取工作,而不是承诺固定的冲刺范围。 最适合: 从 Scrum 转向 Kanban 的团队,或同时处理计划内特性工作与计划外请求的团队。
极限编程(XP)
XP 专注于在需求变化时保持高软件质量的工程实践:结对编程、测试驱动开发、持续集成、小规模发布、重构、代码集体所有权以及可持续的节奏。 最适合: 追求技术卓越的软件团队;通常与 Scrum 结合使用。
精益
精益源自制造业,旨在最大化客户价值并消除浪费,例如等待、交接、返工和未使用的功能。Mary 和 Tom Poppendieck 提出的精益软件开发将这些理念应用于知识工作。 最适合: 在整个组织范围内改善端到端的流动和决策。
Crystal、DSDM 和 FDD
- Crystal (Alistair Cockburn)是一系列根据团队规模和项目关键程度定制的方法,强调人员和沟通。
- DSDM (动态系统开发方法)固定时间、成本和质量,并使用 MoSCoW 优先级排序灵活调整范围:必须有、应该有、可以有、这次不会有。它适合需要更多治理的组织。
- FDD (特性驱动开发)以对客户有价值的小特性为单位进行规划和构建,并在前期进行简短的建模。它适合较大的软件团队。
如何选择
| 如果您的工作…… | 可考虑 |
|---|---|
| 是由专职团队进行的新产品开发 | Scrum |
| 持续且不可预测地到来 | Kanban |
| 既有计划内的功能,也有紧急需求 | Scrumban |
| 需求不断变化且对软件质量要求高 | XP 实践结合 Scrum 或 Kanban |
| 需要在固定截止日期下进行治理 | DSDM 或混合方法 |
| 涉及多个团队 | A 规模化框架 |
常见问题
最流行的敏捷方法论是什么?
Scrum 使用最为广泛,通常与 Kanban 实践相结合。
团队可以混合使用多种敏捷方法论吗?
可以。许多团队在运行 Scrum 的同时采用 XP 工程实践和 Kanban 看板。关键在于每一项实践都要服务于敏捷价值观。
敏捷方法论有多少种?
没有固定的数量。最知名的包括 Scrum、Kanban、Scrumban、极限编程、精益、Crystal、DSDM 和特性驱动开发,以及 SAFe 和 LeSS 等规模化框架。
Scrum 和 Kanban 这两种敏捷方法论有什么区别?
Scrum 以固定长度的冲刺开展工作,具有明确的角色和事件;Kanban 通过 WIP 限制管理持续的工作流,不要求设置角色或迭代。
作为一种敏捷方法论,极限编程(XP)是什么?
一种专注于工程实践的敏捷方法,如结对编程、测试驱动开发、持续集成、重构和小规模发布。它常与 Scrum 结合使用。
作为一种敏捷方法论,精益是什么?
精益源自制造业,旨在通过消除等待、交接和返工等浪费来最大化客户价值。精益软件开发将这些理念应用于知识型工作。
作为敏捷方法论的 DSDM 是什么?
动态系统开发方法,由一个英国联盟于 1994 年创建。它固定时间和成本,让范围灵活调整,并使用 MoSCoW 优先级排序。
作为一种敏捷方法论,特性驱动开发是什么?
由 Jeff De Luca 和 Peter Coad 于 1997 年创立的一种敏捷方法,以对客户有价值的小型特性为单位来规划和构建软件。
哪种敏捷方法论最适合初学者?
Kanban 最容易上手,因为它建立在您现有流程的基础上。Scrum 提供更多结构,一些新团队会觉得这很有帮助。
如何选择敏捷方法论?
观察工作如何到来以及如何交付。由专职团队开展的计划内产品工作适合 Scrum;不可预测的请求适合 Kanban;存在软件质量问题则建议加入 XP 实践。