ScholarGate
助手

敏捷软件开发

敏捷软件开发是一系列迭代的、增量的开发方法,它优先考虑可工作的软件、客户协作和快速响应变化,而非全面的前期规划和文档。

用 PaperMind 寻找选题即将推出Find papers & topics
Tools & resources
下载幻灯片
Learn & explore
视频即将推出

Definition

敏捷软件开发是一种方法,其中需求和解决方案通过跨职能团队的短时、固定周期的迭代演进,这些团队交付可工作的增量并持续整合利益相关者的反馈。

Scope

本主题涵盖敏捷宣言的价值观和原则;具体的框架,如Scrum、极限编程(XP)和看板(Kanban);实践,包括短迭代、持续反馈、测试驱动开发、结对编程、重构和频繁发布;以及构成敏捷团队的角色、仪式和工件。

Core questions

  • 敏捷方法与计划驱动的开发有何区别?
  • Scrum和XP等框架如何组织迭代、角色和反馈?
  • 哪些工程实践使得频繁、可靠的交付成为可能?
  • 敏捷方法何时以及如何有效地扩展到大型或分布式组织?

Key theories

敏捷宣言价值观
四项价值观声明优先考虑个体和互动、可工作的软件、客户协作以及响应变化,并有十二项支持原则强调早期和持续交付以及欢迎不断变化的需求。
Scrum框架
Scrum将工作组织成固定长度的冲刺,具有明确的角色(产品负责人、Scrum主管、开发人员)、工件(产品和冲刺待办事项列表、增量)和事件(冲刺规划、每日Scrum、评审、回顾),以增量方式交付价值。
极限编程实践
XP将短迭代与严格的工程实践相结合,例如测试驱动开发、结对编程、持续集成、集体所有权和重构,以保持变更成本低廉。

Clinical relevance

敏捷方法现在是商业软件领域的主导方法,提高了对市场变化的响应能力,并实现了频繁的价值交付;其有效性取决于工程纪律、团队赋权和反馈文化,而不仅仅是仪式本身。

Evidence & guidelines

《Scrum指南》提供了Scrum框架的广泛采用定义,而《敏捷宣言》仍然是敏捷价值观的基础声明;SAFe和LeSS等规模化框架将敏捷实践扩展到大型组织。

History

Scrum和XP等轻量级方法在20世纪90年代出现,以应对重量级、文档驱动的流程。2001年,十七位实践者发布了《敏捷宣言》,将这些方法统一在共同的价值观之下;敏捷随后成为主流,并在2010年代催生了规模化框架。

Debates

敏捷在大型组织中的规模化应用
敏捷原则在通过SAFe等框架进行规模化时是否能保持其优势存在争议;批评者认为重量级规模化会重新引入官僚主义,而支持者则认为结构化协调对于大型企业是必要的。

Key figures

  • Kent Beck
  • Ken Schwaber
  • Jeff Sutherland
  • Martin Fowler
  • Alistair Cockburn

Related topics

Seminal works

  • beck2001
  • beck2004
  • schwaber2020

Frequently asked questions

敏捷是否与严格的工程实践相对立?
不是。有效的敏捷严重依赖于工程纪律,例如自动化测试、持续集成和重构;敏捷的重点是快速适应变化,而不是放弃严谨性。
Scrum和敏捷有什么区别?
敏捷是一套广泛的价值观和原则;Scrum是实现这些价值观和原则的特定框架,具有特定的角色、事件和工件。XP和看板是其他具有不同侧重点的敏捷框架。

Methods for this concept

Related concepts