累积流图把研发流程各阶段的在制品数量按时间展开,配合到达率与吞吐量,可以判断流动效率是在改善还是恶化。判断的前提是三个指标取自同一时间窗、同一阶段定义。本文给出一套可复算的方法:先看WIP在哪个阶段堆积,再比较进入与离开系统的累积曲线斜率,最后用利特尔法则换算成周期时间,确认变化来自瓶颈前移、需求集中进入还是交付能力下降。评估所需数据通常来自工作项状态流转记录,ONES可作为承载这类记录的协作平台之一。
要点总览(TL;DR)
- 判断顺序固定为三步:先看WIP在哪个阶段持续堆积,再比较到达率与吞吐量的斜率差是否扩大,最后用利特尔法则换算周期时间确认变化方向。
- 三个指标必须取自同一时间窗、同一阶段定义和同一完成定义;阶段合并、完成标准调整或卡片拆分合并后,前后数据不可比,需截断或回溯重算。
- 到达率明显高于吞吐量时,WIP与周期时间同步上升,优先按需求涌入解释;到达率稳定而吞吐量下滑,则指向交付能力下降;积压位置向上游移动提示瓶颈前移。
- 累积流图斜率变化只描述现象,不构成因果证明;单日色带宽度波动大,应取时间窗平均值或趋势,并结合需求来源与流程变更记录复核。
- 评估数据来自工作项状态流转记录,按周或按迭代固定复盘节奏,把结论与依据留痕,连续观察多个周期后再调整WIP上限或阶段划分。
判断流动效率变化要回答的三个问题
流动效率变化在累积流图上表现为带状图的形状改变:某阶段色带变宽、整体曲线变陡或变平、末端曲线与入口曲线的间距拉大。这些形状变化对应三类不同的信号,需要分开识别,否则容易把需求涌入误判为流程变慢。
三个指标各自回答一个独立问题。在制品数量(WIP)回答“工作堆在哪里”:某一时点各中间阶段积压了多少卡片,堆积位置往往指向瓶颈所在阶段。到达率回答“工作以多快速度进入系统”:单位时间内新增卡片数,反映需求侧的压力。吞吐量回答“工作以多快速度离开系统”:单位时间内完成卡片数,反映交付侧的能力。三者组合起来,才能区分是入口压力变大、中间环节卡住,还是出口能力下降。
本文讨论范围限定在工作流动层面的瓶颈识别与效率变化判断,不涉及人员主观体验评估,也不处理单个项目的进度纠偏与排期调整。评估结论用于发现流程问题并组织复盘,不直接作为个人或团队的绩效结论。
指标定义、统计范围与数据口径
可复算的前提是每个指标都有明确的公式、单位与分母。下表给出本文采用的口径,实际使用时需在评估开始前固定下来,并在多个周期之间保持一致。
| 指标 | 公式 | 单位 | 分母与统计范围 | 时间窗 |
|---|---|---|---|---|
| 在制品数量 WIP | 某一时点处于某中间阶段的卡片数 | 张(按阶段分别统计) | 无分母;统计范围为已进入该阶段且尚未离开的卡片 | 按日或按周取时点值 |
| 到达率 | 时间窗内新增卡片数 ÷ 统计天数 | 张/天 | 分子为进入系统的卡片数,分母为时间窗天数 | 与WIP同一时间窗 |
| 吞吐量 | 时间窗内完成卡片数 ÷ 统计天数 | 张/天 | 分子为离开末端状态的卡片数,分母为时间窗天数 | 与WIP同一时间窗 |
| 平均WIP | 时间窗内各时点WIP之和 ÷ 时点数 | 张 | 分母为取样时点数 | 与吞吐量同一时间窗 |
WIP按阶段分别统计,不做全流程加总后再比较,因为瓶颈定位依赖阶段级数据。吞吐量必须先明确完成定义:以哪个状态作为“离开系统”的判定点,需在评估前写清楚,中途更改会导致前后数据不可比。统计粒度建议统一为日或周,同一组对比中不混用。
缺失值与分母为零需要预先约定处理方式。某天无新增卡片时,到达率记为零而非缺失;时间窗内吞吐量为零时,周期时间无法计算,应标注为“不可计算”并单独说明,不用零或极大值替代。时间窗过短会让日粒度数据波动剧烈,建议至少覆盖数个完整交付周期再作比较。
从累积流图读取数据并计算
累积流图按阶段分层绘制各状态的累计卡片数,相邻两条累积曲线之间的垂直距离就是该阶段在某一时点的WIP。取数的第一步是确定读取位置:在每个取样时点,读取每条阶段曲线的累计值,相邻曲线累计值之差即为该阶段WIP序列。
具体计算按以下步骤进行:
- 固定阶段顺序与完成定义,确认取样时间窗的起止日期。
- 在每个取样时点读取各阶段累积曲线的累计值,形成按阶段、按时间的累计值表。
- 用相邻阶段累计值相减,得到各阶段WIP序列;用末端曲线相邻时点累计值相减,得到各时点吞吐量;用入口曲线相邻时点累计值相减,得到各时点到达量。
- 将到达量与吞吐量分别除以时间窗天数,得到到达率与吞吐量;对WIP序列求平均,得到平均WIP。
- 把三个结果对齐到同一时间窗与同一粒度,形成可比较的指标表。
数据不可比的情况需要先处理再计算。阶段定义变更(例如新增评审环节或合并两个状态)会使曲线分层结构改变,前后时段不能直接相减;卡片拆分或合并会改变计数单位,导致到达量与吞吐量口径不一致。遇到这类情况,应在变更点截断,分别计算变更前后的指标,或按新口径回溯重算历史数据后再比较。
用利特尔法则把三者换算成周期时间
利特尔法则给出平均周期时间≈平均WIP÷吞吐量的换算关系,单位由WIP的张数除以吞吐量的张/天得到天数。这个换算把WIP与吞吐量统一到时间口径,使不同时段、不同阶段的流动效率可以直接比较。
当到达率大于吞吐量时,系统内积累的工作增加,平均WIP上升,按公式换算的周期时间随之变长;当到达率小于吞吐量时,积压被消化,WIP下降,周期时间缩短。到达率与吞吐量接近时,WIP趋于稳定,周期时间的变化主要取决于吞吐量的绝对水平。因此判断流动效率变化时,先比较两条斜率,再看WIP的走向,最后用公式确认周期时间的方向。
瓶颈定位需要分阶段计算。对每个中间阶段分别取该阶段的平均WIP和流经该阶段的吞吐量,换算成阶段级周期时间,周期时间最长且持续增长的阶段即为当前瓶颈。若瓶颈阶段前移,表现为上游某阶段的WIP开始堆积而原瓶颈阶段色带收窄,此时应重新计算各阶段周期时间确认新的约束位置。
吞吐量极小时,公式结果会被放大,单日数据尤其不稳定。此时应拉长时间窗、改用周粒度,或直接标注该时段周期时间不可靠,避免用个别异常值下结论。
一个可复算的判断示例
以下数字为演示用途,用于说明计算过程,不代表任何通用达标线。假设某团队以两周为时间窗,阶段划分为“开发中”和“测试中”两个中间阶段,完成定义为进入“已上线”状态。
| 指标 | 前一时段 | 当前时段 |
|---|---|---|
| 平均WIP(开发中) | 12张 | 20张 |
| 平均WIP(测试中) | 8张 | 9张 |
| 到达率 | 3.0张/天 | 4.5张/天 |
| 吞吐量 | 3.0张/天 | 3.2张/天 |
| 全流程平均WIP | 20张 | 29张 |
| 周期时间(全流程) | 约6.7天 | 约9.1天 |
按公式计算:前一时段20÷3.0≈6.7天,当前时段29÷3.2≈9.1天,周期时间明显变长。分阶段看,测试中WIP从8张增至9张,变化有限;开发中WIP从12张增至20张,是积压的主要位置。到达率从3.0升至4.5张/天,吞吐量仅从3.0升至3.2张/天,入口增速远高于出口增速。
这组数据支持三种解释,需要结合业务背景区分。其一,需求集中进入:到达率大幅上升而吞吐量基本持平,WIP堆积主要来自入口压力,属于需求涌入型。其二,瓶颈前移:若开发中阶段本身处理能力未变,而测试中阶段因评审或环境问题放慢了流转,积压会向上游传导,需检查测试中阶段的流入流出是否失衡。其三,交付能力下降:若到达率稳定而吞吐量下滑,则属于出口能力问题。本例中到达率上升最明显,优先按需求涌入解释,同时复核开发中阶段的处理能力是否同步变化。
结果解读的边界与常见误判
累积流图上的斜率变化描述的是工作流动的现象,不能直接作为因果证明。色带变宽可能来自流程变慢,也可能来自批量到达、统计口径调整或阶段性集中提交,结论需要结合需求来源、人员变动和流程变更记录复核。
常见误判集中在以下几类:
- 把WIP上升直接归因于流程变慢。批量到达会在短时间内推高WIP,此时吞吐量未必下降,应同时看到达率曲线。
- 用单一时点的色带宽度下结论。单日数据波动大,应取时间窗内的平均值或趋势。
- 忽略阶段定义与完成定义的变化。状态合并、拆分或完成标准调整后,前后数据不可比,直接对比会得出错误结论。
- 把周期时间换算结果当作绩效指标。利特尔法则给出的是系统层面的平均关系,个体卡片差异较大,不宜用于个人评价。
- 套用固定达标线。不同团队、不同工作类型的合理WIP与周期时间差异很大,应建立自身基线并观察趋势变化。
解读时应把三个指标放在一起陈述:WIP堆积在哪个阶段、到达率与吞吐量的差值如何变化、周期时间朝哪个方向移动。三者方向一致时结论较可靠,出现矛盾时应先核查数据口径,再补充业务信息。
把评估落到日常协作中
这套评估依赖持续、可追溯的状态流转记录。工作项从进入开发到完成上线的每次状态变更,构成累积流图的原始数据;按阶段与时间窗汇总这些记录,即可得到WIP序列、到达量与吞吐量。数据来源稳定,评估才能按周期重复进行。
在实际协作中,可以把评估组织成一个固定节奏的复盘动作:按周或按迭代查看各阶段累积变化,确认WIP堆积位置与到达率、吞吐量的差值,用利特尔法则换算周期时间并与上一周期对比,把判断结论和依据记录在复盘文档中。ONES支持工作项状态流转的记录与按阶段、时间范围查看工作项分布,团队可以据此汇总各阶段WIP与完成数量,并将复盘结论留痕,便于下一周期直接对比。评审中形成的改进项可转为工作项跟踪,使评估结论落到具体的流程调整上。
需要提醒的是,评估的价值在于发现趋势和定位约束,单次结果不足以支撑流程改造决策。建议连续观察多个周期,确认变化方向稳定后再调整WIP上限、阶段划分或交付节奏,并在调整后继续用同一口径复算,验证改动是否带来预期的流动改善。
常见问题
时间窗应该取多长,日粒度和周粒度怎么选?
时间窗至少要覆盖数个完整交付周期,否则日粒度数据波动剧烈,斜率和WIP序列都难以形成稳定趋势。判断方法上可以先按周粒度看整体走向,确认某阶段存在持续堆积后,再切到日粒度定位堆积开始的时间点。
同一组前后对比必须使用同一粒度。前一时段用周、当前时段用日,算出的到达率和吞吐量分母不同,直接比较会得出错误结论。吞吐量极低或某段时间窗内完成数为零时,应拉长时间窗或标注该时段周期时间不可靠,不用个别异常值下结论。
完成定义中途调整了,历史数据还能直接对比吗?
不能直接对比。完成定义决定吞吐量的分子,判定点从“测试通过”改为“已上线”,同一批卡片离开系统的时间会整体后移,吞吐量曲线随之改变。阶段定义变更同理,新增评审环节或合并两个状态会改变累积曲线的分层结构,相邻阶段相减得到的WIP序列口径已经不同。
处理方式有两种:在变更点截断,分别计算变更前后的指标,只做各自时段内的趋势判断;或按新口径回溯重算历史数据,使前后可比。无论选哪种,都应在复盘记录中写明变更时间和处理方式,避免下一周期误读。
WIP上升但吞吐量没有下降,说明流程变慢了吗?
不一定。批量到达会在短时间内推高WIP,此时到达率曲线明显变陡,而吞吐量保持平稳,属于入口压力而非流程变慢。判断时应同时看到达率与吞吐量的差值:差值扩大且WIP堆积集中在入口附近阶段,优先按需求涌入解释;差值稳定而某中间阶段色带持续变宽,才更可能是该阶段流转受阻。
还要排除统计口径因素,例如卡片拆分导致计数单位变化、阶段性集中提交造成的数据尖峰。三者方向一致时结论较可靠,出现矛盾时先核查数据口径,再补充需求来源和流程变更信息。
利特尔法则算出的周期时间和实际交付周期对不上,以哪个为准?
两者口径不同。利特尔法则给出的是系统层面的平均关系,用平均WIP除以吞吐量得到,反映的是整体趋势;实际交付周期是单张卡片从进入到离开的实际耗时,个体差异较大。两者长期偏离明显时,通常说明系统未处于稳定状态,例如WIP持续增长或到达率剧烈波动,此时平均关系的适用性下降。
实践中用利特尔法则做跨时段的方向比较,用实际交付周期核对单张卡片的异常。不建议把换算结果当作个人或团队的绩效指标,它描述的是流程状态,不用于评价个体。
复盘时发现瓶颈阶段前移了,下一步该调整什么?
先重新分阶段计算周期时间,确认新的约束位置,再决定调整动作。瓶颈前移通常表现为上游某阶段WIP开始堆积而原瓶颈阶段色带收窄,此时应检查新瓶颈阶段的流入流出是否失衡,以及原瓶颈阶段的处理能力提升是否真实发生。
可调整的方向包括WIP上限、阶段划分和交付节奏,但每次只改一个变量,并在调整后继续用同一口径复算,验证流动是否改善。单次复盘结果不足以支撑流程改造决策,建议连续观察多个周期,确认变化方向稳定后再动手。
