有一个组织,每年都会基于对相关从业者的调研和分析,发布一份《DevOps 行业状态报告》,揭秘研发团队的 DevOps 健康状况和平均效能水平,至今已持续了 9 年。目前,全球有超过三万名专业人士参与该调研,而它也成为同类调查中规模最大、持续时间最长的项目。
它就是在 2018 年加入谷歌的 DORA(DevOps Research and Assessment),一个致力于了解如何让研发团队快速交付高质量软件的组织。经过年复一年地洞察和分析,DORA 团队提炼出四个影响软件交付效能的关键指标,即 DORA 指标。
一、什么是 DORA 指标?
DORA 指标涉及吞吐量(Throughput)和稳定性(Stability)两个方面,共包含四个关键指标,分别是部署频率、变更前置时间、服务恢复时间和变更失败率。
- 部署频率 Deployment Frequency
部署频率是一段时间内,研发团队成功将代码部署到生产环境或将其发布给用户的频率。它衡量了研发团队的平均吞吐量和价值交付频率,体现了组织快速响应变化的能力。
- 变更前置时间 Lead Time for Changes
变更前置时间是指从代码提交到在生产环境中成功运行所需的平均时间,反映了研发团队代码审查、测试、部署等效率和敏捷性。
- 服务恢复时间 Time to Restore Service
服务恢复时间,也称平均恢复时间、平均修复时间(Mean Time to Recovery,即 MTTR),是生产环境中发生故障到恢复服务的平均时间,与研发团队监控、定位、识别和解决故障的能力有关。
- 变更失败率 Change Failure Rate
变更失败率是导致生产失败(如服务降级或服务中断)并需要补救的部署的百分比,通过部署失败次数除以总部署次数计算得出。它反映了研发团队交付高质量代码和稳定服务的能力。
其中,部署频率和变更前置时间度量了研发团队的吞吐量水平,而变更失败率和服务恢复时间度量了研发团队的稳定性。
二、如何正确使用 DORA 指标?
除了四个关键指标外,DORA 还通过聚类分析等方式,为各项指标划分低、中、高和精英等不同水平的效能基准值并每年更新,以帮助更多研发团队明晰自身的效能水平和瓶颈。
例如,《2022 年 DevOps 现状报告》指出,可实现按需部署或支持每天多次部署的研发团队,其部署频率指标达到高效能团队水平。
研发团队结合 DORA 参考值,可以直观地了解自己的各项指标在行业中所处的位置,快速定位和识别问题,并制定针对性的优化提升方案,高效管理。在科技革新和技术更迭飞快的今天,产能效率和稳定性正是研发团队提升组织敏捷性,快速响应变化的成功关键。
数据出自《2022 年 DevOps 现状报告》
三、要小心「数字管理」陷阱
DORA 指标明确了研发效能管理的关键对象和参考水平,为原本模糊的研发效能提升提供了清晰的方向。但是,对量化指标的错误理解和滥用常常导致管理动作变形,阻碍研发团队真正进步。
DORA 研究团队成员 Nathen Harvey 曾在一次活动中表示,许多团队容易掉入「数字管理」陷阱,忽略上下文(Context)。他们总是过分关注指标的具体数值,急于给研发团队贴上「能力强」或「能力差」,甚至是「淘汰」的标签,而忽略不同企业、不同团队、不同产品和服务之间都有各自的发展规律或限制,就像 B/C 端产品的部署频率不可共谈、初创公司和谷歌的服务能力也很难相提并论一样。
此外,Nathen 还强调,DORA 指标管理的最终目的是持续学习,持续改进。技术管理者应该以「实现更快、更好地交付研发价值」为目标,而不是将「达到高效能水平」立为军令状。
四、LigaAI 总结
DORA 指标考虑了吞吐量和稳定性两个维度的四个关键指标,分别是部署频率、变更前置时间、服务恢复时间和变更失败率。
研发团队应该以持续学习、持续进步为核心,正确使用 DORA 指标指导改进和优化,以实现更快、更好的价值交付。在研发管理实践中,切忌「数字管理」和动作变形。
LigaAI@oschina 还将持续分享更多研发效能管理、度量体系搭建的实践经验,以及科学的度量指标管理方法。
点击试用 LigaAI – 新一代智能研发协作平台,一起变大变强!