一种改善开发者体验的策略是消除开发人员和为他们提供支持的平台团队的耗时任务和瓶颈。如何引入改变很重要,在实现变更之前理解“为什么”可以让事情进展得更加顺利。
Jessica Andersson 在NDC 2023大会(于挪威首都奥斯陆举行)上谈到了如何改善小型团队的开发者体验。
Andersson 解释说,开发者体验包括软件开发人员在开发和维护软件的工作中所做的所有事情,例如编写代码、测试、构建、部署、监控和维护:
我经常从产品的角度来考虑这个问题,因为开发团队对产品的生命周期负责。良好的开发者体验可以让开发人员专注于让产品在竞争中脱颖而出,并为用户创造价值。
他们改善开发者体验的策略是消除耗时的任务和瓶颈。首先是让开发者可以放开手脚去干。Andersson 说,如果一名开发者的进展必须等待团队之外的人,那么他们就无法作为一个自主的团队,也无法完全掌握自己的产品生命周期。
接下来,从平台团队中移除耗时的任务。为了能够持续地向开发者提供更好的开发者体验,他们需要确保平台团队不会陷入无休止的升级和迁移循环中。
在将平台团队解放出来之后,重点转向了帮助开发人员移除耗时的任务,从而让他们获得更好的开发者体验。
Andersson 提到,如何引入变更很重要,如果你在引入变更之前理解“为什么”要这么做,那么实现变更就会更容易。他们为开发者引入了一个完全不同的工作流程,他们认为这将是一个巨大的改进,但在开发者理解为什么以及如何做出改进之前遇到了一些阻力:
从长远来看,它变成了一种非常受欢迎的工作方式,但是如果我们在实现变更之前花更多的精力在思考为什么引入变更上,那么交付可能会变得更加顺利。
Andersson 说,你需要让开发者相信你能够为他们带来价值,与开发者保持良好的关系是了解他们的问题以及如何改善他们日常工作的关键。
InfoQ 就如何改善开发者体验采访了Jessica Andersson。
InfoQ:你在为小团队改善开发者体验方面遇到了哪些挑战?
Jessica Andersson:我们不可能什么都做,也不可能一次性做完所有事情。我们每次只做一件事,简化它并做好它,一旦做到“刚刚好”,就可以转向下一件事。
我们还需要注意我们引入的依赖关系和所使用的工具,所有东西都需要保持最新,处在一种不断更新却没有新改进空间的状态是一种风险。
InfoQ:你能举个例子说明你是如何改善开发者体验的吗?
Andersson:在为开发人员清除阻碍方面,我以我们使用 DNS 进行服务发现为例。DNS 需要手动处理,只有两个人可以访问 Cloudflare,我就是其中之一。这意味着每当开发人员想要部署新服务或更新或删除现有服务时,他们都必须来找我。
这并不是我们想要的理想的工作方式,所以我们开始研究如何在 Kubernetes 环境中采用不同的方式来解决这个问题。我们对 ExternalDNS 做了调研,发现它支持通过 Kubernetes 资源来管理 DNS 记录。
对于我们来说,启动和运行它真的很简单,并且迁移手动创建的现有 DNS 记录到 ExternalDNS 也很容易。开发人员很快就适应了新流程,我们在几周内就看到了这么做的好处!
InfoQ:“黄金路径”或“平坦路径”能为开发人员带来什么好处?
Andersson:开发人员可以重用用于解决已知问题的黄金路径,例如,对不同的应用程序使用相同的监控解决方案。另一个好处是降低认知负担,在不同的应用程序上应用相同的方法,维护多个应用程序也会变得更容易。
InfoQ:对于想要改善开发者体验的小型团队或组织,你有什么建议?
Andersson:我最强烈的建议是,在决定做什么之前,先评估一下你自己的组织和环境。找出你可以对开发者体验产生影响的地方,选择做一件事并加以改进!避免抄袭别人的做法,除非它对于你的组织来说也有意义。
原文链接:
https://www.infoq.com/news/2023/06/developer-experience-small-org/
评论