BlueGrove Labs
帮助中心StatusPath ReportsJira Cloud
联系支持
EN

Jira 状态平均时长如何计算:分母、分组与零值

在 StatusPath Reports 中,Average Time in Status 的计算方式是:把所有对某状态产生计算记录的工作项时长相加,再除以该状态的贡献工作项数量。分母按状态确定;从未进入 In Review 的工作项不会被当成 0 小时评审。阅读平均值时,应同时确认总体、贡献者数量、历史窗口和日历。

某状态平均时长 = 贡献工作项时长合计 ÷ 贡献工作项数量

总体、历史窗口和状态贡献者

结果由三层范围共同决定:

  1. 总体:通过 Project、Filter、JQL、Sprint、Epic 和工作项日期筛选选出的工作项;
  2. 历史窗口:每个工作项参与计算的状态历史区间;
  3. 状态贡献者:在该窗口内对特定状态产生计算记录的工作项。

一个分组可能有 3 个工作项,但只有 2 个进入过 In Review。因此,分组总体与某状态的分母不一定相同。

真实 Jira 场景:一个 Story 跳过评审

在这个示例中,报表包含三个已完成工作项:

工作项 In Review 时长 是否贡献
SR-2101 2 小时 是
SR-2102 4 小时 是
SR-2103 从未进入 否

如果问题是“经过评审的工作平均评审多久”,正确结果为:

(2h + 4h) ÷ 2 个贡献者 = 3h

除以全部 3 个工作项会得到 2 小时,回答的是另一个问题。StatusPath Reports 当前会把从未进入该状态的工作项排除在该状态分母之外;如果工作项产生过状态记录但计算时长为 0,它仍是贡献者,应检查裁剪历史和日历来解释这个零值。

Average Time in Status 表格显示三个 Jira 工作项的 In Review 平均值为三小时
报表总体包含三个工作项;In Review 列显示两个实际进入该状态的工作项形成的 3 小时平均值。

重复进入应先按工作项汇总

如果一个 Story 第一次在 In Review 停留 2 小时,后来又停留 3 小时,它应贡献一个 5 小时的工作项合计,而不是变成两个工作项。

Story A:2h + 3h = 5h
Story B:          1h
平均值:(5h + 1h) ÷ 2 = 3h

如果问题是发生了多少次评审循环,应改用 Status Count 或 Transition Count。

分组大小与加权平均

假设两个 Sprint 显示:

Sprint 贡献者 In Review 合计 平均值
Sprint 41 8 32h 4h
Sprint 42 2 12h 6h

Sprint 42 平均值更高,但只有两个贡献者,一个异常值就可能产生明显影响。不能直接对 4h 和 6h 再取简单平均,合并后的加权平均应为:

(32h + 12h) ÷ (8 + 2) = 4.4h

Atlassian 的 Control Chart会针对选定的周期时间或前置时间状态显示平均值、滚动平均和标准差,并帮助观察波动与异常值。滚动平均与按状态分组的平均时长不是同一种计算,比较前应确认状态、总体、时间范围和工作日设置一致。

配置 Average Time in Status 报表

  1. 通过 Project、Filter、JQL、Sprint 或 Epic 选择总体。
  2. 只有在指标需要限定历史区间时才使用裁剪历史。
  3. 选择 Average Time in Status,并使用能够回答明确问题的分组字段,避免把结果拆成大量单工作项分组。
  4. 统一 Calendar 和 Format。日历决定哪些时间进入分子,格式决定如何展示。
  5. 阅读每个状态值时同时查看分组数量;遇到异常值时,用 Time in Status 检查相同范围的明细。
  6. 保存配置以便复用,但要记住 Saved Report 不会冻结持续变化的 Jira 数据。

可参考报表类型了解分组平均行为,并参考日历与时长配置工作时间。

常见错误

把分组总数当作每个状态的分母

部分工作项可能从未进入某个状态。应分别核对每个状态的贡献者。

对已经舍入的数值求平均

应先对原始时长求平均,再格式化结果。先把每行取整会引入误差。

比较不同日历或历史窗口

周末、时区、节假日、裁剪历史和当前状态结束规则都可能改变分子。

忽略小样本和异常值

基于 2 个工作项的平均值与基于 200 个工作项的平均值证据强度不同。应展示数量并检查明细。

把当前状态当作固定值

未完成工作项的当前状态时长会持续增长。复现结果时应固定结束边界。

常见问题

从未进入某状态的工作项会按 0 计入吗?

StatusPath Reports 当前不会这样处理。未触达状态会从该状态分母中排除。

0 时长状态记录如何处理?

产生过状态记录但计算结果为 0 的工作项仍是贡献者。日历交集、时间戳精度或裁剪历史都可能产生零值。

分组工作项数量总是分母吗?

不是。它描述总体,某个状态可能只有更少的贡献者。

可以直接比较 Jira 原生平均值吗?

只有在两边的状态、总体、时间范围、工作日、当前状态处理和平均规则一致时才可以。

相关指南

让分母可见

只有当总体、贡献规则、历史窗口和日历都清楚时,平均值才有意义。用 Average Time in Status 做比较,再用 Time in Status 检查异常值背后的工作项。

在 Atlassian Marketplace 试用 StatusPath Reports,创建可追溯到明细的 Jira 分组时长报表。

截图预览