医疗保健提供商 One Medical 旨在创造更愉快、更高效的开发者体验,进而帮助推动更好的患者结果。
译自 Boost Developer Productivity by Reducing Their ‘Paper Cuts’,作者 Jennifer Riggins。
我们都经历过纸张划伤。它们很小,但会产生巨大的影响。而且它们经常会影响我们打字和完成工作的能力。
糟糕的开发人员体验就像千刀万剐。这就是为什么 Jason Kennedy 和他在 One Medical 的工程体验团队希望消除每次划伤的根源。
该公司运营初级保健诊所,并采用技术驱动的医疗保健方法——基于开发人员体验会影响患者体验的信念。这使得该公司对两种用户体验都采取了近乎冥想的方法,一种基于观察、询问和同理心。
One Medical 专注于 开发人员的快乐,假设 开发人员的工作效率 将是最终结果。
当 One Medical 的 DevEx 团队于 2022 年年中成立时,它最初被称为工程效率,但很快便更名为专注于整个工程体验。
2022 年 10 月,Kennedy 加入该公司担任高级工程经理兼团队负责人,部分原因是该团队已经成立,这表明公司内部已经达成共识。
他说:“公司内部已经有人做了部分前期工作,并说服组织需要这个团队”,而他表示这是他之前工作过的其他企业所缺少的。
他们自称为 EE 团队,专注于为 One Medical 工程师创造高效且愉快的开发体验。最近,该团队正在扩大其范围,以涵盖整个软件开发生命周期,无论工程师正在从事什么工作。这使得他们从整体上的本地开发扩展到服务创建、测试、数据工程和维护。
考虑到这一更广泛的重点,Kennedy 的团队已从四名工程师扩展到八名工程师,其中包括一些已经从事平台工作的质量工程师——他们都准备为 One Medical 的 150 名全职工程师服务。作为“质量平台工程师”,这些新成员负责维护测试框架、制定全公司范围的测试策略以及改善多个平台的工程体验。
大约 18 个月前,One Medical 通过对整个工程组织进行调查来开启其 DevEx 之旅,旨在找出最有影响力的工作领域。
Kennedy 说:“我们真的想知道发生了什么,而不仅仅是猜测我们认为应该改进什么。”“我们真的想问工程师出了什么问题。这实际上是由工程师所看到的驱动的。他们知道最大的问题在哪里。”
One Medical 遵循现场管理的精益管理实践。日语中的“实际场所”,这涉及观察工作实际情况。在允许的情况下,鼓励包括领导层在内的所有员工跟踪临床操作。Kennedy 说,这使每个人都了解“我们正在做什么——我们正在为患者提供护理,我们正在改善结果,我们的工作是通过改善这些来实现的”。
类似地,工程体验团队以跟踪工程师开始,并继续跟踪工程师,询问有关开发人员每天遇到的痛苦的纸张划伤的问题。这收紧了开发人员反馈循环并围绕开发人员体验建立同理心。
所有工程师的跟踪都是虚拟完成的。
除了持续的现场管理跟踪之外,工程体验团队还在 2023 年初引入了一项每周 Slack 民意调查,其中包括请求,“告诉我们本周影响你工作效率的是什么”。
给出了几个答案,例如本地开发、测试和数据库环境的问题,以及自定义的填空选项。这些每周民意调查掌握了开发人员体验的脉搏,然后,Kennedy 的团队会每月汇总这些信息,以了解事情的趋势。
他们还进行了一项季度 净推荐值调查 (NPS)。
Kennedy 的团队每季度都会考虑所有因素,以了解哪些重要问题浮出水面。
去年,调查显示,其测试环境中的数据并非小问题,而是主要痛点。对此,One Medical 工程体验团队创建了脚本和流程,团队可以在不到半小时内重置其测试环境。
“我们不再需要他们深入挖掘和调试,然后弄清楚‘这个环境中实际上出了什么问题?’才能进行测试。”Kennedy 说。
现在,开发人员可以完全重新索引数据库和测试环境。“这可能是更激烈的‘打破玻璃’选项之一。我们还有其他几个选项,[但这是]一个周转时间更短的选项。”
他的团队还在寻找快速获胜。早期的一个例子是开发人员抱怨每次启动整体架构时都必须登录亚马逊网络服务。事实证明,服务器启动中有一些东西触发了 AWS 中看似无关的事情,这将不必要地要求重新登录。他的团队花了两天时间构建了一种方法来跳过这一额外步骤,以实现 DevEx 的重大胜利。
在 2023 年的大部分时间里,开发人员调查过程完全是手动的。
“我们开始自问,‘我们如何改进这种反馈机制?我们作为团队是否愿意投入精力构建自己的调查,真正投资于获取这种反馈的内部方式?还是我们想购买一些现成的产品,我们知道我们可以直接操作?’”
对于Kennedy 的团队及其提高开发人员满意度和效率以改善患者预后的目标而言,构建自己的开发人员反馈平台根本不是优先事项。他们采用了DX 开发人员见解平台。
在我们采访时,One Medical 工程体验团队刚刚完成了第二次“快照”,这是一项在整个工程组织中进行的调查。他说,每次快照都非常彻底,但开发人员只需花费五到六分钟即可完成。然后,他的团队会获得“广泛而深入的信息”。
开发人员体验是一项社会技术工作,那么Kennedy 的团队根据开发人员的反馈正在进行哪些技术变革?
从一开始,他们就知道开发人员在本地开发任务上花费了大量时间,因此这些 DevEx 工程师致力于改善那些在 One Medical 基于云的 Ruby on Rails 整体架构上工作的开发人员的体验。他们改进了本地开发和脚本,并采用了 GitHub 的 Codespaces 来创建一键式云开发环境。
Kennedy 观察到,对于整体架构,很难在团队层面建立所有权意识,这使得变更和服务创建变得更加困难,因此他的团队正在寻求减少对整体架构的依赖,作为“创造一个团队可以更自主地操作的环境的一种方式”,Kennedy 说。“他们可以做出决策,并以他们想要的快或慢的速度操作,而不会遇到没有人了解的非常旧的代码。”
此举不仅旨在提高开发人员的满意度,还旨在提高基础设施工程师的满意度。
该团队已开始制定黄金路径,包括创建新服务(但不是必需的)的经过批准、更简单的铺设道路。同样,开发人员仍然可以设置和维护一个完整的本地环境,但他们被鼓励走 Codespaces 的阻力最小的道路。
到目前为止,2024 年对开发人员生产力的痴迷尚未影响 One Medical。无论如何,都不是直接影响。当他们使用每周 Slack 民意调查时,他们试图通过以下问题进行时间估算:您在本地开发维护上浪费了多少时间?
“如果你将其转化为开发人员成本和云开发环境的成本,那么你可以在一分钟内获得一个环境,并且不需要持续维护。”
Kennedy 说,这转化为他们“能够展示开发人员进行所有这些维护的成本是多少,以及他们基本上完全没有维护的成本是多少”。
此后,该团队已从每周民意调查转向持续 Gemba 实践和 DX 平台的结果以及后续访谈的结合:“嘿,你的团队在这个指标上做得非常好——让我们谈谈你做得好的地方”,以及“嘿,你的团队将此确定为需要帮助的事情。让我们深入了解你可能遇到一些具体问题的地方。”
在 2022 年第二季度之前,One Medical 还没有开发人员生产力团队,尽管有一个基础设施团队、一个站点可靠性工程团队,偶尔还有一个平台团队。但即使对 DevEx 的关注相对较新,但从一开始就得到了自上而下的支持。Kennedy 谈到公司的领导层时说:“他们认识到开发人员拥有良好体验的重要性,以及这在多大程度上促进了员工的整体福祉,而且如果工程师对工作感觉更好,我们也会拥有更好的产品。”
由于这是一个久经考验的假设,即 快乐的开发人员是富有成效的开发人员(反之亦然),One Medical 工程体验团队没有义务定义和衡量开发人员的生产力。
当然,开发人员入职体验很重要,新工程师现在可以在第一天启动他们的环境,并在第 21 天提交内容。由于 Kennedy 的团队可以访问 DX 中更多指标,因此它正在关注发布的容易程度和深度工作的时间,例如开发人员对中断频率和长度的评级。One Medical 还希望限制定期会议,甚至实行“周二无会议”。
“作为工程体验团队,我们可能无法在组织层面直接影响这一点。但我可以做的是将这些结果带给我们的经理组。”对于他自己的队友,Kennedy 每个季度都会要求他们查看定期会议并询问:这个会议还有必要吗?现在是举行这个会议的合适时间吗?如果回答说不需要开会,他承诺会议不会再出现。
第二季度重点关注持续部署,以帮助减少开发人员等待其代码投入生产所需的时间。
“因为我知道,当我还是一名开发人员时,给我带来快乐的是快速完成任务,继续下一项任务,并获得‘酷,我的东西正在运行,让我们部署到生产环境’的反馈。然后我将继续下一个。”