看板,从制造业到软件-04
看板,从制造业到软件
上回我们去到了趟“丰田车间”,看到了丰田的拉动式生产方式。还记得“丰田车间”的墙上写着,“丰田生产方式的两大支柱是准时化和自働化,看板是运营这一系统的工具”这句话吗(开玩笑了^_^)。看板在TPS中是起到了至关重要的作用的。
看板的英文是“Kanban”,与汉语拼音一样,其日文注音恰巧也是“Kanban”。在日文中它既可写作汉字——“看板”,也可以写作假名——“かんばん”。
看板到底是什么?——“信号卡”。信号卡这一概念源自精益制造,最早出现于丰田生产系统中,看板触发了上游工序的生产,如果还是不知道看板是什么的话,还记得那碗热腾腾的扬州拉面吧?厨师这是因为看到了“看板”才开始做面的^_^。
随着上世纪90年代,精益生产的推行,拉动式的生产方式也渐渐被各个领域和行业所了解和熟知。在软件行业(终于来到了正题),一般来说所指的看板并非是信号卡,而是看板系统(信号卡实施的拉动系统)或看板方法。可能读者读到这里会带着疑问了,“这种拉动式的生产方式,在软件中真的能适用吗?能不能别逗我?我可是去过丰田的哦”,确实软件行业和其他行业有区别,比如说,车间的某一栏货架上绑定着物件和它所对应的看板,而软件中怎么如何做到呢,因为生产制造过程中的产品是可见的,而软件开发中的产品是不可见的;又比如,车间里生产的方向盘是在按照规格制造,而不是软件开发人员在发挥主观能动性“创造”代码……
答案当然是肯定的——看板系统完全可以应用在软件中。不仅如此,以看板为核心所扩展出的可视化工作流程、工作项类型、节奏、服务类别、专门的管理报告和运营回顾等一系列理念,还被软件看板之父David J.Anderson定义为看板方法—Kanban Method,并从2007年开始被敏捷社区所接受采纳。
那么David J.Anderson 是怎么把看板系统联系到软件行业的呢?这就是从2005年说起,David去日本东京度假,恰逢春天樱花盛开之季。为了欣赏美景,他和家人去游览位于东京市区的皇居东御苑公园,当这一行人准备入院的时候,一位日本老人掏出一把塑料卡片,给他们每人发了一张,由于他的日语有限,所以也没有追问原由。在享受了两个小时的愉快时光后,他们准备离开,当走到门口时,他发现前面排队出园的人们正在交还塑料入园卡,于是他也照做了,只是他不清楚为什么。如果只是一种安防方案,那真的是一种糟糕的安全系统,因为这样根本起不到什么作用,这一定另有意图。突然灵感一闪,David明白了,皇居东御苑公园正在使用的是一个看板(拉动)系统。公园本身就是一个拉动系统,游客便是在制品(work-in-progress),由流通中的入园卡数量限定系统能力。仅当有入园卡可供发放时,新到的游客才能入园。普通的日子,公园接待游客没有一点问题。然而,在繁忙的日子,如假日或樱花盛开季节的某个周六,公园就很受游客青睐。当所有的入园卡发放完时,新到的游客必须在园外的桥上排队等候,等待其他游客离园后回收的入园卡。看板系统提供一种简单、成本低廉和易于实施的方法,通过限制入园人数,来控制园内人数。这种技术可以让公园一直保持良好状态,避免因游客过多或拥挤对公园造成破坏,正是这次的顿悟让他发现看板系统并非只能用于制造业中。
在软件开发中,使用虚拟看板系统来限制在制品数量。尽管看板的原意为信号卡,而且在大多数软件开发的看板实施中使用的也是卡片,但这些卡片实际上并没有作为一种信号起到拉入更多工作的作用。相反,它们仅起到代表工作项的作用。之所以称为虚拟的(virtual),是因为并没有使用物理的信号卡。拉入新工作的指示信号,是通过在制品限制指标(或系统能力上限)与以可视化方式表示的在制品数量之差推算出来的,有些实践者通过使用诸如便事贴或位于一块板上的物理插槽来实现物理看板——看板墙(如下图)
这种类似的看板墙,想必很多软件开发的从业人员都能有所了解,这也几乎是成为标榜自己是敏捷团队(模式)的标志之一(想当年笔者还在IBM的时候,有一天上班第一感觉ss就是,忽如一夜春风来,各种看板到处站……)。看板墙提供了可视化的机制,它能帮助团队可视化的方式观察在制品并进行自组织,无需项目经理或产品经理的指令,便可自行分派任务,将工作从待办项列表中移向完成状态。但是看板墙是看板系统吗?如果看板墙仅仅是提供了可视化能力,而没有限制在制品数量以及拉动式生产的方式,那么它就不能称之为看板系统。 所以,笔者在文章的开始提出,一般来说软件行业中所提到的看板,多数指的看板系统,如果您认为的看板只是看板墙的话,那么笔者就要提醒您一下了——天亮了,该醒醒了。 “我们要使用看板的方式来进行我们的项目管理”,您放心,这里所说的看板一般也是指看板系统(方法),如果您仅仅理解为是用看板墙来进行项目管理,那么我可以很负责说,这种方法很可能达不到您想要的结果。为了避免歧义,笔者在这里需声明一下“David J.Anderson 曾在书中写到:为了能够在书中以文档方式记录看板方法(kanban method),我发现有必要正式地介绍模型。自看板出来至今,过去4年中虽然一直在不断演化,但我从来没有想过要进行这样的定义,直到今天。我担心它可能会因此变得僵化,也担心人们将之作为看板过程的真髓而教条式地引用,或者将之作为一种检验“我们在做看板吗”的测试方法,从而形成教条主义的思维模式。不管笔者所说的看板和您所理解的看板是否一致,都没有太大的问题,但是看板系统(方法)肯定不是只具备可视化的看板墙”。
那么,如何用好看板方法呢,它在软件行业真的不会水土不服吗?你们懂得——我们下回分解^_^。
2019年2月22
敏捷江湖桃花岛—大师兄
- 点赞
- 收藏
- 关注作者
评论(0)