1. 什么是 DORA 指标?
DORA 的全称是 DevOps Research and Assessment,是一个致力于 DevOps 调研与研究的组织
高效能团队如何定义?可能每个人、每个组织都有不同见解。DORA 的做法是将研发团队表现分为三个方面:软件交付表现、运行稳定性表现和组织业绩表现。在软件交付表现方面,提炼出四个关键的结果性指标进行概括,这就是著名的 DORA 指标。DORA 指标包括
- 部署频率(Deployment Frequency):一段时间内应用程序部署到生产中的次数,代表研发团队交付价值的频率
- 变更交付周期(Lead Time for Changes):从代码提交到将代码部署到生产中的时长,代表团队进行代码评审、测试和部署的速度,也部分反映了团队响应用户需求的速度
- 变更失败率(Change Failure Rate):变更部署到生产后发生故障、导致服务降级的比例,代表团队交付稳定服务的能力
- 服务恢复时间(Time to Restore Service):生产环境中发生故障到服务恢复的时间,代表团队快速监测、定位、诊断故障,并从故障中快速恢复的能力
在以上四个指标中,部署频率和变更交付周期指标主要度量的是 DevOps 交付表现中的产能维度(Throughput),而变更失败率和服务恢复时间指标主要度量的是稳定性维度(Stablity)。
同时度量产能与稳定性,一方面能使二者相互制衡,避免大量低质量变更损害用户体验,或避免严守质量拖累交付效率;另一方面,验证优秀的实践能够同时改善产能与稳定性,而不需要研发团队做出取舍,例如小批次的发布策略不仅直接提高部署频率,一旦故障发生也能快速定位,有利于缩短服务恢复时间。
DORA 指标如何指导具体的实践改进?DORA 调研报告贴心地提供了一系列基准值,分为精英团队(Elite)、高效能团队(High)、中等效能团队(Medium)和低效能团队(Low)。研发团队可以参考业界水平对号入座,从而找到最关键的改进项,并在改进的同时持续度量 DORA 指标,验证改进措施的有效性。