什么是Little定律(littles law)

18-12-02 banq
         

任何参与敏捷与看板的人都无法避免Little定律(Little's Law),Little定律是一个等式: 

L = λ W

其中变量的意思是:

L =在一段时间内排队系统中的平均任务或项目数量

λ=在规定的时间间隔内新进入系统的平均任务或项目数量(到达率

=任务或项目在整个系统中花费的平均时间

这个等式中文意思是:

“ 排队队列中的项目数 ”=“ 新项目到达率 ”x“ 任务或项目的平均花费时间 ”

首先你需要知道排队系统是什么?Little的定律仅适用于“排队系统”,这是个必须有进入和有离开的队列系统。可以是工作流系统,可以是任务系统,可以是生产线。

在软件开发中,任务或项目也通常指用户故事,变更请求,错误修复等形式。

“L”代表您正在检查的排队系统内的项目数。这也称为“WIP”,如“正在进行中”的项目,可以是几乎任何整数。

“λ”表示进出排队系统的项目的到达率和离开率。这有时也被称为“吞吐量”或“进入和/或离开系统的物品的量”,并且有时表示为λ或“A”。

到达率一开始有点令人困惑,但要记住的关键是它通常只是一小部分。这是因为您要测量物品进入/离开系统的速率,而不是物品数量或新到货之间的时间。因此,“λ”总是表示为分数:

λ = (一个项目) / (时间单位)

例如,如果新项目每20分钟进入您的队列,则您的到达率不是20,而是1/20。

最后,“W”是项目在排队系统中花费的平均时间。这也称为“提前期”,也可以是任何时间单位。该元素的时间单位需要与“λ”的时间单位相同 - 如果您以天为单位测量到达率,那么“W”也将以天为单位进行测量,依此类推。

最终意思是:

系统中的项目数  =(进入和退出系统的费率项)x(项目在系统中花费的平均时间)

L = λ W 通过代数转换为:   

W  =  L / λ 

前面说过L是WIP,  λ可以是吞吐量,因此这个公式变种如下:

LT  =  WIP  /  吞吐量

LT =平均交货时间

WIP = 在队列内的平均任务数(正在进行的工作)

吞吐量  =在定义的时间间隔内离开系统的平均任务数

问题:保持吞吐量不变的假设情况下,如果我们持续增加WIP,也就是系统内项目数,交货时间是否持续增加?

Queuing理论指出,随着利用率增加超过80%,网络速度急剧下降(非线性)。但根据Little的定律(给定一个稳定的系统),如果我们增加WIP(提高利用率),则导致时间会线性增加。为什么Little's Law没有显示交付时间从某一点开始呈指数上升?

参考:Little’s Law: Isn’t It a Linear Relationship?