衡量软件交付性能的4个指标

简介: 衡量软件交付性能的4个指标

目录

软件交付性能指标

部署频率

变更准备时间

变更失败率

平均恢复时间(MTTR)

总结


 


当你的团队需要通过持续集成和持续交付(CI/CD)流水线将代码部署到生产环境时,衡量这些应用程序交付的速度和稳定性对于确保软件的高质量具有至关重要的意义。

Nicole Forsgren博士的《Accelerate》一书中介绍了四个软件交付性能指标,来衡量和可视化我们应用程序交付的速度和稳定性。eBay公司据此做出了尝试。


软件交付性能指标

以下是四个软件交付性能指标:

  1. 部署频率–你的组织多久一次将代码部署到生产环境?
  2. 变更准备时间–从提交代码,到在生产环境中成功运行要花多长时间?
  3. 变更失败率–部署中有多少次回滚,修补等?
  4. 平均恢复时间–出现问题时,需要多长时间恢复正常?


eBay公司据此,构建了一个可以实时跟踪和可视化所有这些指标的系统,并能够深查看该组织内所有团队的这些指标的信息。

此外,该系统还允许访问历史趋势,以识别每个级别上四个指标的改进或降低。团队还可以使用过滤器来查看特定时间段内的指标。


部署频率

为了跟踪该指标,我们从构建和部署系统中查找部署事件。在新版本的应用程序被部署到生产环境后,部署计数器会递增。这包括好和坏的应用程序版本。


变更准备时间

准备时间,指的是从变更创建时间到部署第一个服务实例过程中耗费的时间。

部署到生产环境中的单个功能修改,可能有多个提交,从而导致要计算多个交付周期。为了计算单个变更准备时间的总体指标,我们将这些准备时间的中值用作该部署的“变更准备时间”。

该组织,团队或应用程序的所有部署的“变更准备时间”的平均值,就是我们想要的“变更准备时间”。


变更失败率

应用程序在部署生产环境后,由于某些原因影响用户使用,我们需要修正(例如修补程序,回滚,正向修复或修补程序等),这些系统修补次数在所有部署中所占的百分比,就是变更失败率。

当前,我们将变更失败率衡量为给定时间段内所有部署中的回滚百分比。如果实例正在为流量提供服务,即使来自单个实例的回滚也算作失败。


平均恢复时间(MTTR)

平均恢复时间(MTTR)表示系统发生故障时,恢复正常所需的时间。

例如,如果将构建N(不良构建)部署到生产中,然后团队发现了一个问题,要求他们通过部署N-1(最新已知的良好构建)来回滚N,直到将N-1部署到生产环境为止的时间花费就是恢复时间(TTR)。所有TTR的平均值为MTTR。


总结

作为eBay内“ Velocity Initiative ”的一部分,eBay的各种平台和产品团队正在共同努力以实现一个共同目标:提高所有团队更快地交付高质量软件的能力。

同时,测量和可视化这些指标,有助于团队了解交付速度和稳定性方面的优势,还有助于确定整个团队在软件交付过程中需要改进的地方。


译文链接:https://thenewstack.io/4-ways-to-measure-your-software-delivery-performance/



目录
相关文章
|
3月前
|
测试技术
软件交付质量问题之对于处理质量与成本的平衡该如何实现
软件交付质量问题之对于处理质量与成本的平衡该如何实现
|
4月前
|
测试技术 数据安全/隐私保护 UED
通用研发提效问题之衡量软件运行质量,如何解决
通用研发提效问题之衡量软件运行质量,如何解决
|
6月前
软件体系结构 - 可靠性指标
软件体系结构 - 可靠性指标
298 0
软件体系结构 - 可靠性指标
|
6月前
|
测试技术
研发效能度量指标的陷阱思考
研发效能度量指标的陷阱思考
92 0
|
6月前
|
敏捷开发 自然语言处理 数据可视化
敏捷测试度量指标
敏捷测试度量指标
121 0
|
机器学习/深度学习 算法
评估系统或算法质量的重要指标
准确性(Accuracy):衡量系统或算法输出结果与真实结果之间的接近程度。通常使用分类准确率、回归误差等指标来评估。 精确率(Precision)和召回率(Recall):主要用于评估分类模型的性能。精确率衡量预测为正例的样本中实际为正例的比例,召回率衡量实际为正例的样本中被正确预测为正例的比例。
286 4
|
测试技术
效率度量与运营
价值度量与运营 无论是保障质量还是提升交付效率,都是在“如何正确地进行产品交付”这个维度上,那么如何确保产品本身是正确的呢?即,产品本身传递了正确的价值,这就需要对价值进行度量
320 0
|
安全 测试技术 应用服务中间件
持续测试之下的正确质量度量
持续测试之下的正确质量度量
344 0
持续测试之下的正确质量度量
|
大数据
软件成本度量进阶系列之增强开发、中间系统评估
上篇我们讲到《基础软件&基础评估》,第一层的心法是熟知标准和度量模型、掌握并运用方法、熟悉评估流程、熟悉公司业务,最后说了系统架构不断优化,软件系统跟着业务变化多端,今天就为朋友们带来软件成本度量的第二层心法《增强开发、中间系统评估》。
1117 0
|
大数据
软件成本度量进阶系列之增强开发、中间系统评估(转载)
上篇我们讲到《基础软件&基础评估》,第一层的心法是熟知标准和度量模型、掌握并运用方法、熟悉评估流程、熟悉公司业务,最后说了系统架构不断优化,软件系统跟着业务变化多端,今天就为朋友们带来软件成本度量的第二层心法《增强开发、中间系统评估》。
1231 0