什么是Scrum?

它是一个通过适应性解决方案生成价值的框架。

🔍

定义

Scrum 是一个敏捷框架(Agile Framework),旨在通过迭代和增量的方式开发适应复杂问题的解决方案,强调团队合作和适应变化的需求来持续交付价值。Scrum 由 Jeff Sutherland 和 Ken Schwaber 在1990年代初期创建,是目前全球最广泛使用的敏捷框架。

根据2024年 State of Agile 报告,约87%的敏捷团队使用 Scrum 或其某种变体。Scrum 不仅应用于软件开发,还被广泛应用于市场营销、教育、建筑和科学研究等领域。

🤝

合作

Scrum 旨在促进团队的自我组织能力(Self-Organization)和快速决策能力,以应对复杂和不断变化的需求。该框架基于一个核心原则:最接近工作的团队最了解如何完成工作。

Scrum 中的协作体现在多个方面:

  • 完全透明 — 所有团队成员可以随时查看进展情况
  • 每日沟通 — 通过 Daily Scrum(每日站会)保持同步
  • 共同工作 — 团队一起计划、执行和检查
  • 利益相关者参与 — 通过 Sprint Review 获取反馈

Harvard Business Review 的研究发现,实施 Scrum 的团队报告生产力提高了25%,客户满意度提高了35%。

📈

增量迭代焦点

解决方案范围通过 "Sprint" 来处理——这是最长一个月的固定时间周期(通常为2周),每次迭代产生一个可交付的产品增量(Increment)。这种方法带来以下优势:

  1. 快速反馈 — 客户在每个 Sprint 结束后可以看到成果并提供实时反馈
  2. 降低风险 — 问题在早期被发现并在扩大前得到修复
  3. 灵活性 — 可以在 Sprint 之间根据新需求调整方向
  4. 早期价值 — 最重要的功能优先开发

每个 Sprint 以 Sprint Planning 开始,以 Sprint Review 和 Sprint Retrospective 结束。这个周期不断重复,直到产品达到所需水平或项目结束。

🎯

专注于价值

Scrum 优先交付客户最需要的最高价值特性,根据 Product OwnerProduct Backlog 中的排序。这种方法被称为"价值驱动交付"(Value-Driven Delivery),确保资源得到最优分配。

Product Owner 负责:

  • 管理 Product Backlog — 按业务价值对项目进行优先排序
  • 定义产品愿景 — 确保团队理解整体目标
  • 做出决策 — 批准或拒绝工作成果
  • 与利益相关者沟通 — 在团队与客户和组织之间架起桥梁
🧭

Scrum 角色

Scrum 定义了三个核心角色(Accountabilities):

Scrum Master

Scrum Master 是服务型领导(Servant Leader),负责:

  • 确保团队遵守 Scrum 的实践和规则
  • 消除阻碍团队的障碍(Impediments)
  • 指导团队和组织采用 Scrum 方法
  • 促进 Scrum 事件的顺利进行

Product Owner

Product Owner 定义产品需求并管理 Product Backlog。他们代表客户的声音,确保团队专注于正确的事情。

Developers

开发人员(Developers)是负责实现解决方案的专业人员。他们是一个3-9人的跨职能团队(Cross-functional),自组织地完成 Sprint 目标。

📝

Scrum 工件

Scrum 的工件(Artifacts)提供透明度和关键信息:

Product Backlog

一个有序列表,包含产品所需的所有内容。每个项目包括描述、估算和业务价值。Product Backlog 是"活"的,不断变化。

承诺: Product Goal — 产品的长期目标。

Sprint Backlog

从 Product Backlog 中为当前 Sprint 选择的项目集合,以及执行计划。Sprint Backlog 属于开发团队。

承诺: Sprint Goal — Sprint 的定义目标。

Increment(增量)

已完成项目的集合,符合完成定义(Definition of Done)。每个 Increment 是之前所有 Increment 的累加,并且随时可以发布。

承诺: Definition of Done — 项目必须满足的标准才能被视为"完成"。

🕒

Scrum 事件

Scrum 定义了五个正式事件,创造规律性并减少非计划会议的需要:

Sprint

固定时间周期(Time-box)的工作循环,最长一个月。Sprint 是所有其他事件的容器。

Sprint Planning

每个 Sprint 开始时的计划会议(一个月 Sprint 最多8小时)。团队决定:

  • 做什么 — 从 Product Backlog 中选择哪些项目
  • 为什么 — Sprint Goal 是什么
  • 怎么做 — 工作将如何完成

Daily Scrum

开发团队每天15分钟的会议,用于协调和计划当天的工作。这不是状态汇报,而是快速识别问题和协调的工具。

Sprint Review

Sprint 结束时向利益相关者展示成果并获取反馈的会议。这是协作性事件,不是单向演示。

Sprint Retrospective

Sprint 结束时团队审视自己的流程并识别改进机会的会议。这是 Scrum 中最重要的持续改进事件之一,体现了 Kaizen(改善)的精神。

💡

Scrum 价值观

Scrum 基于五个核心价值观:

  1. 承诺(Commitment) — 团队承诺实现 Sprint 目标并相互支持
  2. 勇气(Courage) — 团队成员勇于面对困难问题
  3. 专注(Focus) — 团队专注于 Sprint 工作和既定目标
  4. 开放(Openness) — 对工作和面临的挑战保持透明
  5. 尊重(Respect) — 团队成员互相尊重,视对方为有能力的专业人士

这些价值观创造了一个信任和协作的环境,是 Scrum 成功的基础。

🏛

Scrum 支柱

Scrum 基于三个经验主义支柱(Empirical Pillars):

透明度(Transparency)

流程和工作必须对所有参与者可见。没有透明度,就无法有效地进行检查和适应。看板是实现透明度的常用工具。

检查(Inspection)

定期检查工件和进展,以发现偏差和问题。Scrum 事件提供了定期检查的机会。

适应(Adaptation)

当发现偏差时,团队尽快调整流程或产品,防止进一步偏离。

📊

Scrum 与其他方法论的对比

标准 Scrum Kanban 瀑布模型
方法 迭代式 持续流 顺序式
角色 明确定义(SM、PO、Dev) 无固定角色 项目经理
计划 Sprint Planning 按需 预先详细计划
变更 在 Sprint 之间 随时 困难且昂贵
交付 每个 Sprint 持续 项目结束时

常见问题(FAQ)

Scrum 和 Agile 有什么区别?

Agile(敏捷)是一种广泛的哲学,而 Scrum 是实现敏捷原则的特定框架(Framework)。Scrum 是最流行的敏捷框架之一,但不是唯一的。

一个 Sprint 持续多长时间?

Sprint 最长一个月,但大多数团队使用两周的 Sprint。Sprint 的长度由团队决定,并在一段时间内保持不变。

Scrum 只适用于软件开发吗?

不是。Scrum 已经成功应用于市场营销、人力资源、教育、建筑、研究等众多领域。透明度、检查和适应的原则适用于任何复杂项目。

如果 Sprint Goal 没有实现怎么办?

如果 Sprint 目标未达成,团队在 Sprint Retrospective 中讨论并找出可以改进的地方。Sprint 不会延长——未完成的项目返回 Product Backlog。

可以将 Scrum 与 Kanban 结合使用吗?

可以!"Scrumban" 是一种流行的组合方式,使用 Scrum 的结构和 Kanban 的实践,如限制在制品(WIP)和关注流动。

📘

Scrum 指南

Scrum 指南提供了敏捷框架的基本和实用理解,格式易于获取。最新版本(2020年)使 Scrum 更加简洁、更少规定性,并添加了 Product Goal 和 Sprint Goal 等概念。免费下载 Scrum 指南

🔗

相关链接

  • Sprint — Scrum 的基本工作周期
  • Product Owner — 定义产品价值的角色
  • Scrum Master — 促进 Scrum 实践的服务型领导
  • Backlog — 优先排序的需求列表
  • Kanban — 工作流管理的替代方法
  • DevOps — 开发与运维的结合
  • CI/CD — 持续集成与持续交付
🍄

Vill du veta mer?

Om du vill fördjupa dig i Scrum —eller ta den här typen av utbildning till ditt team— låt oss prata. Jag hjälper team att förstå och tillämpa dessa begrepp. Jag vill gärna höra från dig!