80

深入解读“看板方法”

 6 years ago
source link: https://mp.weixin.qq.com/s/USL3UPGsyL2Y-pLnL33QDg
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

深入解读“看板方法”

Original 莫文韬 敏捷一年级 2017-12-12 02:41 Posted on

前言

看板方法,作为主流的敏捷方法之一,最近几年异军突起,广受业界推崇,并且大有赶超Scrum的趋势。我们也能经常看到敏捷爱好者在各类社区里火热的讨论看板方法论。可以说,无论是提问,还是交流分享,关于看板的讨论就一直没有停歇过。本人也在社区里回答过不少敏捷爱好者的提问,然而苦于这些知识点都是分散的,没有机会将所有这些知识整理组织起来,形成一个体系。幸运的是,前不久本人在公司开展了一天看板培训,因此也终于有机会将整个看板方法进行了系统的梳理,在这里分享给大家。

由于篇幅有限,这里也仅介绍了看板方法的一些重要特性,无法覆盖看板理论的方方面面,还请读者见谅。

看板方法,一般认为是由大卫安德森(David J. Anderson)发明创造的,于2004年诞生在微软的XIT项目,并于06年至07年之间在Corbis公司得到大规模运用,紧接着在全球迅速推广。

Image

大卫在发明看板方法之初,便深受了大野耐一的丰田生产方法(TPS),高德拉特的约束理论(TOC),戴明的质量管理,以及敏捷开发的影响。因此,看板方法中的很多概念,都可以从上述理论中找到影子。下面我们就来详细的谈一谈:

拉动(Pull),瓶颈(Bottleneck)

(源于高德拉特(Eli Goldratt)的约束理论(TOC))

约束理论诞生于上世纪八十年代,曾大量应用于耐克,福特,英特尔,宝洁等大型企业。其理念是,通过对产品在企业各生产环节之间流动的长期观察,建立拉动系统,进一步识别并消除生产过程的瓶颈,并通过后续的持续改进,消除一个又一个新出现的瓶颈,从而让企业的各个生产环节协同一致,提高生产效率。

这里不得不提一个经典的“鼓-缓冲-绳(D-B-R)”的拉动系统:

  1. 在上图中,我们把每一个生产环节比作一个纸片人,那么产品在每个生产环节的流动速度,就相当于每个纸片人的前进速度。

  2. 现在,我们给一条绳子,一端由走在最前面的纸片人牵着,另外一端由走在最后的纸片人牵着,并且由前面的纸片人通过绳子,“拉动”后面的纸片人前进。

  3. 在所有纸片人前进的过程中,我们可以通过观察绳子是否“紧绷”来判断后面一个纸片人是否为“瓶颈”。如果绳子没有“紧绷”,那么将绳子的一端,由最后一个纸片人,交给倒数第二个纸片人,再次观察绳子的状态。以此类推。

上图中,我们发现到了第四个纸片人的时候,绳子变得“紧绷”了,那么我们断定这第四人就是我们要找的“瓶颈”,是进行重点改进的对象。

当然,当改进结束以后,我们会再次运用这一拉动系统,去发现和解决系统中新的瓶颈,以达到持续改进的目的。

批量规模(Batch size),在制品(WIP)

( 源于大野耐一(Taiichi Ohno)的丰田生产方法(TPS))

丰田生产方法的产生要追溯到上世纪70年代,大野耐一及其团队通过长达20多年的探索和完善,形成了丰田公司独有的生产体系,通过对物流,库存,组织等一系列管理的强化控制,极大的提高了丰田汽车的竞争力。

凭借这套生产方法,丰田汽车在进入美国市场后,仅仅通过短短几年时间,便迅速的击败了美国三大汽车公司,在美国本土的汽车占有率上独占鳖头。

与高德拉特的约束理论相比,丰田生产方法更强调了“批量规模(Batch size)”的重要性。丰田正是通过降低批量规模,进而降低在制品库存,达到节约成本的目的,实现了效能的飞跃。另一方面,小规模的生产方式,也让企业能够更加聚焦于减少浪费,通过降低协调成本和事务成本来提高交付效率。

(2012年冬,拍摄于美国麻省的Wrentham Village Premium Outlets的Coach工厂店。该店为了保证服务质量,提高成交率,对店内购物人数进行了限制,因此在店外排起了长龙。)

看板方法借鉴丰田生产方法的另一个重要思想就是对在制品数量(WIP)的限制。通过对每一个生产环节在制品数量的限制,一方面,减少了产品在各个生产环节之间的排队等待,缩短了产品从开始生产到交付的时间,加速了价值流动;另一方面,由此产生湖水岩石效应,暴露了生产环节中的团队协作,资源分配等各类问题,为进一步改进提供了着力点。

看板方法对于WIP的最佳实践是对每一个生产环节都分别定义一个最大在制品数,以充分发挥看板在挖掘问题,协同改进方面的作用。

对于WIP,通常有两类错误的应用:

1先不设置WIP,等到看板运用成熟以后,逐步加入WIP

一个典型的例子就是 雅虎公司。早期的时候,他们选择不设置WIP限制,理由是因为他们认为团队对于看板应用还不够成熟,希望首先利用看板的可视化来提升组织的成熟度,然后再引入WIP。然而,事实证明这种方法是有问题的。离开了WIP这一看板的核心方法,团队在协同改进上进展缓慢,最终在还没看到改善之前,团队就被解散,或者放弃了看板方法。

2设置整体WIP,取代各个环节的WIP

即使是看板方法的发源地,Corbis公司,也在这一问题上栽过跟头。为简化WIP,几个重点项目团队选择了粗粒度的整体WIP限制。结果因为无法识别具体环节上的瓶颈来加以改进,实际效果大打折扣。

(上图中,我们以典型的软件开发流程为例,根据实际产能,对每个开发阶段都分别设置了WIP,这是一种比较推荐的做法。)

质量(Quality)

(源于戴明(W. Edwards Deming)的质量管理)

作为质量管理之父,戴明提出了“质量是一种以最经济的手段,制造出市场上最有用的产品。一旦改进了产品质量,生产率就会自动提高。” 其思想更是对二战后迅速崛起的日本起了重大作用,并且在随后的几十年中影响了许多世界上最具创新精神的经理人。

因此,大卫在看板方法的推广过程中,也极其强调了內建质量的重要性。经过研究发现,专注质量,能够让高缺陷率团队的生产力和交付速率获得2-4倍的提升。

在软件生产过程中,提高质量通常有以下几种实践:

  • 代码检查(Code Review)

  • 单元测试(UT)

  • 测试驱动开发(TDD)

  • 验收测试驱动开发(ATDD)

  • 使用设计模式(Design pattern)



前置时间(Lead Time)

(源于敏捷开发Agile)

众所周知,敏捷开发非常重视对用户反馈的快速响应,强调以最短的时间,交付最大的用户价值,以获得市场竞争力。

因此,任务完成的“前置时间”,是衡量敏捷团队成熟度的一个重要标志,而看板方法也将这个“前置时间”看作是度量与改进的一项非常重要的指标。

服务分类(Class of Service)

在看板的实际应用中,对于不同的任务类型,往往需要区别处理,因此看板方法引入了服务分类(CoS)这一重要机制。常见的服务分类有:

1加急类(Expedite)

常见于一些时效性特别强的需求,或者对产品重大缺陷的修复。

这一类任务将被视为最高优先级,因此可以无视最大在制品数(WIP)的限制,直接进行作业。

然而这样的任务,很容易对看板的正常工作造成冲击,因此加急类的任务个数,通常都仅设置为1。

2固定交付日期类(Fixed Delivery Date)

看板方法推荐安排一定的产能,来处理一些固定交付日期的任务。

对于这一类的任务,需要在开发之前对任务的工作量进行估算,并在开发过程中定期的确认进度。一旦发现进度落后到有可能无法完成的情况,则需要对任务重新进行评估。如有必要,这类任务可以升级为加急类。

3标准类(Standard)

顾名思义,就是最普通的任务。看板方法推荐大部分的产能都应用于此类任务。无需对任务的工作量进行估算,直接按照先进先出的顺序进行处理。但对于超过两周工作量的任务,建议先进行拆分。

4无形类(Intangible)

主要针对一些用户价值有限的附加功能。看板方法推荐安排在此类任务上的产能应该低于标准类。

上图为软件开发看板中,针对不同服务类型的产能分配。值得注意的是,该产能分配在实际过程中,可根据具体的情况,适当的动态调整。比如,由于业务季节性的原因,预计后续一段时间的固定交付日期任务会比较少,这个时候可以将一部分的产能暂时交给标准类的任务。

需要强调的是,看板的服务分类是一项非常强大的机制。它能够确保团队在合适的时间做着合适的事情,即使在整体按时交付率比较低的情况下,团队依然能够获得较高的客户满意度。

看板仪式(Ceremony)

下面简单介绍一下Kanban实施的几项重要会议:

1每日站会

必开。在每日固定时间召开,全员参加,每人1-3分钟各自介绍任务状态,计划,以及障碍。此外,每日站会还可能需要根据实际情况,对看板输入队列(To Do List)进行填充。

建议两周开一次。用于讨论上一阶段的工作成果,检视上一期行动方案的落实情况,以及集体思考如何改进,并制定下一期的行动方案。

3发布计划会

根据实际情况,在版本发布前召开。主要用来明确即将发布的内容,以及部署计划等等。具体内容和瀑布流程的Release notes内容非常类似。

4需求讨论会

可选会议。如果需求可以在日常工作交流中完成,可以选择不开。

参考(Reference)

关于看板方法的主要参考书籍有:

练习(Practice)

最后推荐一个看板培训的游戏:DOT GAME

游戏道具:便利贴,圆珠笔(红,绿,蓝,黑,四种颜色),涂色笔,一元硬币,五角硬币。

游戏目标:在5分钟内,按照一定的工序,尽可能多的完成上图所示的便签纸图案。要求如下:

  • 边上的四个小圈必须与便签纸的相邻两条边相切;

  • 中间的两个大圆必须相切,并且与边上的四个小圈不相交;

  • 两个大圆中间,必须填满填充色,并且填充色不能超出大圆的边界。

将团队分成若干组,每组6-7人。按顺序,具体分工如下:

  1. 需求分析 ------ 负责撕便利贴。

  2. 技术分析 ------ 用黑色圆珠笔,在便利贴左下角,以五角硬币为模型画上一个圈。

  3. 代码设计 ------ 用红色圆珠笔,在便利贴右上角,以五角硬币为模型画上一个圈。

  4. 后台开发 ------ 用蓝色圆珠笔,分别在便利贴的左上角和右下角,以五角硬币为模型画上一个圈。

  5. 前端开发 ------ 用绿色圆珠笔,在便利贴的中央,以一元硬币为模型画上两个相邻的圈。

  6. 测试 ------ 检查每一个产品是否合格,统计第一个产品完成的时间,以及统计总共完成的产品数。

  7. (可选)项目经理 ------ 观察员,负责计时和游戏总结。

游戏总共分四轮进行,每一轮结束以后,统计各个组的成绩,并且由项目经理(或者组内任何一名队员)发表总结和感想。

第一轮,要求如下:

  • 时间5分钟。

  • 队员之间不能交流。

  • 以“推动”的方式工作,即每人都尽可能多的完成属于自己的工作。除了等待上一道工序的时间,其余时间自己手中的工作都不能停止。

  • 批量(Batch size)设置为2。以两张便签纸为单位进行作业,当两张便签纸都完成以后,才将这两张便签纸一起交给下一名队员。

第二轮,关键词“Pull”。要求如下:

  • 时间5分钟。(不变)

  • 队员之间不能交流。(不变)

  • 以“拉动”的方式工作。每道工作都分成两个区:工作区与完成区。每个人在各自的工作区完成自己的工序以后,将两张便签纸放入完成区。完成区的便签纸,只能由下一道工序的人来领取。当完成区的便签纸尚未被下一道工序取走之前,该队员不能从上一道工序的完成区去取便签纸来进行工作。

  • 批量(Batch size)设置为2。以两张便签纸为单位进行作业,当两张便签纸都完成以后,才将这两张便签纸一起放入完成区。(不变)

解读这一轮中,引入了拉动系统。当下游阻塞时,上游工序就停止,从而大幅减少在制品库存,节约了成本。同时,瓶颈显现:一旦当瓶颈工序取走上一工序的便签纸,前面所有的工序都会紧跟着取走自己上一道工序的便签纸。

第三轮,关键词“Bottleneck”。要求如下:

  • 时间5分钟。(不变)

  • 队员之间可以交流。大家通过上一轮瓶颈的识别,可以安排手脚最快的队员承担瓶颈工序。并且在游戏过程中,根据动态瓶颈,队员之间可以互相协作配合来加快瓶颈工序。

  • 以“拉动”的方式工作。(不变)

  • 批量(Batch size)设置为2。以两张便签纸为单位进行作业,当两张便签纸都完成以后,才将这两张便签纸一起放入完成区。(不变)

解读:这一轮中,通过瓶颈工序的持续改进,进一步提高了便签纸的流动速度,因此团队在规定时间内交付了更多了便签纸。

第四轮,关键词“Batch size”。要求如下:

  • 时间5分钟。(不变)

  • 队员之间允许交流。(不变)

  • 以“拉动”的方式工作。(不变)

  • 批量(Batch size)设置为1。每名队员只要完成1张便签纸,便可以将便签纸放入完成区,等待下一道工序的队员来取走。

解读:这一轮中,通过减少批量,进一步减少了便签纸在每一道工序的停留时间,提高了交付速率,并且大大的缩短了前置时间。

评比环节,关键词“Quality”:

各组报告自己第四轮的成绩。这个时候,教练提出,团队之间可以相互挑战对方成绩:检查对手完成的便签纸,那些不符合要求的便签纸(例如,圈没有闭合,涂色没有完全覆盖大圆,等)不算入成绩。由此引出,“高质量”依然是看板工作的一项基本准则。


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK