Scrum vs. Kanban:哪种敏捷框架更好?

了解 Scrum 和 Kanban 之间的区别,以及哪一个可能最适合您的团队。
245 位读者喜欢此文。
Team checklist and to dos

因为 Scrum 和 Kanban 都属于敏捷框架,所以很多人会混淆它们,或者认为它们是同一件事。但是,它们之间存在差异。首先,Scrum 更适用于软件开发团队,而 Kanban 则被许多类型的团队使用,并且侧重于提供敏捷团队工作流程的可视化表示。有人认为 Kanban 是关于完成事情,而 Scrum 是关于讨论如何完成事情。

历史课程

在我们深入了解 Scrum 和 Kanban 之前,让我们先谈谈历史。在 Scrum、Kanban 和敏捷之前,存在瀑布模型。它在 80 年代和 90 年代很流行,尤其是在土木和机械工程中,因为这些领域的变更很少,设计通常保持不变。它被应用于软件开发,但未能很好地转化为该领域,结果很少有人期望或想要的结果。

2001 年,敏捷宣言作为一种替代方案出现,以克服瀑布模型的问题。《宣言》概述了敏捷原则和信念,包括更短的交付周期、开放式沟通、更轻量级的流程、持续培训以及适应变化。当涉及到软件开发实践和团队时,这些原则就有了自己的生命力。在出现不规则性、错误或客户不满意的情况下,敏捷使开发团队能够快速进行更改,并且软件发布速度更快,质量更高。

什么是敏捷?

敏捷框架(或简称敏捷)是几种迭代和增量软件开发方法的总称,例如 Kanban 和 Scrum。Kanban 和 Scrum 本身也被认为是敏捷框架。正如 Mendix 解释道

"虽然每种敏捷方法类型都有其独特的品质,但它们在创建应用程序时都包含迭代开发和持续反馈的元素。任何敏捷开发项目都涉及持续的计划、持续的测试、持续的集成以及项目和敏捷框架产生的应用程序的其他形式的持续开发。"

什么是看板?

Kanban 是日语中“可视化信号”的意思。它也是一种敏捷框架或工作管理系统,被认为是一种强大的项目管理工具。

看板(例如 Wekan,一个开源的看板应用程序)是一种通过一系列固定步骤管理产品创建的可视化方法。它强调持续流动,并被设计为在板上的列中显示的一系列阶段。看板的开头有一个等待或待办事项阶段,并且可能有一些进度阶段,例如测试、开发、已完成或已放弃。

Wekan kanban board

每个任务或项目的一部分都用一张卡片表示,并且这些卡片会随着它们在各个阶段中的进展而在板上移动。卡片的当前阶段必须完成,然后才能将其移动到下一个阶段。

Kanban 的其他功能包括颜色编码(用于以可视方式识别不同的阶段或任务类型)和在制品 (WIP) 限制(用于限制工作流程的不同阶段中允许的最大工作项数)。

Wekan 类似于 Trello(一个专有的 Kanban 应用程序)。它是 各种数字 Kanban 工具之一。团队也可以使用传统的 Kanban 方法:墙壁、板子或一大张纸,上面贴着不同颜色的便签,用于各种任务。无论您使用哪种方法,其理念都是有效地、高效地和持续地应用敏捷。

总而言之,Kanban 和 Wekan 提供了一种简单、图形化的方式来监控进度、分担责任和缓解瓶颈。这是一项团队努力,以确保最终产品以高质量创建并令客户满意。

什么是 Scrum?

Scrum 通常涉及每日站立会议和迭代,包括迭代计划、迭代评审和回顾会议。每天都有 Scrum 会议,并进行为期两到四周的迭代(将代码投入生产),目标是在每次迭代后创建一个可交付的产品。

team_meeting_at_board.png

每日站立会议允许团队成员分享进展。(图片来源:Andrea Truong)

Scrum 团队通常由 Scrum Master、产品负责人和开发团队组成。所有人必须同步运作,才能以快速、高效、经济的方式生产出高质量的软件产品,并让客户满意。

哪一个更好:Scrum 还是 Kanban?

有了这些背景知识,我们剩下的重要问题是:哪种敏捷框架更优越,Kanban 还是 Scrum?嗯,这取决于情况。这当然不是一个简单或容易的选择,并且这两种方法都不是天生优越的,但是考虑到组织的状态、团队的组成、要生产的产品或服务,一种方法可能比另一种方法更有价值。在某些情况下,甚至将 Kanban 和 Scrum 结合使用(如果你愿意,可以称为 Scrumban)也是一个有效的选择。

软件开发团队通常使用 Scrum,因为它被发现在软件生命周期过程中非常有用。

Kanban 可以被所有类型的团队使用 - IT、市场营销、人力资源、转型、制造、医疗保健、金融等。其核心价值观是持续的工作流程、持续的反馈、持续的变更,并充分搅拌直到达到所需的质量和一致性或创建可交付的产品。团队从待办事项清单开始工作,直到所有任务都完成。通常,成员会根据他们的专业知识或专业领域选择任务,但团队必须小心不要过度专业化,从而降低其有效性。

结论

Scrum 和 Kanban 敏捷框架都有其用武之地,它们的效用取决于团队的组成、要交付的产品或服务、项目的需求或范围以及组织文化。将会进行反复试验,尤其是对于新团队。

Scrum 和 Kanban 都是迭代工作系统,它们依赖于流程,并旨在减少浪费。无论您的团队选择哪种框架,您都将成为赢家。这两种框架现在都很有价值,并且在未来一段时间内可能也会如此。

标签
User profile image.
Taz Brown 是 Cisco Systems 的高级技术 Scrum Master 和敏捷专家,也是与 DevOps 和软件开发团队合作的产品经理。她是一位热心的作家和演讲者,在 Scrum、敏捷、数字产品管理、Linux 系统工程、DevOps 解决方案的管理和部署方面拥有多元化的背景。

4 条评论

不错的总结,谢谢。
我想听到的另一件事是,哪种类型的软件开发项目(产品类型)更适合 Scrum 或 Kanban。我认为我看到很多文献暗示 Scrum 非常适合 Web 应用程序等项目,在这些项目中,我们可以逐步改进产品并控制其测试/批准方式。但是 Scrum 似乎不太适合其他类型的软件交付……很想听听人们对此的看法。

我倾向于更喜欢 Kanban,但我通常看到管理层不喜欢它,因为它在增量交付周期中不够严格……就像,管理者似乎喜欢 Scrum 迭代,因为在 2 周结束时,您知道您拥有什么或没有……而且这种时间盒式方法并不适用于每种软件产品和发布周期。

这里在很多层面上都呈现了不正确的信息。我们这些参与敏捷发展的人都知道,这是一种组织和人们所处的状态,而不是他们所做的事情。没有敏捷保护伞,Kanban 是一种工作流程管理流程,而不是产品开发框架(Scrum 就是)。两者都不是一种方法(这就是我们一开始陷入困境的原因)。

《宣言》从未规定敏捷是一种特定的工作或开发方式。根据定义,敏捷是价值观和原则的集合,现在已超越软件开发,渗透到整个组织。这就是现代敏捷。

Tom,我相信我在文章中确实说过 Scrum 和 Kanban 是框架。我区分了 Scrum 和 Kanban 之间的区别,当然提到了 Scrum 用于开发团队或 SDLC 流程中。您可以随意撰写文章来表达您的观点,但这是我的观点。我对《宣言》的理解是我的看法,我不认为它像您所说的那样完全不正确。所以我不赞同“这里在很多层面上都呈现了不正确的信息”。

回复 作者 Tom Mellor (未验证)

不错

Creative Commons License本作品采用 Creative Commons Attribution-Share Alike 4.0 International License 授权。
© . All rights reserved.