概述
DevOps 指标用于追踪与软件开发及 IT 运维相关的 DevOps 实践的成效。DevOps 的目标是更快速、更可靠且更稳定地交付软件。其核心在于优先采用自助服务工具、自动化功能与沟通协作,同时注重提升开发人员的工作效率与满意度。
如果您已在 DevOps 领域投入资源,必然需要一套统一的指标来追踪进展。具体采用哪种方法取决于您所在企业组织的关注重点:是想衡量软件产出,还是评估团队的健康状况?本文将深入解析两大主流评估框架:DORA(侧重于软件)和 SPACE(侧重于团队)。
DevOps 指标框架 DORA 与 SPACE 的对比
DevOps 的核心在于持续改进的文化。明确改进目标及衡量方式,是至关重要的战略决策。DORA 与 SPACE 是 DevOps 领域颇具影响力的两大指标框架。
由于 DevOps 的主要目标是加快可用软件的发布速度,您可能会优先考虑与此目标相关的衡量指标。DORA(DevOps 研究与评估的缩写)指标恰好契合这一需求。
但是,DevOps 的意义远不止于交付了多少可用软件。您可能还需要关注团队满意度与协作效率等维度。SPACE(代表满意度、绩效、活动、沟通与协作及效率)框架则侧重于与团队相关的指标。
这两种截然不同的 DevOps 衡量方法体现了关于衡量重点的不同理念。但这并不意味着只能在两者之间做出非此即彼的选择。这两个框架可以相辅相成,共同衡量 DevOps 目标的不同方面。
DORA
DORA 指标源自 Google Cloud 支持的 DORA 研究项目。2020 年,DORA 项目确立了衡量软件开发团队绩效的“四大关键指标”:
- 部署频率,即企业组织成功将软件发布到生产环境的频次。这一指标需要团队明确界定何为一次“成功的部署”。确定标准后,便可进行计算,例如统计每周内至少有一次成功部署的天数的中位数。
- 变更前置时间,指从提交到成功部署至生产环境所需的时间。这需要追踪提交的时间以及进行部署的时间。
- 变更失败率,即导致生产环境出现故障的部署所占的百分比。计算此指标时,需要掌握部署总次数,以及在问题管理系统中记录的缺陷或事故数量。
- 服务恢复时长,即从生产环境故障中恢复服务所需的时间。需要追踪每个故障事件的创建日期与解决日期,相关数据可从事件管理系统中提取。
次年,又新增了第五项关键指标:
- 可靠性,该指标涵盖了可用性、延迟、性能和可扩展性。DORA 框架通过此指标来衡量企业组织达成或超越其可靠性目标的能力。
这项研究及相关指标体系的目标在于实现更优的商业成果。团队可通过将软件管道中的数据提取至信息面板来追踪软件性能,并持续监控其进展趋势。此外,DORA 框架还会基于各项指标的达成水平,划分出四个绩效评级,分别为精英、高效能、中等效能与低效能。
DORA 框架的一大优势在于,其评估数据可直接从软件团队日常使用的工具中轻松获取,如 GitHub、GitLab 和事件管理系统。您只需将指标整合到信息面板中,所需数据已现成可用。
SPACE
DevOps 指标的 SPACE 框架旨在从多个维度来评估生产力。该框架由一支研究团队在 2021 年发表的一篇论文中首次提出。他们认为,工程工作本身就过于复杂,无法仅通过单一维度或指标来全面衡量。软件开发过程中需要进行取舍权衡,因此团队需要一套兼顾工作各要素的整体性评估方法。
SPACE 框架包含五个不同的衡量维度:
- 满意度与幸福感,旨在衡量开发人员对其工作的感受,以及他们的身心健康状态。要获取这一维度的数据,通常需要通过调研的方式,收集员工满意度、开发人员能否获得所需的工具与资源,以及工作压力导致的倦怠程度等相关信息。
- 绩效,即系统或流程的成果(与产出不同)。它不仅仅体现在代码数量或直接的业务影响上,还体现两个维度上:一是质量,例如代码的可靠性或持续运行服务的健康状况;二是影响力,例如客户满意度、采用率与留存率。
- 活动,追踪工作过程中完成的操作或产出。您可以通过多种方式捕捉开发人员的活跃程度,例如代码提交量或发布次数,但 SPACE 框架强调不应孤立使用这些数据。
- 沟通与协作,共同衡量人员与团队如何共享信息及协同工作。有些指标可帮助衡量沟通、协作与协调效果,包括:文档与专业知识的检索便捷度、工作内容的整合效率、工作评审质量、反映团队成员连接关系的网络指标,以及新成员的入职与上手时间。
- 效率与流畅度,用于衡量在有限中断或延迟情况下完成工作或取得进展的能力。SPACE 框架建议通过以下指标衡量效率与流畅度:流程中的交接次数、维持工作流畅状态并完成任务的主观感受、工作中断频次,以及任务在系统中的流转耗时。
SPACE 框架的各项指标均可在个人、团队或系统层面进行衡量与追踪。
该框架旨在拓宽团队对 DevOps 的认知维度,推动评估重点从单纯量化产出转向对生产力的全局性审视。为此,团队可能需要建立新的流程(例如开展调研)来收集目前尚未采纳的指标数据,比如开发人员的满意程度。
选择 DevOps 指标框架时应考虑的注意事项
您所选用的 DevOps 指标应当契合自身独特的关注重点,并基于实际可衡量的数据。衡量 DevOps 成效的指标可聚焦于产出成果,例如 DORA 框架关注的软件交付速度与质量;也可着眼于软件开发人员为提升工作效率而必须应对的复杂权衡,而这正是 SPACE 框架的侧重点所在。
以下问题可帮助您确定应衡量哪些指标:
- 您所在企业组织的目标是什么?您的目标可能侧重于提升交付速度,或是增强可靠性与弹性;也可能更关注开发人员的整体体验,包括开发人员满意度、协作便捷度与工作效率。
- 您可以收集哪些数据?持续集成和持续部署(CI/CD)管道往往是获取软件变更交付相关数据的最佳来源,但同时,您也可能需要通过调查问卷等方式,收集定性数据作为补充。
- 您的自动化与沟通系统能否高效运行?要获取 DevOps 指标,您需要了解瓶颈所在、团队职能间的沟通情况以及决策制定方式。在获取目标衡量因素的相关可靠数据之前,确保 DevOps 系统按设计正常运转或许是首要前提。
从平台工程视角看 DevOps 指标
DevOps 与平台工程密切相关,而平台工程的核心是构建支撑 DevOps 工作流运转的内部平台与工具。部分用于评估 DevOps 绩效的指标正是源自平台工程工具。此外,开发人员体验(DevEx)领域的相关考量也体现在 DevOps 指标之中。
平台工程致力于减轻开发团队的负担,从而提升开发人员体验。其核心工作包括搭建内部开发人员平台(IDP),借此为开发人员提供一套通用且可复用的工具与功能体系。平台工程师负责设计与维护黄金路径,即符合企业组织标准、文档完备且受支持的软件构建与部署方案。
IDP、黄金路径及其他相关工件的设计决策,与 DevOps 指标紧密相关。当您构建提升 DevOps 效能的流程时,实质上也在定义核心关注事项与可实际衡量的指标。例如,CI/CD 管道将成为洞察软件提交与发布情况的核心数据来源。
红帽能如何提供帮助
红帽提供了丰富的平台、工具及咨询服务,可协助您衡量 DevOps 工作效率。
红帽 OpenShift
应用的运行平台会直接影响 DevOps 指标策略的成效。 红帽® OpenShift® 平台能够跨云环境、本地环境及边缘环境提供一致的体验。它还能借助红帽 OpenShift GitOps 和红帽 OpenShift Pipelines operator,为 CI/CD 工作流提供支持。此外,红帽 OpenShift 可观测性可让您全面了解应用的性能和运行状况。
红帽高级开发人员套件
红帽高级开发人员套件与 DevOps 注重提升工作效率的理念相契合,它提供了关键组件来进一步拓展红帽 OpenShift 的功能,助力开发人员提升工作效率、增强软件供应链安全防护,并支持依托 AI 的开发工作。
红帽开发人员中心
红帽开发人员中心是一个内部开发人员门户,内置于红帽高级开发人员套件中。它将服务目录、文档以及 CI/CD 管道等开发人员工具与服务,以可视化方式整合到直观易用的统一入口,显著提升开发人员体验与企业组织生产力。
红帽咨询
红帽咨询的技术专家会以实操协作的形式,为您的 DevOps 项目提供支持。咨询顾问还会运用服务蓝图和基于指标的流程映射(MBPM)等方法,帮助您更深入地理解并衡量工作流。
AI 时代的平台工程现状
本文全面解读了由 Illuminas 开展的“AI 时代的平台工程现状”调查。了解详情。