研发阻塞时间如何计算:口径、公式与验证方法

研发阻塞时间衡量工作项因等待而停止向前流动的累计时长,计算的关键在于先固定阻塞状态与起止事件,再用状态变更日志逐段取数。单段时长等于解除阻塞时间减去进入阻塞时间,汇总后可按发生阻塞的工作项数或在制时间换算成平均值与占比。本文给出一套可复算的口径、公式与算例,并说明未结束阻塞、分母为零等情况的处理方式。



要点总览(TL;DR)


  • 研发阻塞时间指工作项处于阻塞状态、无法向前流动的累计时长,计算对象是工作项而非人员工时。
  • 单段阻塞时长 = 解除阻塞时间 − 进入阻塞时间;工作项阻塞总时长为各段区间之和,同一指标内单位需统一为小时或工作日。
  • 平均阻塞时长以发生阻塞的工作项数为分母,分母为零时单列为“无阻塞样本”;阻塞时长占比需注明分母是在制时间还是日历跨度。
  • 未结束的阻塞按统计截止时间截断并标注为未完结区间;多次阻塞按“进入—解除”配对拆分,缺失时间戳的记录单列待核。
  • 阻塞时间只反映等待,不直接证明瓶颈成因,需结合阻塞原因记录、周期时间与流动效率共同解读。


评估目标:阻塞时间要回答哪个流动问题


阻塞时间是一个描述等待的指标,它的价值取决于先明确要回答什么问题。同一批数据,用途不同,观察粒度和汇总方式也不同。开始取数前,建议先把用途写下来,再决定统计对象。


用途 要回答的问题 建议观察粒度 主要输出
诊断瓶颈 等待集中发生在哪些阶段、哪些类型的工作项上 阶段、工作项类型 分组后的阻塞总时长与平均阻塞时长
评估改进效果 调整流程或补充资源后,等待是否减少 团队或流程,按时间窗对比 改进前后的平均阻塞时长、阻塞时长占比
验收流程规则 阻塞登记、解除、交接是否按约定执行 工作项 阻塞记录完整率、未解除阻塞数量

粒度选择直接影响结论。按工作项观察,能看到单个需求被卡住的完整过程;按阶段汇总,能看出等待在哪个环节堆积;按团队汇总,适合观察整体趋势,但会掩盖团队内部差异。三种粒度可以并存,前提是分别定义、分别取数。


需要明确的是,阻塞时间只描述工作项处于等待状态多久,它本身不证明等待的原因,也不说明是谁造成了等待。把阻塞时间直接当作团队绩效分数,容易把流程问题归到个人身上。合理的做法是把它作为线索,再结合阻塞原因记录、周期时间和流动效率去定位问题。



指标与范围:阻塞状态、起止事件与统计边界


让不同人按同一口径取数,需要把“什么算阻塞”“从哪一刻开始、到哪一刻结束”“统计哪些工作项”三件事写成定义。下面这张口径定义表可以直接作为团队约定使用。


口径项 需要约定清楚的内容 示例写法
阻塞判定方式 用专门状态、标签,还是阻塞原因字段非空来判定 工作项状态为“阻塞”,或“阻塞原因”字段有值
进入阻塞事件 状态变更为阻塞的时间戳,或阻塞标记被添加的时间 状态变更日志中首次进入“阻塞”的记录时间
解除阻塞事件 离开阻塞状态的时间戳,或阻塞标记被移除的时间 状态变更日志中离开“阻塞”的记录时间
统计范围 工作项类型、时间窗、团队与阶段边界 需求与缺陷两类;统计窗为迭代起止日期;覆盖研发阶段
排除项 哪些记录不计入 非研发工作项、重复添加的阻塞标记、被撤销的阻塞记录

判定方式建议只选一种主口径。用状态字段判定,边界清晰、便于自动取数;用标签或原因字段判定,灵活但容易出现同一工作项被多次标记的情况。两种方式混用会让区间重复计算,取数前应统一。


统计范围要同时限定类型和时间窗。时间窗决定哪些阻塞区间被纳入:区间完全落在窗内的直接计入;跨越窗口边界的区间,按窗口起止时间截断后计入。团队与阶段边界则决定分组方式,跨团队协作的工作项需要约定归属规则,例如按当前负责团队归属,避免同一区间被两个团队各算一次。


排除项要在取数脚本或报表里显式处理。非研发工作项(如行政事务)不计入研发阻塞时间;同一工作项在短时间内被重复添加阻塞标记,应合并为一段;被撤销的阻塞记录不产生有效区间。把这些规则写进口径文档,后续换人取数也能得到一致结果。



数据口径与证据:从状态日志取到可信区间


阻塞时间的可信度取决于区间是否可追溯。优先使用系统自动记录的状态变更日志和字段修改记录,它们带有操作时间和操作人,能支撑复核。评论、关联依赖、外部沟通记录可以作为补充证据,用于解释阻塞原因,但不宜单独作为起止时间的唯一来源。


同一工作项多次阻塞时,按“进入—解除”配对拆成独立区间,再求和。配对规则要固定:按时间顺序,每次进入阻塞匹配其后最近的一次解除阻塞;若出现连续两次进入而没有解除记录,视为数据异常,单独列出待核。区间之间不合并,除非两段间隔极短且属于同一次误操作。


缺失时间戳、时区与节假日是常见的数据问题,处理方式需要在口径中写明:


  • 缺少解除时间的区间,按统计截止时间截断,并标注为未完结区间,不与已完结区间混在同一平均值里比较。
  • 所有时间戳统一换算到同一时区后再相减,避免跨时区团队出现负值或偏差。
  • 以小时为单位时,明确是否扣除夜间与非工作日;以工作日为单位时,明确节假日日历的版本,同一指标内单位保持一致。

抽样复核是保证数据可信的常规动作。建议每个统计周期抽取一定比例的工作项,对照状态日志逐段核对起止时间,记录差异原因。复核记录留存下来,既能支撑指标解释,也能反过来推动阻塞登记规范。



计算步骤:单段区间、汇总与占比公式


公式本身不复杂,难点在于单位和分母的选择。下面按操作顺序给出计算方式,所有公式中的时间单位需在同一指标内统一。


  1. 单段阻塞时长 = 解除阻塞时间 − 进入阻塞时间,单位取小时或工作日。
  2. 工作项阻塞总时长 = 该工作项各段阻塞区间时长之和。
  3. 平均阻塞时长 = 阻塞总时长 ÷ 发生阻塞的工作项数。分母只计发生过阻塞的工作项,未发生阻塞的工作项不进入分母;分母为零时,平均值单列为“无阻塞样本”,不写成 0。
  4. 阻塞时长占比 = 阻塞总时长 ÷ 在制时间或日历跨度。分母选在制时间,反映等待占实际流动时间的比例;分母选日历跨度,反映等待占整体交付周期的比例。两种分母得到的占比不可直接比较,报表中需标注所用分母。
  5. 分组汇总:按阶段、工作项类型、团队分别汇总阻塞总时长与平均阻塞时长,分组维度与统计范围保持一致,避免同一区间重复归组。

指标 公式 单位 分母说明
单段阻塞时长 解除时间 − 进入时间 小时或工作日 无
工作项阻塞总时长 各段区间求和 小时或工作日 无
平均阻塞时长 阻塞总时长 ÷ 发生阻塞的工作项数 小时/项或工作日/项 分母为零时单列说明
阻塞时长占比 阻塞总时长 ÷ 在制时间(或日历跨度) 百分比 需标注分母类型

计算顺序建议先算区间、再算工作项汇总、最后算团队或阶段汇总。每一步保留中间结果,便于发现异常值,也便于在口径调整后快速重算。



算例:一个迭代内的阻塞时间复算


以下为演示情景,用于说明公式落地方式,数据为虚构。某迭代统计窗为 10 个工作日,团队共有 8 个工作项,其中 3 个发生过阻塞。


工作项 A 有三段阻塞区间:第 1 段从第 2 个工作日 10:00 到第 2 个工作日 16:00,计 6 小时;第 2 段从第 4 个工作日 09:00 到第 5 个工作日 18:00,按工作日折算计 2 个工作日;第 3 段从第 8 个工作日 14:00 开始,到统计截止时仍未解除,按截止时间截断计 1 个工作日,标注为未完结区间。为便于演示,将三段统一折算为工作日:6 小时按 8 小时工作日折算为 0.75 个工作日,加上 2 个工作日和 1 个工作日,工作项 A 的阻塞总时长为 3.75 个工作日。


工作项 B 阻塞总时长为 1 个工作日,工作项 C 为 0.5 个工作日。团队阻塞总时长 = 3.75 + 1 + 0.5 = 5.25 个工作日。平均阻塞时长 = 5.25 ÷ 3 ≈ 1.75 个工作日/项。若以日历跨度 10 个工作日为分母,阻塞时长占比 = 5.25 ÷ 10 = 52.5%;若以 3 个发生阻塞工作项的在制时间之和为分母,则需先算出各自在制时间再相除,两种结果不可混用。


边界情况的呈现方式同样要固定:若统计窗内没有工作项发生阻塞,平均阻塞时长记为“无阻塞样本”,占比记为 0%,并在报表中注明样本量为零;若某工作项缺少解除时间且无法按截止时间截断,则单列为数据缺失,不进入平均值计算,避免拉低或抬高整体结果。



解读与限制:哪些结论能下,哪些要谨慎


阻塞时间能支持的结论是“等待有多长、集中在哪”,不能直接支持的结论是“为什么等待”。看到某阶段阻塞时间偏高,可以据此安排复盘,但要结合阻塞原因记录、依赖关系和资源情况才能判断成因。把单指标直接写成瓶颈结论,容易误导改进方向。


可比性需要谨慎对待。不同团队的工作项类型、拆分粒度、阻塞判定习惯不同,直接横向比较平均阻塞时长可能失真。跨团队比较前,应先核对口径是否一致,必要时按工作项类型分层比较。同一团队在不同时间窗对比时,也要注意迭代长度、节假日和人员变动的影响。


建议把阻塞时间与周期时间、流动效率等指标结合验证:阻塞时间下降,若周期时间同步下降,改进更可信;若阻塞时间下降而周期时间不变,可能是阻塞被转移到了未登记环节。改进前后对比要保证时间窗长度相近、样本量足够,样本过少时只做趋势观察,不下确定结论。



把阻塞记录接入日常协作流程


阻塞时间能否持续计算,取决于日常是否留下了完整的阻塞记录。登记动作越贴近实际发生时刻,区间越准确。建议在团队约定中明确以下操作要点:


  • 进入阻塞时登记:工作项一旦无法推进,立即变更状态或添加阻塞标记,同时填写阻塞原因和当前跟进责任人,避免事后补记导致时间失真。
  • 解除阻塞时流转:阻塞解除后及时变更状态并注明交接对象,确保解除时间有明确记录,未完结区间不会被无限延长。
  • 评审与复盘使用:在迭代评审和复盘中调取阻塞记录,按阶段和原因归类讨论,把讨论结果转化为流程调整或责任分工的改进项。

这些动作需要有承载的地方。ONES 的工作项支持状态流转与字段记录,阻塞原因、责任人等信息可以随工作项一起留存,状态变更形成的时间记录为区间取数提供了基础。团队按统一口径登记后,阻塞总时长、平均阻塞时长等指标可以从这些记录中汇总得出,减少手工补录和口径争议。具体字段配置和报表方式可结合团队现有流程设定,关键是让登记动作成为工作项流转的一部分,而不是额外的统计负担。



常见问题


工作项在统计窗内一直处于阻塞、到截止时仍未解除,这段时间怎么算?


按统计截止时间截断计入,并在数据中标注为未完结区间。这样处理能保证同一统计窗内所有工作项的取数口径一致,也避免未完结区间被无限延长。


呈现时建议把未完结区间与已完结区间分开列示:平均值可以只基于已完结区间计算,未完结部分单独给出数量与累计时长。两类数据混在同一平均值里,会让结果随统计时点波动,难以做前后对比。


同一工作项在一个迭代里被反复标记阻塞,是合并成一段还是逐段计算?


按“进入—解除”配对拆成独立区间,再求和,不合并为一段。配对规则固定为按时间顺序,每次进入阻塞匹配其后最近的一次解除阻塞。


只有一种情况可以合并:两段间隔极短且确认为同一次误操作,例如重复点击导致连续两条标记记录。若出现连续两次进入而没有解除记录,应视为数据异常单独列出待核,不自行补一个解除时间。


阻塞时长占比用哪个分母更合适,两个团队用了不同分母还能比较吗?


分母取决于要回答的问题。以在制时间为分母,反映等待占实际流动时间的比例,适合分析流程内部的等待结构;以日历跨度为分母,反映等待占整体交付周期的比例,适合对外说明交付节奏。


两种分母得到的占比不可直接比较。跨团队对比前先核对分母类型与统计窗长度,口径不一致时应统一重算后再比,或在报表中分层呈现并注明各自分母。


状态日志里缺少解除时间或时间戳跨时区,取数时怎么处理?


缺少解除时间且无法按截止时间截断的记录,单列为数据缺失,不进入平均值计算,避免拉低或抬高整体结果。所有时间戳先统一换算到同一时区再相减,防止跨时区团队出现负值或偏差。


以小时为单位时要写明是否扣除夜间与非工作日,以工作日为单位时要固定节假日日历版本。这些规则写进口径文档后,换人取数也能得到一致结果。


阻塞时间下降就说明流程改好了吗?还需要看什么?


不一定。阻塞时间下降可能来自真实改进,也可能来自阻塞被转移到未登记环节,或登记习惯变松导致区间变短。


建议与周期时间、流动效率结合验证:阻塞时间与周期时间同步下降,改进更可信;阻塞时间下降而周期时间不变,需要检查阻塞记录是否完整。改进前后对比要保证时间窗长度相近、样本量足够,样本过少时只做趋势观察。