飞书项目的【度量案例分享】研发效能分析

飞书项目的【度量案例分享】研发效能分析

飞书项目手册精选NaN-NaN-NaN
产品功能
📌
以下公式均在新版度量能力下撰写,新版度量使用请参考度量图表配置指南 2.0,更多度量案例指路度量计算公式 2.0 案例合集
研发交付
需求创建数
指标说明:统计周期内,每月提出的需求数量。
  • 维度:创建时间(月维度)
250px|700px|reset
  • 指标:工作项 id(计数)
250px|700px|reset
💡
图表配置解析
  • 将全部需求按创建时间分布,以月为展示周期,计算每个月的的需求数量,工作项 id为需求的唯一标识,此处我们推荐使用工作项ID计数。
250px|700px|reset
需求交付数
指标说明:统计周期内,每月完成的需求数量。
  • 维度:timeline(date("2023-01-01"), date("2023-12-31"), "month")
250px|700px|reset
  • 指标:countIf({工作项id},toStartOfMonth({完成日期})== toStartOfMonth(timelineCursor()))
  • 可复制指标:countIf(${工作项id},toStartOfMonth(${完成日期})== toStartOfMonth(timelineCursor()))
250px|700px|reset
💡
图表配置解析
  • timelineCursor():取维度 timeline 的切片时间;
  • toStartOfMonth():取日期所在月的第一天;
  • 即本指标含义为,如果需求的完成时间所在月的第一天==维度 timeline 所对应切片时间的所在月第一天,即把需求在该维度上计数。
250px|700px|reset
研发质量
研发交付质量
指标说明:统计周期内,新需求引发的 bug 数量。
  • 维度:提出时间(月维度)
250px|700px|reset
  • 指标:countIf({工作项id},BUG归因==新需求引入
  • 可复制指标:countIf(${工作项id},${BUG归因}==$option{新需求引入})
250px|700px|reset
💡
图表配置解析
  • 将因需求原因引入的 bug,按 bug 的创建时间,以月为维度进行分布。
250px|700px|reset
严重 BUG 数量
指标说明:统计周期内,P0、P1 级别 bug 数量。
  • 维度:提出时间(月维度)
  • 指标:countIf({工作项id},优先级==P0||优先级==P1)
  • 可复制指标:countIf(${工作项id},${优先级}==$option{P0}||${优先级}==$option{P1})
💡
图表配置解析
  • 将 P1、P2 的 bug,按 bug 的提出时间,以月为维度进行分布。
250px|700px|reset
严重 BUG 有效解决时长
指标说明:统计周期内,P0 级别 bug,从提交到解决(最后一次进入 Resolved 状态的时间)的平均时间。
  • 维度:创建时间(月维度)
  • 指标:(avgIf({所有状态}.{状态末次开始时间},{所有状态}.{状态名称}=="RESOLVED"&&{优先级}==P0&&({状态}==RESOLVED||{状态}==CLOSED))-avgIf({所有状态}.{状态首次开始时间},{所有状态}.{状态名称}=="OPEN"&&{优先级}==P0&&({状态}==RESOLVED||{状态}==CLOSED)))/86400
  • 可复制指标:(avgIf(${所有状态}.${状态末次开始时间},${所有状态}.${状态名称}=="RESOLVED"&&${优先级}==$option{P0}&&(${状态}==$option{RESOLVED}||${状态}==$option{CLOSED}))-avgIf(${创建时间},${优先级}==$option{P0}&&(${状态}==$option{RESOLVED}||${状态}==$option{CLOSED})))/86400
250px|700px|reset
💡
图表配置解析
  • 如果 bug 当前状态是 REOPENED 或 CLOSED,计算该 bug 末次进入 RESOLVED 状态的时间,并减去 bug 的提出时间,得出该 bug 的修复耗时;
  • 得到的结果为秒级别,如需精确到天,需除以 86400;
  • 针对多个 bug 进行计算,用 avg 取平均值。
250px|700px|reset
研发效率
需求平均交付周期
指标说明:从需求提出到完成上线的时间,反映业务、产品、研发对需求的响应速度,体现研发交付能力。
  • 维度:完成日期(月维度)
250px|700px|reset
  • 指标:avgIf({完成日期}-{创建时间},isNull({完成日期})==false)/86400
  • 可复制指标:avgIf(${完成日期}-${创建时间},isNull(${完成日期})==false)/86400
250px|700px|reset
💡
图表配置解析
  • 如果需求的完成时间不为空,计算完成时间-提出时间的平均值;
  • 得到的结果是秒级别,如需精确到天,可除以 86400。
250px|700px|reset
需求各阶段交付周期
指标说明:需求在每个阶段的交付时间,例如分析阶段、研发排期、研发阶段、测试阶段、发布阶段。
  • 维度:{状态名称}
  • 指标:avgIf({所有状态}.{状态累计进行时间},isnull({所有状态}.{状态末次结束时间})==false)/86400
  • 可复制指标:avgIf(${所有状态}.${状态累计进行时间},isNull(${所有状态}.${状态末次结束时间})==false)/86400
💡
图表配置解析
  • 以状态名称为维度,针对单个需求,如维度对应的状态已完成,计算该需求在此状态的累计进行时间;
  • 针对多个需求,用 avg 计算平均值;
  • 得到的结果是秒级别,如需精确到天,需除以 86400。
250px|700px|reset
需求吞吐率
指标说明:统计周期内已交付的需求数/创建需求数,综合评估交付速率。若<1,说明需求积压,可能存在交付量小于创建量。
  • 维度:timeline(date("2022-01-01"), date("2023-12-31"), "month")
250px|700px|reset
  • 指标:countIf({工作项id},toStartOfMonth({完成时间})== toStartOfMonth(timelineCursor()))/countIf({工作项id},toStartOfMonth({提出时间})== toStartOfMonth(timelineCursor()))(百分比)
  • 可复制指标:countIf(${工作项id},toStartOfMonth(${完成时间})== toStartOfMonth(timelineCursor()))/countIf(${工作项id},toStartOfMonth(${提出时间})== toStartOfMonth(timelineCursor()))(百分比)
250px|700px|reset
💡
图表配置解析
  • timelineCursor():取维度 timeline 的切片时间;
  • toStartOfMonth():取日期所在月的第一天;
  • 本月度创建的需求数量:countIf({工作项 id},toStartOfMonth({提出时间})== toStartOfMonth(timelineCursor()))
  • 本月度完成的需求数量:countIf({工作项 id},toStartOfMonth({完成时间})== toStartOfMonth(timelineCursor()))
250px|700px|reset
复杂需求交付占比
指标说明:统计周期内,交付的需求,复杂需求占比。
  • 维度:完成日期(月维度)
  • 指标:countIf({工作项id},{需求复杂度分级}==LV.5(复杂))/count({工作项id})(百分比)
  • 可复制指标:countIf(${工作项id},${需求复杂度分级}==$option{LV.5(复杂)})/count(${工作项id})(百分比)
💡
图表配置解析
  • 以需求完成时间为维度,计算每月完成的需求中,复杂需求的数量;
  • 除以每月完成的需求总数,将得到的结果输出为百分比。
250px|700px|reset
人均解决 BUG 数
指标说明:统计周期内,平均每个经办人解决的缺陷数。
  • 维度:经办人
  • 指标:countIf({工作项id},{状态}==CLOSED)或countIf({工作项id},{是否完成}==true)
  • 可复制指标:countIf(${工作项id},${状态}==$option{CLOSED})或countIf(${工作项id},${是否完成}==true)
💡
图表配置解析
  • 以经办人为维度,计算每个经办人负责的 bug 中已解决的 bug 的数量;
  • 可以用 bug 的当前状态判断 bug 是否已解决;
  • 也可以用是否完成(如流转到所配置的完成状态,是否完成==是)来判断 bug 是否已解决。
250px|700px|reset
BUG 重开率
指标说明:统计周期时间内,已解决的 bug,被重开(reopen)过的比率。
  • 维度:完成时间(月维度)
  • 指标:countdistinct({工作项id},sumIf({所有状态}.{状态进入次数},{所有状态}.{状态名称}=="REOPENED")>0)/countdistinct({工作项id})(百分比)
  • 可复制指标:countIf(${工作项id},sumIf(${所有状态}.${状态进入次数},${所有状态}.${状态名称}=="REOPENED")>0)/count(${工作项id})(百分比)
💡
图表配置解析
  • 以完成日期为维度,查看不同月份解决的 bug 中,reopen 过的 bug 占比;
  • bug 流转进入 REOPENED 状态的次数:sumIf({所有状态}.{状态进入次数},{所有状态}.{状态名称}=="REOPENED");
  • 如果 bug 进入 REOPENED 次数大于 0,则计算该 bug 数量,得到 reopen 过的 bug 总数;
  • 除以全部 bug 数量,将得到的结果输出为百分比。
250px|700px|reset
先进生产力和业务协同平台
联系我们立即试用

先进团队,先用飞书

欢迎联系我们,飞书效能顾问将为您提供全力支持
分享先进工作方式
输送行业最佳实践
全面协助组织提效
联系我们立即试用