背景
几天前谷歌云旗下的 DORA (DevOps Research and Assessments) 发布了一年一度的 State of DevOps 2023 报告。DORA 在国内不像 Gartner 有那么高的知名度,但在全球,DORA 是研发效能 / DevOps 领域最具影响力的报告,从 2014 年开始,每年会出一份,2020 因为疫情的原因没有出,所以加上今年的一共有 9 份。DORA 一开始是一家独立的研究机构,不过在 2018 年底加入了谷歌云。总体来讲 DORA 的报告是整个 DevOps 行业里面最为专业和客观的,这也应该是他当初受到谷歌青睐的原因。即使是加入谷歌后,它的报告也基本可以保持中立性。从最初聚焦在软件发布指标,到现在延伸到组织文化,业务表现,DORA 的阅读人群也从经理,总监为主的技术中层扩展到 CTO, VP 为主的技术管理层,这点尤其在今年的报告中更为突出,也贴合谷歌云从面向开发者到面向管理者的重心转移。Bytebase 作为一家面向研发团队,提供前沿数据库 CI/CD 开源工具的厂商,这也是我们连续第三年对 DORA 进行深度解读:
赞助商
今年获取报告需要先留下联系方式,在收购 DORA 后的第 5 个年头,谷歌云也开始加速了对 DORA 的变现。今年的赞助商相比去年也发生了很大的变化
去年的老面孔
Broadcom Software。Broadcom 算是一家比较传统的软件厂商,和 DevOps 相关的产品线多来自于 2018 年对 CA 的收购。总部在硅谷,当年 CA 大大的 Logo 还挂在 Highway 101 旁的唯一一栋高楼上。
- Deloitte。IT 实施咨询,DORA 报告赞助商的常客。
今年的新面孔
- LinearB。研发流程的优化。通用企业流程挖掘领域的领导者是 Celonis,而 LinearB 可以理解为软件研发这个特定领域的 Celonis。
- Digital.ai。和 LinearB 类似,只是更加直白地用 AI 来宣传。
- Sleuth。也是做类似的事情,不过更加聚焦在 DORA 上。
插曲,这家叫 swarmia 有点机智,知道新的 DORA 报告出了,会有人去搜赞助商,然后就投放了对应的关键词?
从赞助商列表看,做研发流程洞察优化的厂商占了绝大部分,也贴合 DORA 报告的目标受众。不过也可以看到这个领域竞争的激烈程度。接下来我们进入正题,解读一下 DORA 报告本身。
受访人群
样本量相比去年增加了 3.6 倍,整个业界应该是仅次于 Stack Overflow Developer Survey 的规模。覆盖人群则更加全面。地域分布上,除去依然保持低调的某东方大国,也体现了各国软件业的相对体量。这个分布也可以作为出海软件公司的参考,用于选择进入一个新大陆的落脚点。看非洲,肯尼亚已经排在了南非之前。
方法论
DORA 的风格和海外做软件的风格一样,都是从点切入,由小及大。它最初的切入点是软件交付,后面增加了软件运行。再在此基础上推演业务表现 / 团队表现 / 个体感受。
四大核心指标
Deployment frequency(发布频率)
Change lead time (代码从提交到上线的时间)
Change failure rate (上线失败需要介入的比例)
- Failed deployment recovery time (失败的部署需要恢复的时间)
其中最后一个术语做了调整,之前报告用的是更加通用的术语 time-to-restore。因为通用,所以无法区分发布造成的故障和自然灾害造成的故障。新的术语更加精确地限定在了发布领域。
分级 (Grading) - 精英级的回归
去年报告因为 Elite 和 High 之间缺乏区分度,本来的四档变成了三档。今年 Elite 精英级又回归了,原因是因为样本量的大幅增加,区分度又出来了
分类 (Clustering) - 全新的组合
去年的报告采用了类似 Tuckman 组织发展模型的按阶段分类
(Forming > Storming > Norming > Performing > Adjourning),划分为 Staring > Flowing > Slowing > Retiring。User-centric - 用户导向型
Feature-driven - 功能导向型
Developing - 发展型
笔者觉得今年的分类有点模糊,边界不清晰。拿 Bytebase 自身来说,按照去年的阶段分类,可以很清楚地落在 starting 到 flowing 之间。而对于今年的 4 个分类,Bytebase 其实都能沾上边。按照特质分类,个人感觉需要像 MBTI 人格分析那样更加的细分才行。
关键发现
文化和用户视角
Westrum culture 来自于 Westrum 在 2004 年的论文 A typology of organisational cultures 里的观点。高度信任且注重信息交流的组织文化能带来出色的业务表现。
在所有评估的指标里,Westrum 文化和以用户为中心是最能带来正向效果的。前者大家可以进一步阅读 Westrum 的论文,而后者在 DORA 报告里还给出了进一步的数据。可以看到以用户为中心能给每一个指标都带来显著提升,自然现在的公司都要大力提倡了。影响表现的技术因素
延用了计算机的经典解法 - 分治。松耦合的架构 > 更小的变更 > DORA 四大核心指标的提升。
重新验证 Reliability 和 Performance 的关系
2022 年报告的数据显示,组织先要投入很长一段时间的稳定性建设,才能看到成果。这个结论多少让人沮丧,开始没有正向反馈就容易劝退。不过 2023 年通过优化问卷,得出了一个鼓舞人心的结论,就是稳定性和表现的关系符合 J 曲线,投入前期就有效果,然后再经过一段瓶劲期,最终再是显著的收益。
还解决不了主要矛盾的 AI
今年的报告自然不能忽视 AI,结论算是浇了一盆冷水,在所有技术影响因子里是以很大的差距垫底的。这倒也符合个人的预期,因为目前 AI 唯一破圈的场景是帮助写代码,属于「道法术器」里的「器」,是影响最小的。这幅图也比较有意思,展示了当下在研发交付领域,AI 擅长的和不擅长的。除了最后一个 Solving file path issue 是个有点奇怪的问题外,垫底的几个对应的都是「道法」层面的主要矛盾。
总结
一份专业的报告
抛开内容本身,DORA 一如即往地给我们展示了如何撰写一份专业的行业报告。方法论,受访人群,分析方法都在报告中有清晰阐述。关注更多的声音,既让报告更加全面,也注入了人文的元素。I. 轻描淡写的平台工程
今年的报告里第一次提到了最近兴起的平台工程 (Platform Engineering)。DORA 的主题是研发效能 / DevOps,从行业趋势看,这部分工作对应到的就是平台工程团队。平台工程的用户是内部的研发工程师,所以这部分也就出现在第 19 页 User-centric 里。但作为一份研究研发组织的报告,应该可以展开讲讲平台工程,毕竟这是近 10 多年里,继 DevOps / SRE 后,终于涌现出来的一个新组织形态。II. 老生常谈的 Cloud
报告里列举了 Cloud 的各种优势,但对于最近业界 Cloud cost 相关的讨论以及伴随着的下云呼声没有涉及,缺少了一点辩证,这是报告出自谷歌云之手的一点偏心吧。除此之外,谷歌的另外一处植入就是谈论自家的 SRE 实践。III. 转型期的 DORA
业界权威的年度报告里,Stack Overflow Developer Survey 偏一线,关注具体工作中所使用的产品技术;Gartner 面向管理层,关注行业的趋势。DORA 介于两者之间,DORA 里 DO 所代表的 DevOps 基因决定了报告的一线视角,RA 所代表的 Research & Assessment 又使得它会给出价值判断。而从这几年的报告趋势来看,DORA 正逐步走向管理层。比如从赞助商列表来看,往年都有不少研发链路某一个环节的工具厂商,像做 IDE 的 JetBrains,制品库的 JFrog,代码托管的 GitLab,应用部署的 Octopus,数据库变更的 Liquibase。而今年则是清一色的研发效能过程优化赞助商,或许这也是和报告背后的金主谷歌云面向大客的策略调整有关。再从正文看,今年的报告弱化了 DORA 一直背书的软件发布四大核心指标,而是更多地去叙述核心指标背后的元素。这其中把文化和以用户为中心放在了前两位。Culture eats strategy for breakfast - 彼得·德鲁克
既然转型走高层的路线,那就要面临阵痛,DORA 团队分析复盘的能力很强,但相比 Gartner,缺少前瞻性。其本身又绑定在 DevOps 这个早已成熟的概念,再叠加上要宣传 SRE 这个也已经过了成长期的实践。对于平台工程,对于 AI,DORA 这次提及的不多,这一方面体现了它务实的部分,但这些未来 3 - 5 年可见的趋势,才是管理层们更关心的内容。
结束语
度量不是目的,就像发布软件并不是目的。数据若能印证假设固然值得欣喜,但更有价值的往往还是揭示错误的假设。提高软件发布的效率,也是为了形成更短的反馈闭环,发现产品的缺陷,进行改良,更好地满足用户。在这个 AI 的黎明,虚拟现实的前夜,一个具备持续改进能力的组织才是面向未来不确定性下的最大确定性🦾。
能读到这里的,也一定是对软件交付有追求的读者。可以看一下我们正在做的 Bytebase,它目前是整个行业里,数据库变更 CI/CD 领域的领导者。30 分钟手把手带你入门数据脱敏
Bytebase 2.9.1 - 将多个变更编排在一个变更列表中,并在一个工单里进行发布或导出
面包屑对格林童话里的兄妹没有帮助,但对你的网站有
实现基于 GitLab 的数据库 CI/CD 最佳实践