敏捷软件开发之 Kanban 101

2021-01-08  本文已影响0人  anOnion

What's Kanban

Kanban,源自日语“看板”(冷知识:Kanban 和汉语拼音一致),是由日本丰田公司的工程师大野大一于 1940 年发明的一套及时管理模式(Just In Time, JIT)。JIT 的核心理念是:

让正确的物资,在正确的时间,流动到正确的地方,数量是刚刚好的数量

Toyota

在敏捷软件开发流行后,工程管理人员也将 Kanban 引入到了软件开发当中,成为了与 Scrum 比肩的一套通用实现模式。虽然现代版 Kanban 比当年丰田几只木架、几张贴纸丰富得多,但是主要功能还是还是这么几点:

Basic

Kanban 的基本组成其实非常简单:一块看板,一个泳道图和几张贴纸:

Kanban Basic

Kanban vs. Scrum

OK,上文提到了另一种敏捷软件开发模式 Scrum,它也常常给我们呈现一幅贴纸卡片板的形象。那 Scrum 和 Kanban 有什么区别呢?

Role

角色分配是它们俩最直观的区别。Scrum 有三个最基本的角色扮演:

相比之下,Kanban 更简洁,没有强制的角色分配,要求每个团队成员自发地履行执行监督的职能。当然,现实中保证会有一个领导干部的啦,不过存在感稍弱于 Scrum,还常常亲自参与干活。

Workflow

工作流程上也有很大的区别,Scrum 是基于迭代周期(Sprint)执行的,所以强调“按时完工”;而 Kanban 更关注最大 WIP,所以不强调时间结点。

Kanban 和 Scrum 的管理工具都是白板+贴纸的组合,主流的看板工具(如 Jira、TargetProces、Trello)都可以满足两者的需求。但是 Kanban 的每一列必需列出最大的 WIP 限制,要求每一列的卡片数量不得高于这个限制。

Kanban Board

此外,Scrum 看板往往服务于一个较小组织,人力安排上要求这个组织包含全流程相关的所有技能,比如设计、测试、开发、架构都能在这个组织里找到相应的角色,因此常常需要一个 member 拥有多种技能。

Kanban 相对应于一个较大组织的全流程管理,一个小组往往只负责其中几个相邻泳道;人力分工更加精细,更趋向传统工业上的流水线管理。

Which to choose

那到底是选 Kanban,还是 Scrum 呢?显然没有明确的界碑,不过有这么几点建议可以用作参考。

当然,我们也不必拘泥于教条,现实中常常把它们俩结合使用,现在还给这种结合起了一个专业名词,叫Scrumban。敏捷软件开发的“敏捷”是简单高效的意思,大家千万不要把它们搞成了玄学;尤其是“原教旨主义”这一套,更是大可不必。

Benefits

OK,我们再来总结一下 Kanban 方法的优点:

讲了这么多的 Kanban 的好处,也说一下我认为的缺点。Kanban 毕竟是脱胎于重工业时代,强调的是组织性和纪律性,本质上还是将人放到流水线上操作;当生产线上的工人开始疲惫后,自然而然地会转向“摸鱼的艺术”。管理者在使用 Kanban 这类工具之外,也应加入更多有趣的内容,以帮助团队消除这类“疲惫感”。最后还是那句话——工具不是解决问题的关键,人才是!

上一篇 下一篇

猜你喜欢

热点阅读