里特定律(Little's Law)源自排队理论,是IT系统性能建模中最广为人知的定律。

里特定律揭示了前置时间Lead Time)、在制品数量Work In Progress, WIP)和吞吐率Throughput)之间的关系。

  • 前置时间 - Lead time:只请求进入到系统 与 请求验收完成之间的时间段。前置时间按照所经过的时间(分钟、小时等)来度量。一个请求可以是一个需求、一个用户故事、一个异常、物料、一个来自用户的请求等。
  • 在制品数量 - Work in progress (WIP):正在被处理的请求(工作单元)数量,正在被处理指这些请求已经进入到系统中,但是还没有产出。
  • 吞吐率 - Throughput:在一确定时间内离开系统的工作单元数量,例如3个用户故事/天。

此定律的总结相当有意思并重要:

  • WIP越大,前置时间越长,即要完成已经开始的工作需要更长的时间。换言之,为了满足开发或服务的截止时间,我们必须减少在制品数量,或者在开始新工作之前完成在制品。

    然而,在很多情况中发生了恰好相反的情况:为使整个项目可以“跑”得更快,团队开始处理更多任务。希望保持大量进行中工作的另一个原因是:以此来达到高资源利用率。

    无论什么原因,假设吞吐率不发生变化,在制品的增加会使完成在制品所需的时间(即前置时间)同时增加。

    尽管看起来违反直觉,但需要记住的是:降低WIP有助于满足SLA并降低开发前置时间。

  • 专注于降低前置时间有助于识别已经开展的无用活动。消除这些无用活动会产生两种积极影响:
    (1)消除流程中的浪费
    (2)降低总WIP,从而进一步缩短前置时间并带来更高效的开发
  • 吞吐率越高,前置时间越短

    有很多不同的途径来提升性能:自働化增值活动(自働化非增值活动等同于自働化浪费的产生),改进流程并增加更多资源。如果你决定增加更多资源,需要观察整体前置时间,因为增加额外资源会同时增加在制品数量。

  • 每种精益(Lean)倡议都会试图最小化浪费并缩短生产周期。缩短生产周期等价于缩短前置时间。最小化浪费包括对当前库存的分析以及减少库存的相关步骤,这等价于降低WIP。

为什么这个定律对项目经理很重要?

  1. 里特定律是了解软件开发团队或软件运营团队真实性能的工具。
  2. 提供可预测性
    例如,如果我们必须实现50个需求,团队的平均能力是5个需求/周,我们所需的时间是:
    50 个需求 / 5 个需求每周 = 10 周。
  3. 揭示了工作批量越大,处理时间(前置时间)越长。
  4. 解释了为什么多任务导致延期而非加速工作完成。
    通常人们相信,并行开展多个任务能够提升生产力。因此,许多公司中共同的做法是将多个任务分配给一个人。然而,与机器不同的是,人类并不善于以并行处理的方式执行。增加在制品还会增加某项任务修改和返工的时间,从而降低吞吐率。最终,工作执行所需的时间不够了,并且已经开始但还未结束的工作开始堆积。
    简言之,里特定律有利于找到在制品与前置时间之间的平衡。
  5. 为达到最佳WIP限制提供了基础。 如果WIP限制低于最佳水平,就会有未充分利用的资源并且性能低下。如果WIP限制超出了最佳水平,工作单元就开始在队列中堆积并同样是性能降低。
  6. 有助于理解阻塞一项工作或必须解决错误对项目或服务截至时间的影响。这两种情况都会降低吞吐率并因此增加前置时间。

应用里特定律的重要条件:
里特定律非常有用,但是除了解公式之外,你必须了解到使用里特定律必须满足的条件:

  • 所有参数都使用平均值:平均前置时间、平均WIP和平均吞吐率
  • 单位必须一致:即,如果我们按一周来度量吞吐率,前置时间也必须按周及,WIP同理。
  • 系统必须稳定:即,所有进入系统的工作必定会离开系统;总WIP在这段时间内守恒,工作平均到达率等于工作平均离开率。

总之,正确的使用里特定律可以有助于获得平稳的工作流,并提升项目和IT服务的可预测性。在制品数量(WIP)是影响项目性能和软件开发或服务完成所需时间的关键因素。限制WIP降低前置时间,此外还会减少工作流程中的浪费。

里特定律 - Little's Law的更多相关文章

  1. 构造定律(constructal law)-构造定律作为第二个时间箭头,将和热力学第二定律一道将宇宙推向无序。

    优化系统结构,使信息和物质流在结构内的流动更畅通. 构造定律(constructal law) 由Adrian Bejan于1995创立的构造定律(constructal law):   For a ...

  2. 墨菲定律-Murphy's Law (转载)

    墨菲定律 “墨菲定律”(Murphy's Law)亦称莫非定律.莫非定理.或摩菲定理,是西方世界常用的俚语. “墨菲定律”:事情往往会向你所想到的不好的方向发展,只要有这个可能性.比如你衣袋里有两把钥 ...

  3. 默菲定律 [Murphy's Law]

    一.关于默菲定律(Murphy's Law)   “墨菲定律”.“帕金森定律”和“彼德原理”并称为二十世纪西方文化三大发现. “墨菲定律”的原话是这样说的:If there are two or mo ...

  4. GitHub上最火爆!码代码不得不知的所有定律法则

    目录 介绍 定律 阿姆达尔定律 (Amdahl's Law) 布鲁克斯法则 (Brooks's Law) 康威定律 (Conway's Law) 侯世达定律 (Hofstadter's Law) 技术 ...

  5. html5设计原理(转)

    转自:   http://www.cn-cuckoo.com/2010/10/21/the-design-of-html5-2151.html 今天我想跟大家谈一谈HTML5的设计.主要分两个方面:一 ...

  6. 泛函编程(21)-泛函数据类型-Monoid

    Monoid是数学范畴理论(category theory)中的一个特殊范畴(category).不过我并没有打算花时间从范畴理论的角度去介绍Monoid,而是希望从一个程序员的角度去分析Monoid ...

  7. 学习HTML5必读之《HTML5设计原理》

    引子:很久前看过的一遍受益匪浅的文章,今天再次转过来,希望对学习HTML5的朋友有所帮助. 今天我想跟大家谈一谈HTML5的设计.主要分两个方面:一方面,当然了,就是HTML5.我可以站在这儿只讲HT ...

  8. Linux 虚存的性能问题

    虚存子系统是所有 UNIX 系统的核心组件.下面讨论虚存系统的实现及其对操作系统中几乎其他所有子系统的作用和影响.首先详细说明一些基本的内存管理问题:然后具体分析 Linux 操作系统如何实施虚存管理 ...

  9. 一篇文章带你了解Cloud Native

    背景 Cloud Native表面看起来比较容易理解,但是细思好像又有些模糊不清:Cloud Native和Cloud关系是啥?它用来解决什么问题?它是一个新技术还是一个新的方法?什么样的APP符合“ ...

随机推荐

  1. [Silverlight 2.0 控制物体绕圆弧运行(C#初探篇)]

    我自己写的第一个 Silverlight 2.0 程序    [Silverlight 2.0 控制物体绕圆弧运行(C#初探篇)]            程序运行时:小地球将绕着圆形轨迹做圆周运动. ...

  2. hdu2544 迪杰斯特拉题目优化

    点击打开题目链接 迪杰斯特拉的用法不多讲,详见  点击打开链接 . 下面两个代码: 这个是用邻接矩阵存图的迪杰斯特拉. #include<stdio.h> int main() { int ...

  3. codeforces 459E E. Pashmak and Graph(dp+sort)

    题目链接: E. Pashmak and Graph time limit per test 1 second memory limit per test 256 megabytes input st ...

  4. HDFS之二:HDFS文件系统JavaAPI接口

    HDFS是存取数据的分布式文件系统,HDFS文件操作常有两种方式,一种是命令行方式,即Hadoop提供了一套与Linux文件命令类似的命令行工具.HDFS操作之一:hdfs命令行操作 另一种是Java ...

  5. jsp 验证码

    <%@page import="java.awt.Graphics2D"%> <%@page import="java.util.Random" ...

  6. 考拉定时任务框架kSchedule

    此文已由作者杨凯明授权网易云社区发布. 欢迎访问网易云社区,了解更多网易技术产品运营经验. 1.背景 目前项目中使用的定时任务框架存在下面这些问题 没有统一的定时任务管理平台 目前项目中使用定时任务的 ...

  7. bzoj 3576: [Hnoi2014]江南乐【博弈论】

    这个东西卡常--预处理的时候要先把i%j,i/j都用变量表示,还要把%2变成&1-- 首先每一堆都是不相关子游戏,所以对于每一堆求sg即可 考虑暴力枚举石子数i,分割块数j,分解成子问题求xo ...

  8. 使用Spring MVC的@RequestBody注解接收Json对象字符串

    最近公司在开发移动APP,APP上通过jQuery提交表单的json字符串格式数据到Java后端,之前通过request手动接收,非常麻烦,其实Spring MVC已经为我们提供了一个注解@Reque ...

  9. HTML5中div,article,section的区别

    最近正在学习html5,刚接触html5,感觉有点不适应,因为有一些标签改变了,特别是div, section article这三个标签,查了一些资料,也试着用html5和css3布局网页,稍微有点头 ...

  10. hdu 3367 Pseudoforest 最大生成树★

    #include <cstdio> #include <cstring> #include <vector> #include <algorithm> ...