跳转到内容

Scrum 与看板对比

对比 Scrum 与 Kanban:时间盒式的 sprint 与持续流动、角色、WIP 限制、指标,以及 East Agile Tracker 基于迭代的看板在两者之间所处的位置。

Scrum 和 Kanban(看板方法)是团队最常拿来比较的两种敏捷方法。两者都让工作可见,也都追求以小块交付。它们的区别在于如何把握工作节奏:Scrum 在固定的时间盒内做规划,Kanban 则持续拉动工作,并限制同一时间在制的工作量。

本页对两者进行比较。关于包括 XP 和 Lean 在内的整个方法家族,请参阅什么是敏捷开发?。

Scrum 把工作组织进 sprint——固定的时间盒,通常为一到四周。每个 sprint 以 sprint 规划会开始,团队在会上挑选预计能完成的工作;以对所构建成果的评审和对团队工作方式的回顾结束。

Scrum 定义了三种角色:

  • Product Owner——掌管产品待办列表及其顺序。
  • Scrum Master——在流程上指导团队并清除障碍。
  • Developers——构建增量。

主要的度量是速率:团队每个 sprint 完成多少工作,并据此制定下一个 sprint 的计划。见什么是速率?。

Kanban 从团队已有的工作流出发。工作项在一块由多列组成的板上移动,各列代表不同阶段(例如 To do → In progress → Review → Done)。这种方法由三个理念支撑:

  • 可视化工作流——每个工作项和每个阶段都在板上。
  • 限制在制品(WIP)——每列都有上限;只有当一项离开时,新的一项才能进入。
  • 管理流动——团队测量工作项耗时多久(周期时间、前置时间),并消除瓶颈。

Kanban 没有时间盒,也不规定角色。规划在队列需要补充时随时进行。

ScrumKanban
节奏固定的 sprint(1–4 周)持续流动
承诺为该 sprint 规划的工作不做批量承诺;有产能时再拉入
角色Product Owner、Scrum Master、Developers无规定
周期中途变更sprint 内不提倡随时可以
限制工作量的方式sprint 的产能每列的 WIP 上限
主要指标速率、燃尽图周期时间、前置时间、吞吐量
板每个 sprint 重置持续存在

总体而言,没有哪一种方法更好。Scrum 适合希望有规律的规划节奏、并依据过往 sprint 做预测的团队,例如按计划发布功能的产品团队。Kanban 适合到来时间难以预料、必须随到随处理的工作,例如支持、运维或维护。

许多团队把两者结合起来(“Scrumban”):既保留规划节奏,也留意在制的工作量。

East Agile Tracker 以迭代为基础,这使它更接近 Scrum 和 eXtreme Programming,而不是 Kanban。对于上面的一些概念,它使用自己的术语:

  • sprint 在这里叫作迭代。 每个项目把迭代长度设为 1–4 周。迭代会自动创建;没有需要开启或关闭的 sprint。见迭代。
  • 待办列表是单一的有序清单。 产品负责人按严格的优先级顺序维护它,Backlog 会根据速率投影出即将到来的迭代。见用户故事与迭代规划。
  • 速率决定计划的大小。 开启自动规划迭代后,当前迭代会填充到你的速率为止,不再多。见规划迭代。
  • 每个故事都带有自己的状态。 故事依次经过 Unstarted → Started → Finished → Delivered → Accepted,状态显示在卡片上,而不是通过在看板列之间移动来表示。见状态机。

这里没有 WIP 限制,也没有不使用迭代的流动模式。被沿用下来的 Kanban 理念是可见性(每个故事及其状态都在同一块看板上)和流动指标:指标页面展示速率趋势、燃尽图,以及在迭代之间结转的故事。