万能利特尔定律和精益生产

前言

如今Scrum之花正如火如荼,开遍大江南北。

然而实施Scrum却是一个英雄之旅。

它需要团队高成熟度,业务市场高稳定度,以及个人和组织的高承诺度。

任何一个因素不够稳定,就需要在这个维度上放上此领域能力非常强的角色做支撑。任何一个角色的能力有所欠缺,后面的风险和问题就会成指数级增长。

Scrum Master解决团队成熟度不够的问题。

经验丰富的大PO解决业务市场稳定度问题。

对技术精通和业务经验丰富的工程师团队解决承诺问题。

曾经参加过一次Globle Scrum Gathering 的 Scrum Master Clinic 诊断室。当时我正在一个Customer Focus团队处理客户问题,客户问题是随机到来的,团队的目标是高效的处理并解决客户问题,通过重现客户问题、找到问题根源、产生解决方案,通过热补丁方式实施解决方案,测试热补丁,发布热补丁给客户,达到让客户满意的服务效果。

我向这位敏捷教练讲述了我们的业务特点以后,她笑着说,你们并不适合做Scrum,而更适合做Kanban。回去没多久,我们的Customer Focus团队就开始使用Kanban的方式进行用户问题的排队和处理。团队自己认领任务,解决问题,并提交完成。

Kanban

Kanban是一个不同于Scrum的存在。它产生于精益生产思想。

如果你公司的业务遇到以下情况超过5个,你可以考虑Kanban的方式:

计划总是跟不上变化

随时有高优先级的任务插进来

技术难点造成细节不可预知,无法准确的估计和计划

范围总不能有效的控制

节奏经常被打断

中途发生的任务造成迭代内任务总是无法完成

新的迭代因为前面任务的阻塞造成没办法开始

Kanban和Scrum的共同点都是:尽早交付高价值、高效协作、自组织、持续改进。

只是理论背景和方式有不同。

今天介绍最重要最基本的理论核心,利特尔定律(Little's Law)

如果不懂利特尔定律,你所实施的Kanban有可能是只有空壳而没有灵魂。当然也不是绝对。

利特尔定律(Little's Law)

利特尔定律是以麻省理工学院教授约翰·利特尔的名字命名的,他于1961年首次用数学方法证明了该定律。

L = λ W

L:队列中的个数

λ :吞吐量(到达率和离开率)

W:在队列中平均停留时间

这个定律后来被运用于所有跟排队相关的实践中。它强大在于简单,但是却可以应用于千万种场景,并且在这三个值中两个值稳定可知的情况下,能够得出第三个值的最佳预测。

美国国防部曾经将利特尔定律应用于的B-2轰炸机(隐形轰炸机)的使用。当时的B-2轰炸机是核威慑的重要组成部分。虽然数量不多(只有20个),但这些设备必须处于最佳状态,随时可以使用,而且还要记录正常飞行时间,可用来培训飞行员或进行常规测试。

B-2隐形战机

不幸的是,为了保持隐形状态,这些复杂的飞机必须在一定的飞行时间后(或者在遭受损伤后)进行大量的维护。这种维护可能需要18到45天的时间,因此在使用和维护之间产生了微妙的平衡。

通过对飞行计划的观察和分析,计算出在任何时间都需要有三架B-2轰炸机处于维修状态。轰炸机进入维修区的速度也被计算为大约每7天一次。所以:

L = WIP(维保数)= 3

λ =到达/离开率=每7天1次= 1/7天

平均维修时间= ??

你算出来了吗?

平均维修时间= L/λ=21天

所以,对于20架数量有限和维护复杂的B-2轰炸机,要维持正常使用,维修时间要平衡在21天一架的速度。这对于管理来说,很容易判断出,如何通过正确的投入资源和改进提升效率。改进目标就是将轰炸机的维修时间保持在21天以内一架的速度。

前面说了,一般维护一架飞机需要18到45天的时间,如果所有维护时间都压缩到18天,会造成资源浪费,和工程师疲于奔命。21天是最好的平衡点,是节奏,也是改进目标。

Google和facebook是如何使用利特尔定律来实现业务上的成功的?

L =正在使用该服务的人数

λ =这些人到达站点的速度

W =他们使用该服务的时间

作为热门的搜索引擎,谷歌的到达率非常高,但是他们的用户不会停留太久。这就是为什么谷歌的收购和发展的重点是让用户停留更久更久,以进一步增长。

他们的“λ”已经很高,所以现在的注意力集中在“W”。

与此同时,Facebook正好相反。它们的到达率要低得多,但是它们的会话时间要比谷歌高得多。因此,他们在发展和收购方面的重点将更多地放在“λ”上,而不是“W”上。

提高“λ”或者“W”,维持另外一个已经很高的值,可以最终提升“L”正在使用的用户数。

运用利特尔定律对Kanban进行度量

实施Kanban有三个原则:

工作流:可视化当天的任务,展示全局信息

WIP(Work in progress):限制正在进行的工作量

提高流动性:当一个任务完成后,下一个高优先级的事情开始

Kanban源于精益思想,而精益思想专注于减少浪费,提高效率,全局视角,尽可能快的交付有价值的产出。

一方面要以紧迫合适的节奏来适应不断变化的市场需求。

另一方面要减少赶工和疲劳所造成的质量问题。

因此,利特尔定律就和Kanban结合起来了。

Kanban有两个度量值:

Lead Time:客户视角,从端到端的时长

Cycle Time:价值流内的每个阶段的时长

Leadtime和Cycletime

我们可以通过Kanban计算出三个度量值,首先要把利特尔定律的三个值和Kanban的度量值之间建立联系:

L = λ W

L:队列中的个数=》WIP

说明:这里的WIP可以理解为整个端到端的所有在Kanban上流动的卡片,这个维度上计算出来的就是端到端的吞吐量和发布周期;也可以是一个队列的WIP,这样可以计算出单个任务在该队列的停留时间和拉动频率。

λ :吞吐量(到达率和离开率) =》Throughput 用户需求到来的频率(需求发布的频率)

比如:每5天来一个用户需求, λ = 20%

比如:每一个月(20个工作日)发布10个用户需要求, λ =10/20=50%

W:在队列中平均停留时间=》Leadtime:一个用户故事端到端的时间

这里以端到端为例:

吞吐量:每5天需求采集一次用户需求,每次产生10个用户故事,吞吐量为10/5=2。

通过经验观察,一个开发团队从端到端交付一般要3周(一周5个工作日), LeadTime为3*5=15天。

WIP=2*15=30,代表按照当前团队能力在Kanban上流动的用户故事为30个。

公式变换如下:

WIP = Throughput x Lead Time

Throughput = WIP / Lead Time

Lead Time = WIP / Throughput

WIP在制品、Throughput生产量、LeadTime交货时间

Throughput = WIP / Lead Time

举例:

通过经验观察,一个开发团队从端到端交付一般要3周(一周5个工作日), LeadTime为3*5=15天。

通过团队自主拉动任务,目前Kanban上正在流动的用户故事为15个。

吞吐量=15/15=1

代表需求如果按照一周(5个工作日)为周期获取需求,要符合团队的处理团队速度,目前只能每周往需求池加入5*1=5个需求。

Lead Time = WIP / Throughput

举例:

PO或者客户希望直到目前团队能力下,团队实现15个需求的端到端发布,需要等多长时间?

WIP值一定的情况下,WIP=15

如果保持Troughput为1,代表每周可以处理5个需求,3周时间可以完成15个需求的梳理。

发布15个需求LeadTime=15/1=15天=3周

但是如果一周就给团队推送15个需求,代表Troughput=15/5=3

发布15个需求LeadTime=15/3=5天=1周???

单纯的增加需求进入队列的速度就可以代表Troughput?No。

这时候整个Kanban的薄弱环节——瓶颈,就起作用了。所以,平时在测量的时候注意测量每一个环节的Cycle time可以帮助提升Kanban的整体流动速度Troughput。

而且,如果瓶颈不在需求这个地方,而在其它地方,增加需求的进入量,还有可能让发布周期长于3周。

为什么时间更长了呢? 因为超出团队的能力,造成一些浪费和阻塞。就好像堵车的道路前进更慢。

利用利特尔定律为团队改进制定目标

一般交货时间Leadtime就是我们的市场目标。要有效运用利特尔定律,需要更好的预测另外两个值。

WIP在制品如何测量?

首先得要知道每一列的WIP值如何计算和预测?

每一列得WIP=该项任务类别可用资源的最高能力。

比如,每一项任务估时为4小时。每个人每天可以处理1~2个任务。团队有两个可用资源,这一列任务的WIP=2*2=4

按照这个规律,计算出所有任务列的WIP,加起来就等于总的WIP:在制品。

听起来有点道理,是不是细想还是觉得哪里怪怪的?

我们再进一步分析,Kanban里面有三个基本元素,Todo,Doing,Done:


三个基本元素

思考一下:

是不是Todo、Doing、 Done都应该有WIP??

也许你已经有答案了,如果还没有想出来,没关系,文章后面会有答案。

接着往下讲。

然而,实际工作中,我们的Kanban并没有这么简单,而是这样的:


像上面的图,有很多工序流程,每一个流程都分为Doing,Done。

 Todo去哪里了?

为了避免Kanban太长,Todo被简化了,和上一个工序的Done重合。也就是上一个工序的Done就是下一个工序的Todo。

是不是Todo、Doing、Done都应该有WIP?

答案是,不。

既然WIP叫在制品,Working in Progress,那么它就只有Doing计算WIP才有意义。

因此,我们首先要识别出Kanban上每个工序到底是Doing还是Done,还是Todo。

只对Doing状态的列计算WIP。

而Todo,Done状态的列,我们根据需要和重要程度进行增减。

这样计算出来的所有Doing状态的任务栏WIP之和才是准确的端到端在制品度量值。

得到准确的WIP,比如WIP=15。

Throughput值如何测量?

首先可以通过观察测量,如果团队保持纪律,按照WIP规则进行拉动任务,通过一段时间可以看到团队的平均Throughput值。

其次也可以通过瓶颈来计算Throughput值,瓶颈在需求设计,还是在开发实现。就是看一个用户故事在哪个阶段停留时间更长。

如果瓶颈在需求设计,那么重点关注需求设计在5天内的处理速度,就是端到端Throughput值。

依此类推,如果瓶颈在开发实现,那么重点关注开发团队在5天内的处理速度,就是端到端Throughput值。

Lead Time = WIP / Throughput

通过WIP和Throughput的计算,可以预测出端到端交付的时间。

也可以通过提升瓶颈的速度,来缩短交付时间。

当然实际工作中还是要运用系统思维。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,362评论 5 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,330评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,247评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,560评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,580评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,569评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,929评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,587评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,840评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,596评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,678评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,366评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,945评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,929评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,165评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 43,271评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,403评论 2 342

推荐阅读更多精彩内容