Redian新闻
>
谷歌如何释放和衡量开发人员的生产力

谷歌如何释放和衡量开发人员的生产力

公众号新闻

作者 | Jennifer Riggins
译者 | Sambodhi
策划 | Tina
在谷歌,提高开发者的生产力是一个跨部门的目标,但实现这一目标涉及众多复杂因素。谷歌的工程生产力团队通过综合方法的研究,试图揭示开发者生产力背后的核心要素。他们重点关注速度、便利和质量三个关键维度,以多角度评估开发者的工作效率。然而,他们意识到,生产力并非只取决于技术因素,还包括人的行为和流程的影响。
团队使用多种研究方法,如数据日志分析、日记研究等,来收集数据,通过交叉验证确保数据的准确性。工程满意度调查成为另一个有力的工具,帮助他们了解技术债务对开发者体验和生产力的影响。他们意识到没有单一的度量可以完全衡量开发者生产力,因此采取多种方法来综合考量。这种跨学科的方法,结合工程师和用户体验研究员的合作,使他们能够更好地理解开发者的需求和痛点。
无论组织大小和预算如何,这种研究方法对于深入了解开发者体验和支持生产力的因素都是有益的。然而,他们也强调,度量指标会随着团队和代码的变化而变化,因此需要持续进行研究和调整,以确保保持有效。
如果你对于如何在一个技术驱动的环境中提高团队的生产力感兴趣,那么这个关于谷歌工程生产力团队的研究将为你提供深入的见解。从技术债务到工程满意度调查,他们的实践为我们提供了宝贵的经验教训。

快速增长暂时停滞,工程团队在有限资源下努力完成任务。科技巨头谷歌也未能幸免,去年一月份裁员了其员工总数的 6%。而不论身处何地,客户预算的紧缩都在推动对发布具有差异化特性的需求更加迫切。

在软件开发这个重要领域,提高开发软件的人类劳动力的生产率比以往任何时候都更为重要。

开发者生产力研究衡量工程师在一定时间内产出特定工作量的能力。这个领域不仅研究最终结果,还关注影响这些结果的社会技术因素。越来越多地,它也试图衡量开发者体验,因为已经证实开发者体验对生产力有着重要影响。

毕竟,软件开发首先是创造性的工作,意味着改善开发者生产力的任何努力都应该关注人与计算机、人与人之间的互动,涵盖人员、流程和技术。然而,这比你想象的更加困难,因为人的体验很少是多项选择题。

开发者生产力研究还是一个新兴的课题,因为通常很难衡量开发者的整体体验。

在最近的一期 “Engineering Enablement” 播客节目中,主持人 Abi Noda 采访了谷歌工程生产力研究团队的 Ciera Jaspan 和 Collin Green,他们共同致力于领导这个团队。在谷歌,数以万计的工程师的工程生产力归结为实现“无摩擦的工程和卓越的产品”。

在本文中,我们将反思谷歌的工程师、用户体验研究员和心理学家们的最新研究成果和经验教训,他们致力于衡量和提升开发者的体验和生产力。

团队构成:谁在团队中

谷歌工程生产力团队拥有约 2000 名工程师,致力于提升开发者工具和流程效益。团队内还有一支专注于研究工程生产力的小组,他们关注的不仅仅是“怎么做”,更多的是“为什么做”,“什么时候做”,“做多少”。

这是一个混合方法团队,既进行定量研究,也进行定性研究。团队中大约一半是工程师,另一半是用户体验研究员,他们来自行为经济学家、社会心理学家、产业组织心理学家甚至公共卫生领域。

Jaspan 指出,社会科学背景为团队提供了必要的背景。日志分析通常是工程生产力研究的一个常见起点,但它只呈现了部分信息。她在播客中表示:“它告诉你开发者做了什么,但未告诉你其动机和感受。它没有评估行为的优劣,也没有揭示改进空间。它只给了你一个数字,但你不能解释这个数字。除非你拥有更多定性的世界观,你了解行为以及这些行为随时间的变化,取决于你如何改变背景。”

因此,大约五年前,生产力研究团队首次聘请了第一位用户体验研究员,以协助设计更好的调查问卷。通过将用户体验研究员与工程师配对,他们优化了问题的内容、时间和方式。例如,这种配对使得体验抽样成为可能,将调查问卷融入开发者的构建过程中。工程师提供实践经验和技术解决方案,支持用户体验研究。

Green 表示:“直接接触那些在领域内非常深入且处于领域顶尖水平的专家,是行为研究方法中非常有力的补充。领域专业知识、来自工程领域的可扩展性和技术技能结合多样化的行为研究方法,以及对偏见、工作方式和调查回应或访谈注意事项的理解,这些社会科学家们共同为谷歌的用户体验研究提供了一种或许独特的方式。”用户体验研究员们揭示了非响应偏见,而工程师们则发现了上游问题,因为事情看起来不太对劲。

开发者生产力是整个组织的目标

这个团队的首要客户是为整个组织构建开发工具的第一方开发团队。目标是帮助他们改进基础设施工具、流程和最佳实践。

“例如,当他们想要了解如何提高开发者生产力时,我们的数据和研究是他们寻找答案的地方之一,”Green 说道。

生产力研究团队还与运营、房地产和工作空间、公司工程等团队合作,这些团队为所有谷歌员工创建工具,而不仅仅是工程师,以及其他可能影响整体开发者体验的团队。当然,开发者生产力的体验也可能惠及其他非技术团队,前提是要进行跨公司的沟通。

“因此,当你关注工程生产力时,你实际上是关注了谷歌的一大部分人口,因此对我们的发现有广泛的兴趣,”Green 表示。

谷歌的工程生产力团队还充当着不同开发团队之间的桥梁。正如 Jaspan 所说:“公司非常大,人们在做不同类型的开发工作。构建工具的人可能不知道正在进行的所有不同类型的工作。”

所有这些都为 Green 所说的“形成良好数据的游乐场”提供了条件,配合具有实际问题经验的工程师。

速度、便利和质量推动生产力

那么,如果你拥有谷歌的工程预算,你会衡量什么呢?

随着平台工程的兴起和跨组织工具的整合,追踪技术开发者体验变得更加容易。然而,技术对人类用户的影响以及围绕这种体验的人员和流程仍然具有挑战性。没有单一的度量可以完全捕捉到这一点。

Jaspan 表示,开发者生产力研究团队坚持一个理念:没有单一的指标可以衡量开发者生产力。从这里开始,她解释道,团队通过三个交叉的维度进行三角定位:

  • 速度

  • 便利

  • 质量

例如,Green 曾经以半开玩笑的方式提出,为了说明一个观点,最快提高生产力的方法可能是取消代码审查。当然,大家都抵制这个想法,因为虽然这样可以提高发布的速度和便利性,但会降低质量。而团队的研究已经证明,代码质量可以提高开发者的生产力。

在速度方面,他们确实会测量日志,但他们还会测量工程师对自己速度的感知,以及进行日记研究和访谈。Jaspan 说:“这既包括使用多种测量方法,也要确保它们彼此之间是相互验证的。”

综合方法研究验证数据

为了更深入地研究谷歌的软件开发行为,团队进行了跨工具日志研究,从多个开发者工具中提取了日志。他们还进行了日记研究,在这个研究中,工程师每隔几分钟就写下他们在做什么。他们将这两种方法进行比较,以便在数据日志方面建立信心。由于每个工程师的工作和感知都不同,可能会出现类似“苹果和橙子”的情况,因此他们应用了称为“多评判者可靠性”的方法来计算这两个研究之间的一致性。

“我们假设在外面有一些真实情况,如果我们不坐在开发者旁边,可能无法直接观察到,”Green 说道,“因此,我们将这两个数据源结合起来,问:这两种视角是否在告诉我们同一个世界的信息?”

数据日志研究可以大规模被动进行,无需干扰工程师,而日记研究一次只能由最多 50 名工程师进行,并且可能会变得令人讨厌。

“一旦我们找到了足够的证据表明这两个数据源提供了相同的信息,我们就可以更加倚重可扩展的方法,”他解释道。

技术债务与工程满意度调查

自 2018 年以来,谷歌另一个强大的测量工具是每季度进行的工程满意度调查,每次向大约三分之一的工程人员发送。Green 承认,最初高管们对这种测量有些犹豫,因为这只是“人们的意见”。在 2020 年的疫情封锁期间,这项调查首次显示出生产率的增长,随后在下一个季度出现了大幅下降,因为居家隔离常常会让人们感到孤单。

已经证明,技术债务会对开发者的士气产生负面影响,并减缓开发速度,因此不奇怪,早期的调查中就包含了两个关于技术债务对生产力影响的问题:

  • 你遇到的技术债务的根本原因是什么?

  • 什么措施适合修复这些技术债务?

多年来,Jaspan 和 Green 的团队对这些回答进行了整合,最终确定了可能妨碍工程生产力的 10 个技术债务类别:

  • 需要迁移或正在进行迁移。

  • 项目和 / 或 API 的文档难以找到,缺失或不完整。

  • 测试质量或覆盖率较差。

  • 代码质量设计不佳。

  • 未删除已死亡和 / 或被放弃的代码。

  • 代码库质量降低,未跟上变化的标准。

  • 团队缺乏必要的专业知识。

  • 依赖关系不稳定,变化迅速,或触发回滚。

  • 迁移执行不佳或被放弃,可能导致维护两个版本。

  • 需要更新、迁移或维护发布流程。

工程师可以选择任何一个或多个选项。产生的数据揭示了不同受众(如机器学习工程师与后端工程师)需要不同的技术债务干预措施。他们还根据组织线对数据进行切割,以显示和比较在克服技术债务方面的进展。

关于这个技术债务问题的论文承认,基于调查的度量是滞后指标,只有当技术债务严重到足以妨碍工程师时,才会显现出真正的问题。然而,在探索了 117 个度量指标之后,谷歌团队仍然没有找到并预测技术债务将在何时妨碍生产力。

他们还添加了四个问题,了解团队如何管理债务,以寻求持续改进。

随着这项调查对整个组织变得越来越重要,工程副总裁开始提出自己的问题。这在一段时间内是有帮助的,但随后调查必须被重新精简。现在,每个季度由不同的用户体验研究员负责调查,得到不同工程师的支持,同时伴随着团队的反馈。Green 承认,这项调查仍然相当“庞大”。

无论你的组织规模(和预算)如何,都鼓励你投资于自动化和可测量的、观察性和经验性的研究,以了解你的开发者体验以及它支持或妨碍的生产力。

请记住,随着团队和代码的变化,度量指标也会发生变化。正如 Jaspan 所说:“我们知道没有一个单一的度量可以衡量开发者生产力,因此我们尝试使用所有这些不同的研究方法来观察:它们是否都一致?它们是否在告诉我们发生了相同的事情?还是它们不一致?如果是这种情况,我们需要深入挖掘发生了什么。”

作者简介:

Jennifer Riggins 是一个文化与科技故事叙述者、记者、作家,以及活动和播客主持人,她致力于分享文化与技术交汇的故事,并解释我们正在构建的技术所带来的影响。自 2003 年以来,她一直从事写作工作,目前居住在伦敦。

原文链接:

https://thenewstack.io/how-google-unlocks-and-measures-developer-productivity/#circle=on

声明:本文为 InfoQ 翻译,未经许可禁止转载。

今日好文推荐
京东辟谣“刘姓商人涉嫌违法被抓”;比特大陆全员工资暂停发放;一周可居家办公3 天,去哪儿灵活办公制度出炉|Q资讯
主力开发已经 68 岁了!“老龄化”严重的 Postgres 开源社区呼唤“年轻一代”
无服务计算,厂商究竟在打什么算盘
放弃 React 改用 Web 组件,微软这次重构让开发者不解:没有任何意义

微信扫码关注该文公众号作者

戳这里提交新闻线索和高质量文章给我们。
相关阅读
腾讯混元大模型正式亮相,我们抢先试了试它的生产力每日原则:为保证联络和沟通顺利,高级管理人员与基层管理人员的比例、基层管理人员与其直接下属的比例应当控制在一定范围太真实了!研发人员都是怎么被搞没的?证监会最新发布!研发人员、研发投入认定明确,有五大看点聚焦开放和合规并举的Web3.0分布式商业应用服务,「边界智能」获数千万元A轮融资|36氪首发[打卡] 钻石的价值如何衡量?硬核观察 #1125 GitHub 调整主页信息流惹怒开发人员准外公准外婆为啥挨了一针?[电脑] 黑金生产力工具,乔思伯 D500 装机展示如何为举办开源活动设定目标并衡量它们 | Linux 中国AI重新定义音视频生产力“新范式”一周工作5分钟完成!新版文心一言实测:秒秒钟出广告片,几句话搞定代码,办公科研生产力直接ProMax研发人员占比超50%,手术机器人和导航上游的隐形冠军NDI制霸空间测量、定位产品赛道牛文文:创业黑马将成为AIGC生产力赋能中心重磅!IPO新指引,研发人员及研发投入,明确11项核查要求渔歌子(2):青翠丛林空气新以色列接收第一批被哈马斯释放人员并释放39名被关押巴勒斯坦人浪潮信息:发布大模型智算软件栈OGAI,为大模型创新打造高效生产力科技爱好者周刊#268:生产力是形容机器,不是形容人花辞树上海女性研发人员占比位居全国第二!医学科学领域女性占比最高爱美丽生日快乐东电核废水:匆忙排放和充分舆论的审视路特斯机器人CEO李博:大模型时代的智能驾驶生产力工厂入院33天,男子在澳洲医院活活饿死!81岁母亲白发人送黑发人许家印被抓,13张看守所里的照片,看在押人员的生活三问 AIOps:是否是个摆设?如何衡量业务价值?落地成本有多大?世辉、金杜、环球等所晋升加盟多名合伙人;大成、德和衡新办公室开业;IFLR公布第四届IFLR1000中国奖 | 律所动态CoUnit:探索 LLM 即团队接口人,释放平台团队生产力Java开发人员如何看待生成式AI的兴起?开源加持,首个电力物联操作系统如何释放AIoT+智慧电力新动能?哈马斯为何释放两名美国人质?卡塔尔成加沙人质危机最大功臣2023中国纪行(2) 台风杜苏芮下的海河两岸这几种策略能帮你释放和处理情绪鸿蒙将不再兼容安卓,美团网易美团等巨头月薪4-6万“哄抢”开发人才
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。