名词百科

什么是敏捷开发 / Scrum?

一句话定义

敏捷开发是一组以短周期迭代、持续交付可用软件为核心的开发方法,Scrum 是其中应用最广的一种框架。它们共同的前提是接受需求会变化。

发布者:黔序科技

它到底是什么

敏捷不是「不写文档」或「加班赶工」的同义词。它的实质是把大块不确定性切成小块:用短期迭代换取反馈频率,让方向在过程中被修正,而不是在项目末期一次性验收。

它和瀑布模型的区别在于对变化的态度。瀑布假设需求在开始时就能定清,按阶段线性推进;敏捷假设需求必然变化,用固定时长的迭代承载变化。业务规则稳定的项目,瀑布未必更差;规则持续演变的项目,瀑布的返工代价极高。

怎么运作的

Scrum 用三个角色、四个会议、三个产物构成一个循环。

角色:产品负责人定优先级(回答「做什么」),Scrum Master 保流程(回答「怎么顺畅地做」),开发团队负责交付。

四个会议:迭代计划会(选定本轮范围)、每日站会(同步阻塞)、评审会(向相关方演示成果)、回顾会(改进流程本身)。四个会各有目的,混在一起就会退化成汇报。

三个产物:产品待办列表(全部需求,按价值排序)、迭代待办列表(本轮承诺)、增量(可运行且可交付的部分)。

核心约束是迭代内范围不变。范围随时可改,迭代就失去意义——它本来就是为了让团队在一段固定时间内专注交付。

容易混的几个概念

  • 瀑布模型:按需求、设计、开发、测试、上线线性推进,每个阶段完成后才进入下一个。
  • 看板(Kanban):限制在制品数量、持续流动,不设固定迭代。适合运维、支持类持续输入的工作。
  • DevOps:关注开发与运维的协作与自动化,和敏捷解决的不是同一个问题。
  • 敏捷 ≠ 快:它提高的是响应变化的速度,不是写代码的速度。

常见问题

小团队也需要 Scrum 吗?

不一定。Scrum 的价值在多人协作时的目标对齐和优先级管理,人少、沟通成本低的团队用看板或简单待办列表往往更轻。套用重型流程反而增加开销。

敏捷是不是不用写文档?

不是。敏捷主张的是「必要的文档」,而不是「详尽的文档」。需求条目、接口约定、部署说明这类长期被引用的内容仍要写;面向一次性沟通的材料可以简化。

A 交付方式 · 同组词条

MVPMVP(Minimum Viable Product,最小可行产品)是用最小功能集验证核心假设的产品形态。它要验证的是「有人愿意为这个解决方案付费」,而不是展示完整的产品构想。SDLCSDLC(Software Development Life Cycle,软件生命周期)是软件从需求产生到退役的完整过程,通常划分为规划、需求、设计、开发、测试、部署、维护七个阶段。买断买断是一次性付费获得软件永久使用权(或含源码)的交付方式;订阅是按周期付费获得使用权的模式。两者的差别在于是否拥有程序副本。驻场开发驻场开发是开发人员到客户现场办公的交付方式,远程协作则是团队分散在不同地点通过网络协同。两者的差别在于沟通密度与知识传递方式。源码交付源码交付是软件开发方把源代码及其相关资产移交给客户的行为。它决定了客户在合同结束后能否自行修改、部署和继续维护系统。技术栈技术栈是构建一个软件系统所使用的一系列技术的组合,通常包括前端框架、后端语言与框架、数据库、中间件、部署环境等层次。开源系统开源系统是源代码公开、允许他人使用、修改和再分发的软件。开源不等于免费,也不等于可以随意商用——具体权限由许可证决定。技术债务技术债务是为了短期交付速度而在代码质量或设计上做出的妥协,它会在后续迭代中以更高的修改成本偿还。这个概念由 Ward Cunningham 提出,借用金融债务的比喻。