QCon 演讲火热征集中,快来分享技术实践与洞见! 了解详情
写点什么

DevEx:来自 SPACE 作者的一种全新的度量框架

作者:Abi Noda

  • 2023-08-18
    北京
  • 本文字数:3981 字

    阅读完需:约 13 分钟

DevEx:来自SPACE作者的一种全新的度量框架

关键要点

  • 研究人员 Abi Noda、Nicole Forsgren 博士、Margaret-Anne Storey 博士和 Michaela Greiler 博士发表了一篇论文,为提高生产力提供了一种切实可行的途径,其重点聚焦在开发者体验 (DevEx)。

  • 开发者体验聚焦于开发者的真实体验及其在日常工作中遇到的摩擦点。作者断言,关注开发者体验是最大化工程效率的关键,并介绍了一个用于衡量和改进的 DevEx 框架。

  • 组织可以通过识别开发人员遇到的最大摩擦点来改善开发者体验,然后在可提高开发人员能力或满意度的可改进领域进行大力投入。

  • DevEx 框架将影响开发者体验的因素提炼为三个维度:反馈回路、认知负荷和心流状态。领导者可以在这三个维度中选择指标,以衡量和确定需要关注的领域,最终推动生产力的提高。

  • 调查为获得一套全面的衡量标准提供了一个实践性的起点,以便充分了解开发者体验。有效的调查计划需要注重调查设计,以及按角色和团队分解结果并将结果与​​内部和外部基准进行比较的能力。

 

近期发布的一篇研究论文揭示了度量和提升开发者生产力的一种全新框架。

 

该框架称作 DevEx框架 ,作者为 Abi Noda、Margaret-Anne Storey 博士、Nicole Forsgren 博士、和 Michaela Greiler 博士。

 

领导者长期以来一直在寻求提升其工程团队的生产力,以便帮助业务更快发展、开发新产品及利用新兴趋势。

 

然而,尽管近来也涌现出了 DORA 和 SPACE 这类方法,但要重点关注什么才能实现这一目标,想知道这一点仍然难以捉摸;而新的框架旨在解决这一差距。

 

作者凭借广泛的研究和经验,断言关注开发者体验是最大限度提高工程效率的关键。

他们的论文提出了框架,将开发者体验提炼为三个核心维度,并提供了衡量它的方法。

本文包含论文要点摘要以及主要作者 Abi Noda 的评论。这里还有全文的链接

 

度量生产力有难度

 

谷歌研究员 Ciera Jaspan 和 Collin Green 在最近的一篇文章中提出了衡量开发人员生产力很有挑战性的两大原因:软件工程的不可重复性,以及开发人员的生产力受到外部力量的严重影响。

 

对于后者,外部力量可能是工作的复杂性(以及是否一定有那么复杂)、完成工作时与他人的互动或组织设计。还有一些具体影响开发人员的因素,包括不稳定的测试、构建速度和技术债务。

衡量生产力困难的另一个原因是,软件开发是一项创造性的工作:它并不是在生产统一通用的产出物。"试图通过借用操作机器的方法来量化生产力,并不适合软件工程"。

 

我们必须记住,我们正在与一个本质上是人类的系统合作。为了了解如何改进该系统,我们需要从人类那里了解他们当前的体验如何。

 

开发者体验提供了新视角

 

开发者体验提供了一种了解开发人员生产力的新方式:从开发人员本身的角度。开发者体验包括开发人员如何“感受、思考和重视他们的工作”,并关注开发人员在执行工作时面临的日常现实和摩擦。

 

先前的研究已经确定了许多影响开发者体验的因素:例如,中断、不切实际的截止日期以及开发工具的摩擦,都会对开发人员对其工作的感受产生负面影响。明确的任务、组织良好的代码和轻松的发布可以改善开发者体验。

 

组织可以通过确定开发人员遇到的最大摩擦点来改善开发者体验,然后投资于可提高开发人员能力或满意度的可改进领域。例如,组织可以专注于减少开发工具中的摩擦,以便让开发人员更无缝地完成任务。即使是减少了浪费的一小部分时间,如果在整个工程组织中是倍增的,那么对生产力的影响也会比雇用更多工程师更大。

 

越来越多的企业开始关注开发者体验

 

Gartner 最近的一项研究显示,78% 的受访组织已经制定或计划了正式的开发者体验倡议,而 Forrester 的一项类似研究表明,75% 的企业领导者认为开发者体验对于执行业务战略至关重要。这些发现表明,人们越来越认识到投资开发者体验计划可以带来的实质性好处。

 

麦肯锡Stripe的相关研究进一步验证了优化开发人员工作环境的业务影响,因此越来越多的组织围绕开发者体验制定了 C 级倡议举措。

 

开发者体验的三大维度

 

在论文中,作者将之前确定的影响开发者体验的因素提炼为三个核心维度:反馈回路、认知负荷和心流状态。


此框架是根据我们之前的研究和经验得出的,并了解了组织在提高开发人员生产力和体验方面的差距。我们的目标是创建一个实用的框架,易于人们理解和应用,并获得开发者体验最重要的方面。

 


总结一下每个维度。

 

反馈回路是指相对于所执行的操作的响应速度和质量。快速的反馈回路是高效开发流程的关键组成部分,因为它们使开发人员能够以最小的摩擦快速完成工作。另一方面,缓慢的反馈回路可能会导致开发周期中断,导致开发人员感到沮丧并发生延迟。因此,组织必须努力缩短反馈回路,找出可以加速的开发工具和可以优化的人工交接流程的领域(例如构建和测试流程或开发环境设置)。

 

认知负荷包括开发人员执行任务所需的心智处理量。高认知负荷可能是由于代码或系统文档记录不完善等挑战造成的,迫使开发人员投入额外的时间和精力来完成工作并避免错误。为了改善开发者体验,团队和组织应致力于通过消除开发过程中任何不必要的障碍来减轻认知负荷。

 

心流状态是指在从事某项活动时全神贯注、精力充沛的精神状态,其特点是高度专注和享受。这通常被称为“如入无人之境”。在工作中经常体验心流状态可以带来更高生产力、创新和员工发展。同样,研究表明,从工作中获得满足感的开发人员往往会生产出更高质量的产品。因此,团队和组织应致力于创造促进心流状态的最佳条件,以促进员工的福祉和绩效。

 

总的来说,这三个维度概括了开发人员遇到的所有摩擦类型。尽管开发者体验复杂且微妙,但团队和组织可以通过关注这三个关键领域来采取措施进行改进。领导者可以通过选择三个维度内的指标来发现提高生产力的机会。

 

DevEx 框架提供了一种以系统化和以开发者为中心的方式来提高开发人员生产力的方法。我们鼓励读者抓住三个维度中每个维度的指标,以阐明存在摩擦的领域,并有效地优先考虑对组织的预期结果影响最大的领域。

 

度量什么

 

对于希望改善开发者体验的组织来说,首要任务是度量前文描述的三个维度中存在哪些摩擦。作者建议在每个维度中选择要度量的主题,针对每个主题抓住感知和工作流程指标,同时抓住关键的 KPI ,以便与预期的更高层次的结果保持一致。

 

从三个维度度量主题。例如,组织可以选择度量测试效率(反馈回路)、代码库复杂性(认知负荷)、技术债务平衡(认知负荷)和深度工作时间(心流状态)。一些主题可能映射到多个维度。

 


我们主张领导者选择的指标可以全面覆盖三个维度,以全面了解开发者体验。例如,可以在反馈回路维度中评估的主题是测试效率,而代码库复杂性可以在认知负荷维度。

 

抓住每个主题的感知和工作流度量。除了有关工程系统和流程的客观数据之外,衡量开发者体验还需要抓住开发人员的看法(他们的态度、感受和意见)。这是因为单独的感知和工作流度量都无法讲述完整的故事。

 

例如,看似快速的构建过程如果经常打断开发人员的工作进度,可能会给开发人员带来干扰。相反,即使开发人员对他们的构建过程感到满意,使用构建时间等客观衡量标准也可能会发现反馈回路比应有的速度要慢,并且开发工作流程的简化程度也比应有的要低。因此,分析感知和工作流度量对于全面了解开发人员在日常工作中遇到的摩擦点是必要的。

 

度量 KPI,以聚焦推动重要的业务成果。 KPI 充当 DevEx 计划的北极星指标。精心设计的 KPI 应度量企业寻求推动的成果,包括生产力、满意度、参与度和保留率的提高。

 

如何度量

 

作者建议从调查开始来捕获上述指标。调查的优点是能够捕获开发者体验的各个方面,包括 KPI、感知度量和工作流度量。

 

谷歌、微软和 Spotify 等公司多年来一直依赖基于调查的开发者生产力指标。然而,设计和管理调查可能很困难,因此我们希望我们的框架为领导者提供一个不错的起点。

 

鉴于调查的重要性,作者概述了调查计划成功的几个重要考虑因素。

  • 精心设计调查。设计不当的调查问题会导致结果不准确且不可靠。作者表示,至少,调查问题应基于明确定义的结构,并在访谈中经过严格测试,以获得一致的解释。

  • 按团队和角色细分结果。组织领导者常犯的一个错误是关注公司范围内的结果,而不是按团队和角色(例如角色、任期、资历)细分的数据。仅关注总体结果可能会导致忽视影响公司内少数但重要群体的问题。

  • 将结果与基准进行比较。比较分析有助于将数据置于情境中并帮助推动行动。例如,开发商对科技债务的情绪通常是负面的,这使得识别问题或衡量其规模变得困难。基准使领导者能够了解团队的情绪得分何时低于同行,以及组织的得分何时低于行业竞争对手。这些信号标志着显着的改进机会。

  • 混入事务调查。除了定期调查之外,组织还可以使用事务调查来收集基于特定接触点的反馈。例如,当 CLI 工具安装过程中发生特定错误时,平台团队可以使用事务调查来提示开发人员提供反馈。事务调查提供持续的反馈流,并且由于提出问题的及时性,可以产生更高质量的答复。

  • 注意调查疲劳。随着时间的推移,许多组织都在努力维持调查的高参与率。缺乏后续行动通常会导致开发人员觉得重复回应调查不值得。因此,领导者和团队跟进调查至关重要。

 

结论

 

DevEx 框架提供了一个用于了解开发者体验的实用框架,其配套的度量方法能系统地帮助指导改进。组织应该立即开始度量开发者体验,即使他们尚未建立或计划正式的 DevEx 投入。

 

作者简介

Abi Noda 是 DX的创始人兼首席执行官,负责领导公司的战略方向和研发工作。他的工作重点是开发衡量方法,以帮助组织提高开发者体验和生产力。在 DX 之前,Abi 在多家公司担任工程领导职务,并创立了 Pull Panda,该公司于 2019 年被 GitHub 收购。有关更多信息,请访问他的网站

 

原文链接:

https://www.infoq.com/articles/devex-metrics-framework/

 

相关阅读:

AI 时代背景下的平台工程之路 | 极客有约

通用电气在平台工程上浪费70亿美元的教训

一个价值70亿美元的教训!如何避免平台工程变成“大灾难”?

2023-08-18 10:293864

评论 1 条评论

发布
用户头像
DevEx 框架,与平台工程理念中的关注和重视开发者体验,是同样的目的 —— 把人的因素发挥到极致!我们是否为开发工程师打造了趁手的工具、丝滑的流程、极致的体验?这些是显而易见可以从人的角度提供生产力的方法。如果类比为传统基建领域,各种大国重器,会更容易帮助我们理解重视“工程师体验”(EngEx)的重要性及其价值。
2023-08-24 16:49 · 广东
回复
没有更多了
发现更多内容

The Go Blog-Article index

卓丁

未来经济 数字优先 | 大数据专场

腾讯云大数据

大数据

物联网通信技术最全科普!你一定要了解的NB-IoT

华为云开发者联盟

物联网

[翻译]Go Concurrency Patterns[Go 并发模式]

卓丁

Rob Pike Go Concurrency Patterns Concurrency Go 语言

去中心化交易所搭建,虚拟币去中心化交易系统

交易所开发

云图说 | GPU共享型AI容器,让AI开发更普及

华为云开发者联盟

AI 容器

模板方法模式——看看 JDK 和 Spring 是如何优雅复用代码的

Java架构师迁哥

当心这些“坑”!阿里云服务器部署前后端分离项目

麦洛

nginx 前后端分离 跨域

边缘计算,如何啃下集群管理这块硬骨头?

BoCloud博云

云计算 容器 边缘计算 PaaS 博云

新基建夯实粤港澳大湾区高质量发展基础

CECBC

区块链 人工智能 大数据

【万字长文】探讨可信构架之道

华为云开发者联盟

架构 服务端

Redis 哨兵模式

是老郭啊

redis redis哨兵模式 redis哨兵 redis哨兵集群

CSS常用样式——绘制单(双)箭头的多种方法(2)

程序员学院

CSS html 程序员

深度解析!--阿里开源分布式事务框架Seata

攀岩飞鱼

分布式 分布式事务 微服务 分布式锁 Seate

Docker 容器编排利器 Docker Compose

哈喽沃德先生

Docker 容器 微服务 Docker-compose

MySQL高性能架构设计原则

洛神灬殇

传统产业数字化转型的思考与建议

CECBC

经济转型 企业经济

合约跟单app,永续合约交易所带单交易软件

indexOf原理,Java,javascript,python实现

叫练

算法

[翻译]The Go scheduler[Go调度]

卓丁

Go scheduler Go 语言

协同新机遇:让研发敏捷起来

人称T客

使用开源软件构建工业互联网的平台

刘旭东

工业互联网 Odoo thingsboard

XSKY ClickHouse如何实现存算分离

XSKY星辰天合

未读消息(小红点),前端与 RabbitMQ实时消息推送实践,贼简单~

程序员小富

Java RabbitMQ mqtt

Polkadot初识,不止于跨链

QTech

polkadot 跨链

呕心沥血,整理200+最新面试题,面试之前看一下,事半功倍

小Q

Java 学习 程序员 架构 面试

20张图,大学四年都没整明白的操作系统就这么学会了

小Q

Java 程序员 架构 操作系统

一步搞定任意圆角背景

mengxn

android xml 圆角

大厂运维必备技能:PB级数据仓库性能调优

华为云开发者联盟

架构 数据

教师节特别活动:第四范式多项自研技术及其应用实践分享

天枢数智运营

人工智能 推荐系统 第四范式 个性化推荐

LeetCode题解:225. 用队列实现栈,两个队列,压入 -O(1), 弹出 -O(n),JavaScript,详细注释

Lee Chen

大前端 LeetCode

DevEx:来自SPACE作者的一种全新的度量框架_DevOps & 平台工程_InfoQ精选文章