持续交付2.0

工程效率胜任力改善牵引指标体系

Image

我是《持续交付2.0》的作者,乔梁,已从事企业咨询管理多年,积累了大量的企业管理咨询经验。

在十数年的的咨询工作中,逐步总结整理出了企业中软件工程管理在不同阶段的改进指标器,现首次发布于此。

这些指标主要分为结果展示性指标和过程引导性指标。

  • 结果展示性指标可以对软件交付与运营的成效进行评估。

  • 过程引导性指标主要是为了牵引软件交付与运营团队的行为而设定。

由于软件交付形态的不同(例如客户端/web应用/后台微服务/SDK框架等),指标的具体定义会根据具体情况进行适当调整。

下面分别列出结果展示性指标集和与过程引导性指标集。

1

结果展示性指标集
  • Mini-Feature Lead Time P75

  • User Story Delivery Time P85

  • 有效缺陷数

  • 挂起缺陷数

  • 遗留缺陷数

  • 千行代码bug率

  • 研发类线上缺陷数

  • 线上研发缺陷解决时长

  • 研发类事件单数

  • 研发事件单平均解决时长

  • 发布需求数

  • 产品代码行

  • Web漏洞达标

  • 安全漏洞达标

  • 开发阶段安全漏洞及时处理

  • MTTR

  • P75产品提出需求到验证结果的周期

  • 移动端Crash率

  • 实验流程异常率

2

过程引导性指标集

过程引导性指标包含 12 个维度,每个维度都包含数个指标项。

需求协作

  • 新缺陷及时处理

  • 缺陷单操作规范率

  • 缺陷管理流程落地率

  • 需求单操作规范率

  • 需求管理流程落地率

  • 需求变更未同步

  • 需求(US)开发周期

代码质量

  • 代码提交日志规范

  • 代码提交关联工作项

  • 代码规范考试

  • 安全规范考试

  • 代码圈复杂度

  • 新代码 CR 覆盖率

  • 代码规范达标率

  • 开源治理代码质量

  • 代码 Owner 覆盖率

测试管理

  • 最近30日遗留缺陷

  • 需求平均缺陷数

  • 需求等待验收时长

  • 需求问题引入缺陷

自动化测试

  • 自动化全量覆盖率

  • 自动化增量覆盖率

  • 自动化稳定率

  • 单测全量覆盖率

  • 单测增量覆盖率

  • 测试用例建设

持续集成

  • CLCT

  • 提交构建合规率

  • 次级构建合规率

  • 提交构建限时成功率

  • 次级构建限时成功率

  • PipelineAsCode

  • 主干线性提交率

  • 集成环境部署粒度

  • 预发布环境部署粒度

  • 生产环境部署粒度

  • 提交构建粒度

后台部署运营

  • 容灾能力

  • 弹性调度

  • 发布能力

  • 故障演习

  • 混沌工程

  • 监控能力

后台架构

  • 名字服务

  • 多地部署容灾

  • 对外域名接入防火墙

  • 故障自愈和稳定性

  • 服务不强占系统资源

  • 灰度验证能力

  • 资源自动调配

「环境管理,配置管理,制品管理,产品监控」这四个维度的指标项与工具平台的支撑能力。

「分支管理」在众多团队中基本分不出先后。

因此,以上五个维度的内容不在此处展示。

3

如何使用 EPC 指标体系

注意事项

它们并非在同一时间点同时使用,而是根据客户的实际阶段性目标,客户方的工程基础设施的匹配程度以及团队的实际状态,分批次结合使用。

由于这些指标中,有一部分指标与客户方的软件工程基础设施与工具平台支撑能力有关,应在指导下,有目标有步骤地循序渐进使用。且不可为了在短期内快速提升少数指标,而盲目投入不必要的成本。

使用建议

建议在专业顾问的指导下使用。

由于软件交付与运营过程(SDOP)是一个较长的工作过程,涉及人员及角色众多,所用到的工具平台支撑链条也很长,影响因素相互牵制,因此,个别过程改进性指标的提升或减低,很可能不会对结果指标性指标产生影响。所以,团队必须使用系统思维方式,识别系统边界,并通过绘制系统循环图,发现图中的增强环路和调节环路,从而及时更新引导性指标。

友情提示

  • 度量有成本,而且不低。

  • 当指标变成目标后,它就不再是好的指标(见:古德哈特定律)。

  • 指标最终都会被玩弄(古德哈特定律的推论)。

  • 改进不应「唯数字论」。