研发等待时间衡量工作项在流程中处于“已就绪但未开始处理”或“上一环节已交付、下一环节未接手”状态所累积的时长。计算前需要先确定计时起止状态、统计时间窗和单位,再从工作项状态流转记录中逐段累加,按环节和类型分组,用中位数与分位数呈现分布。本文给出一套可复算的口径、步骤与示例,并说明如何结合在制品数量和阻塞原因解读结果。
要点总览(TL;DR)
- 研发等待时间是工作项在就绪待排期、等待评审、等待测试、等待环境、等待发布等非加工状态中累积的时长,按状态流转逐段累加,统计单位是工作项而非个人。
- 取数依赖工作项状态流转日志,需要工作项ID、类型、团队、状态名称、进出时间戳和等待原因分类;统一状态定义、工作日历和类型口径后,跨团队结果才可比。
- 计算分五步:标记等待区间、累加单工作项等待时间、按环节求平均、算整体等待占比、用中位数与P75/P90呈现分布并统计超阈值数量。
- 解读先看分布与长尾,再定位高等待环节,最后结合在制品数量和阻塞原因判断;等待时间反映流程状态,不衡量工作质量与产出价值,不能单独作为团队绩效结论。
- 改进验证需在措施前后用同一口径、同一时间窗长度和工作项范围对比,并检查需求与缺陷比例等工作项结构变化,避免把结构变化误读为流程改进效果。
评估目标:等待时间要回答哪个瓶颈问题
度量研发等待时间,目的不是给每个人记一笔时间账,而是回答工作流动中的具体瓶颈问题:哪个环节在积压、队列长度是否合理、流程改进是否真的缩短了等待。明确这一点,后续的口径设计和结果解读才有稳定的判断标准。
典型的决策用途有三类。第一,识别环节积压:当某一环节的等待时间中位数持续偏高,说明进入该环节的工作项多于该环节的处理能力,需要检查人力配置、评审安排或环境准备。第二,判断队列长度是否合理:等待时间与在制品数量结合看,可以判断当前排队的工作项是否超出团队可承受的范围。第三,验证流程改进是否生效:在改进前后用同一口径对比,观察等待时间分布的变化,而不是只看某一次交付的快慢。
度量对象是工作项在流程中的等待状态,统计单位是工作项而非个人。等待时间长,可能来自队列过长、交接规则不清、资源冲突或外部依赖,这些都属于流程问题。因此结果适合用于流程改进讨论,作为发现问题的线索;把它直接折算成个人绩效,会诱导成员缩短记录中的等待区间,反而破坏数据可信度。
在开始取数之前,建议先写一份评估目标说明,包含三部分:本次要回答的瓶颈问题(例如“测试环节的等待是否构成主要积压”)、统计的工作项范围与时间窗、结果的使用边界(用于流程讨论,不用于个人考核)。这份说明是后续口径争议时的共同依据。
指标与范围:等待时间包含哪些状态、统计哪些工作项
等待时间指工作项处于非加工状态、且已具备进入下一环节条件的时间。常见状态包括:就绪待排期、等待评审、等待测试、等待环境或依赖就绪、等待发布。与之相对,开发中、测试执行中、评审进行中等状态属于加工状态,不计入等待时间。边界状态需要在口径中逐一列明,例如“评审中”算加工,“评审通过待修改”算等待。
纳入统计的工作项类型通常包括需求、任务、缺陷,具体以团队实际使用的类型为准。排除项应明确写出:已取消、重复、测试数据、以及统计时间窗之外创建或完成的工作项。跨类型汇总时要注意,需求与缺陷的流程环节不同,混合统计会稀释环节层面的信息,建议分类型计算后再看整体。
计时起止点按状态流转逐段确定:工作项进入某个等待状态的时间戳为起点,离开该状态进入下一状态的时间戳为终点,一段等待区间就是两者之差。一个工作项在一次流转中可能经历多段等待,单工作项的等待时间是各段之和。这里要避免两种常见错误:把工作项从创建到完成的全部时长当作等待时间;以及只统计最后一段等待,遗漏中间环节。
时间窗与统计单位需要统一。时间窗可以是自然月、季度或某个改进周期,起止日期写清楚。单位建议用小时,便于跨天累加;对外呈现时再换算为天。自然日与工作日的选择影响结果:按自然日计算会把周末和节假日计入等待,适合反映真实日历时间;按工作日计算需要配套工作日历,扣除节假日和非工作时间。两种口径都可以用,关键是同一对比序列内保持一致,并在结果中注明。
| 口径项 | 建议定义 | 需在报告中注明 |
|---|---|---|
| 等待状态清单 | 就绪待排期、等待评审、等待测试、等待环境、等待发布 | 各状态的进入与离开判定规则 |
| 纳入工作项 | 需求、任务、缺陷 | 是否分类型统计 |
| 排除项 | 已取消、重复、测试数据、时间窗外 | 排除数量及占比 |
| 计时起止 | 进入等待状态至离开该状态 | 多段等待是否累加 |
| 时间窗 | 自然月/季度/改进周期 | 起止日期 |
| 单位与日历 | 小时;自然日或工作日 | 节假日处理方式 |
数据口径与证据:等待时长从哪里取、怎么保证可比
等待时长的原始证据是工作项的状态流转日志。每次状态变更都会留下记录:谁在什么时间把工作项从哪个状态改到哪个状态。看板列的停留记录、评审系统的提交与通过记录、测试任务的指派与开始记录,可以作为补充来源,用于校验流转日志是否完整。取数时应优先使用系统自动记录的时间戳,人工补录的时间需要单独标记。
必要字段包括:工作项ID、工作项类型、所属团队或项目、状态名称、进入该状态的时间戳、离开该状态的时间戳、等待原因分类。等待原因分类是后续解读的关键,建议在流程中设置必填或常用选项,例如“等待排期”“等待评审人”“等待测试环境”“等待外部依赖”。没有原因分类时,等待时间只能说明哪里慢,难以说明为什么慢。
数据质量问题需要预设处理规则。状态跳变指工作项从等待状态直接跳到另一个等待状态、缺少中间加工记录,这类区间仍可按时间戳累加,但应标记为“跳变区间”单独统计。时间戳缺失的记录无法计算对应区间,建议剔除该工作项并在数据质量说明中记录剔除数量;如果缺失比例较高,应先修复流程记录再出指标。跨时区团队的时间戳应统一转换为同一时区后再计算,避免出现负值区间。出现离开时间早于进入时间的记录,按异常剔除并回溯原因。
可比性依赖三个统一:统一状态定义,各团队对“等待评审”的含义一致;统一工作日历,节假日的扣除规则一致;统一工作项类型口径,避免有的团队把子任务计入、有的不计入。跨团队对比前,先做一次口径对齐,把差异写进口径表。状态流转记录本身依赖流程工具承载,ONES 工作项的状态流转会留下变更记录,可按工作项查看状态变化时间,为逐段累加等待区间提供原始数据;等待原因也可以通过自定义字段在流转中记录,便于后续按原因分组。
计算步骤:从原始流转记录到等待时间指标
以下五步给出从原始记录到指标的完整流程,每一步都标明公式、分子分母与单位,便于他人复算。
第一步,提取状态流转序列并标记等待区间。按工作项ID排序全部状态变更记录,逐条比对相邻状态,凡是进入等待状态清单中的状态,就标记为一段等待区间的起点,离开该状态时标记终点。输出一张区间表,字段为工作项ID、等待状态、进入时间、离开时间、区间时长(小时)。
第二步,计算单工作项等待时间。公式为:单工作项等待时间 = Σ(离开等待状态时间 − 进入等待状态时间),单位小时。求和范围是该工作项在统计时间窗内的全部等待区间。若某段等待跨越时间窗边界,按时间窗内的实际重叠部分计入。
第三步,计算环节平均等待时间。公式为:环节平均等待时间 = 该环节等待总时长 ÷ 该环节进入等待的工作项数。分母口径要写清楚:是“在该时间窗内进入过该等待状态的工作项数”,同一工作项多次进入同一环节只计一次还是按次数计,需要在口径中固定。建议按工作项计一次,避免反复退回拉高平均值。
第四步,计算整体等待占比。公式为:整体等待占比 = 等待总时长 ÷ 从进入到完成的总流转时长。分母是工作项从进入流程(如创建或进入就绪)到完成(如上线或关闭)的日历时长,分子是该工作项全部等待区间之和。分母为零的情形包括:工作项在时间窗内创建并完成于同一时间戳、或缺少完成时间。处理规则是剔除该工作项并在数据说明中记录数量,不用零除结果参与汇总。
第五步,呈现分布并统计超阈值数量。对单工作项等待时间排序,计算中位数、P75、P90。分位数的含义是:P90 表示有10%的工作项等待时间超过该值。同时统计超过团队约定阈值的工作项数量与占比。阈值由团队根据自身流程设定,本文不给出通用达标线;阈值的作用是圈出需要复盘的长尾工作项,而非考核线。
| 指标 | 公式 | 分子 | 分母 | 单位 |
|---|---|---|---|---|
| 单工作项等待时间 | Σ(离开−进入) | 各等待区间时长 | 不适用 | 小时 |
| 环节平均等待时间 | 环节等待总时长÷进入该环节工作项数 | 该环节全部等待区间时长 | 进入过该等待状态的工作项数 | 小时/项 |
| 整体等待占比 | 等待总时长÷总流转时长 | 全部等待区间时长 | 进入到完成的总时长 | 百分比 |
| 分布指标 | 中位数、P75、P90 | 单工作项等待时间序列 | 不适用 | 小时 |
| 超阈值数量 | 计数与占比 | 超过阈值的工作项数 | 纳入统计的工作项总数 | 项、百分比 |
例子:一个需求从就绪到上线的等待时间计算
以下为演示情景,用于说明计算过程,数值为构造数据。某需求在统计月内的流转时间线如下:3月3日9:00进入“就绪待排期”,3月5日9:00进入“开发中”,3月10日18:00进入“等待评审”,3月12日10:00进入“评审中”,3月12日16:00进入“等待测试”,3月17日9:00进入“测试执行中”,3月18日18:00进入“等待发布”,3月20日10:00上线完成。
| 区间 | 状态 | 进入时间 | 离开时间 | 时长(小时) | 是否等待 |
|---|---|---|---|---|---|
| 1 | 就绪待排期 | 3月3日9:00 | 3月5日9:00 | 48 | 是 |
| 2 | 开发中 | 3月5日9:00 | 3月10日18:00 | 129 | 否 |
| 3 | 等待评审 | 3月10日18:00 | 3月12日10:00 | 40 | 是 |
| 4 | 评审中 | 3月12日10:00 | 3月12日16:00 | 6 | 否 |
| 5 | 等待测试 | 3月12日16:00 | 3月17日9:00 | 113 | 是 |
| 6 | 测试执行中 | 3月17日9:00 | 3月18日18:00 | 33 | 否 |
| 7 | 等待发布 | 3月18日18:00 | 3月20日10:00 | 40 | 是 |
单工作项等待时间 = 48 + 40 + 113 + 40 = 241小时。总流转时长为3月3日9:00至3月20日10:00,共409小时。整体等待占比 = 241 ÷ 409 ≈ 58.9%。按自然日计算,该需求从就绪到上线约17天,其中等待约10天。
假设同一时间窗内“等待测试”环节共有20个工作项进入,该环节等待总时长为1,600小时,则环节平均等待时间 = 1,600 ÷ 20 = 80小时/项。这个平均值需要与分布一起看:如果20个工作项中有3个等待超过200小时,其余多在40小时左右,平均值会被长尾拉高。此时中位数可能是45小时,P90可能是210小时。中位数说明“典型情况”,P90说明“最差的一批有多差”,两者结合才能判断问题是普遍偏慢还是少数工作项被长期搁置。
解读与限制:等待时间能说明什么、不能说明什么
解读按三步走。先看分布与长尾:中位数反映典型等待水平,P90与超阈值数量反映长尾严重程度。若中位数稳定而P90上升,说明多数工作项流转正常,少数工作项被长期卡住,应优先排查这些工作项的阻塞原因。再看环节定位:按环节分组比较等待时间,找出贡献最大的环节,注意用同一分母口径比较。最后结合在制品数量与阻塞原因:某环节等待时间长且该环节在制品数量持续偏高,通常指向处理能力不足;等待时间长而在制品数量不高,则更可能是交接规则不清或外部依赖未就绪。
等待时间长有多个可能来源:队列过长、评审人时间难协调、测试环境排队、跨团队依赖未交付、需求本身反复变更。这些原因对应的改进动作不同,因此需要结合等待原因分类和具体工作项的流转记录判断,不能仅凭指标数值下结论。指标回答“哪里等得久”,原因分析回答“为什么等”,两者缺一不可。
使用限制需要明确写出。等待时间不衡量工作质量,也不衡量产出价值;一个等待时间短的工作项可能质量很差,一个等待时间长的工作项可能涉及复杂的外部协调。等待时间不能单独作为团队绩效结论,它反映的是流程状态,受工作项结构、类型比例和外部依赖影响。跨团队比较前必须确认口径一致,否则比较结果没有意义。
改进验证的方法是:在改进措施实施前后,用完全相同的口径、时间窗长度和工作项范围各计算一次,对比中位数、P75、P90和超阈值占比的变化。同时检查工作项结构是否发生变化,例如需求与缺陷的比例、紧急插入的工作项数量;如果结构变化明显,应分类型对比,避免把结构变化误读为流程改进效果。观察周期建议覆盖至少一个完整的流转周期,减少偶然波动的影响。
常见问题
按自然日和工作日计算等待时间,结果差异很大,应该选哪种?
两种口径都可用,取决于要回答的问题。按自然日计算会把周末和节假日计入等待,反映工作项在日历上实际被搁置的时间,适合向业务方说明交付节奏;按工作日计算需要配套工作日历,扣除节假日和非工作时间,更适合评估团队在可工作时段内的排队情况。
关键约束是同一对比序列内保持一致:改进前后、团队之间的比较必须使用同一种日历口径,并在结果中注明。若中途切换口径,等待时间的变化会混入日历差异,无法判断流程是否真的改善。
状态流转记录缺失或时间戳异常时,等待时间还能算吗?
可以算,但要先处理数据质量并记录处理规则。时间戳缺失的区间无法计算,建议剔除该工作项,并在数据说明中写明剔除数量;如果缺失比例较高,应先修复流程记录再出指标,否则结果代表性不足。
状态跳变(从等待状态直接跳到另一个等待状态、缺少中间加工记录)仍可按时间戳累加,但应标记为跳变区间单独统计。离开时间早于进入时间的记录按异常剔除并回溯原因。跨时区团队先把时间戳统一到同一时区再计算,避免出现负值区间。
等待时间长的环节,是不是直接加人就能解决?
不一定。等待时间长且该环节在制品数量持续偏高,通常指向处理能力不足,增加投入可能有效;等待时间长而在制品数量不高,更可能是交接规则不清、评审人时间难协调或外部依赖未就绪,此时加人对缩短等待帮助有限。
建议先按等待原因分类拆开看:等待排期、等待评审人、等待测试环境、等待外部依赖对应的改进动作不同。结合具体工作项的流转记录确认主因,再决定是调整资源、修改交接规则还是推动依赖方交付。
同一工作项多次退回同一环节,环节平均等待时间怎么算才合理?
分母口径需要在计算前固定。常见做法是按工作项计一次,即“在该时间窗内进入过该等待状态的工作项数”,同一工作项多次进入同一环节只计一次。这样平均值反映的是有多少工作项经历过该环节的等待,不会被反复退回的工作项过度拉高。
如果关注的是退回本身造成的额外等待,可以另设一个指标,按进入次数统计该环节的等待总时长与次数,与按工作项计的平均值并列呈现。两个口径分开报告,避免混用导致结论失真。
改进措施实施后多久可以看到等待时间的变化?
观察周期建议覆盖至少一个完整的工作项流转周期,即从进入到完成的典型时长,减少偶然波动的影响。周期过短,改进前已进入流程的工作项仍在等待,结果会混杂新旧两种状态。
对比时使用完全相同的口径、时间窗长度和工作项范围,观察中位数、P75、P90和超阈值占比的变化。同时检查工作项结构是否变化,例如需求与缺陷的比例、紧急插入的工作项数量;结构变化明显时分类型对比,避免把结构变化误读为流程改进效果。
