共计 2596 个字符,预计需要花费 7 分钟才能阅读完成。
在之前的文章中,咱们具体介绍了平台工程的根本内容,文中指出平台团队应该采纳产品的办法构建外部开发者平台,即 Platform as a Product。
外部平台面向的用户则是企业内其余部门的开发人员,因而如果要充分体现平台及平台团队的价值,那么打造优质的开发者体验(Developer Experience,即 DevEx)是必不可少的一环。本文将介绍开发者体验的相干指标以及优化办法。
什么是开发者体验?
开发者体验是用户体验(UX)的延长,其重点是受技术方面影响的用户,例如工具、语言和工作流程。当议论用户体验时,通常指的是内部人员如何与咱们开发的软件或网站交互,以及产品的易用性、简略性和直观性。但 DevEx 远不止是“开发人员的用户体验”:它意味着确保开发人员可能轻松地了解并利用 API 来实现他们本人的利用和用例。
开发者体验对每个组织都很重要,外部平台的优质体验能够帮忙组织留住优良的工程师。然而,通常状况下随着组织的规模越来越大,技术越来越先进,技术栈不断扩大,开发者体验通常被减弱。为了解决这一问题,许多企业开始器重外部开发工具 / 平台的开发者体验,将敏捷性作为其重要掂量指标之一。
开发者体验的掂量指标
为开发者提供良好的体验具体体现为能够让程序员疾速上手,并将挫折感降到最低。劣质的开发者体验则是一场无休止的战斗,开发人员须要消耗大量工夫和精力弄清楚代码应该做什么,如何让它运行起来,这在某些状况下会造成优良工程师的散失。当一家公司外部的代码非常折磨人时,一个有能力的开发者就会抉择手中其余的优质机会来到。
在改善开发者体验之前,企业须要确定可能精确掂量开发者体验优劣的指标,正如驰名的治理参谋德鲁克所言“如果不能掂量它,那么就无奈治理它”。
交付工夫
在软件开发中,交付工夫是指从我的项目开始到最终代码交付的所需工夫。了解开发团队的交付工夫有助于理解该指标的评估规范。此外,如果交付工夫缩短且最终代码交付品质很高,这阐明开发团队的效率晋升,也能够从侧面反映外部开发者平台领有良好的应用体验。
自动化水平
自动化和合作是晋升效率和减速交付的要害。优良的 DevEx 须要正当的架构设计以及工具来实现,包含尽可能的自动化。
领有能力的开发人员不应该把他们的工夫和精力节约在琐碎的工作上,而应该在工作流程中充分利用自动化,从而让他们把更多的工夫专一在开发过程中。具体而言,这个指标能够掂量某一时期内施行的自动化流程的数量。
开发速度
开发者速度反映了一个开发者在特定的工夫范畴内能实现多少工作。企业能够利用开发者速度指标来理解开发者的工作量。在大多数状况下,开发速度是交付一个最终性能或产品所需的全副流动和致力的总和。
观测开发者速度能够帮忙团队理解耗费他们工夫的常见阻碍,包含不足继续集成和部署、上下文切换、工作分心以及流程中存在的阻碍等。应用速度指标能够确定须要优化的畛域。
掂量开发者体验的 3 大支柱
与用户体验相似,开发者体验也蕴含多种主观和主观的衡量标准,用户体验的三大支柱:可用性 、 可寻性 和可信度,也是掂量开发者体验的规范。
可用性
可用性测试是指开发者应用代码、文档或其余相干工具及产品的繁难水平。通过一个外部调研收集反馈能够更充沛地理解开发者应用这些组件时是轻松的还是艰难的。外部调研问题示例如下:
- 对你来说,应用代码库是否容易?
- 咱们提供的工具是否为你的工作提供了反对?
- API 是否为你提供了你所须要的信息?
- 你是否适应咱们的编程语言或框架?
可寻性(Findability)
可寻性是指软件工程师能够轻松地找到他们在工作须要的信息、零碎或工具。要构建一个优良的 DevEx 包含让根本信息有迹可“寻”,以提供最佳的用户体验。这包含提供合乎逻辑和上下文的搜寻构造和性能、有逻辑的文档以及依据须要不受限地拜访工具。平台团队须要亲密关注开发人员的反馈,当重复呈现任何与可寻性无关的埋怨时,须要利用这些反馈来改善团队的流程。
可信度
可信度是指开发人员是否信赖产品及其带来的劣势。在开发过程中,企业能够通过创立稳固牢靠的服务或产品、提供足够的资源以加重工作压力以及反对工具来获取开发人员的信赖。
另外,随着开发人员所采纳的技术一直变动,满足外部开发人员应用的各种技术的扩大需要也是一大挑战。而开发人员是否持续采纳平台团队的软件或服务,即一致性,是掂量可信度的一个要害指标。
值得注意的是,开发人员的高产出和优秀成果并不齐全意味着开发人员对组织有足够的信赖。特地是如果工作环境让开发人员感到精疲力竭、员工流失率高、或者他们须要面对大量的技术债权时,信任度就会大打折扣。
如何优化开发者体验?
缩短反馈周期以加强工作流程
麻利开发的目标是晋升开发速度的同时不就义开发品质。在这个框架中,反馈周期指为验证和接管无关软件开发过程的反馈而建设的机制。这包含了代码剖析和跟踪、拉取申请和代码审查、继续集成和部署、生产前环境的性能验证、单元测试以及生产中的性能监控。
总的来说,如果能很好地集成到平台团队推出的外部开发者平台中,这个过程对于开发者来说是十分高效的,并可能缩小繁琐过程带来的负面影响。例如,代码剖析和跟踪以及取得对于代码性能的即时反馈。
所有文档化
从团队工作流程到常见问题(FAQ)以及其余琐碎的要点都要记录下来。咱们的指标是创立一个知识库,作为惟一的规范起源。在软件开发过程中,有很多变动的局部,创立技术文档可能无效地跟踪这所有。这样一来,在呈现任何问题时,开发人员都有一个能够参考的材料,尤其当团队退出新成员时,有一份牢靠的文档能够帮忙新成员更好地上手工作。
激励互相理解和合作
当一家公司可能培育出良好的开发者体验时,每个团队都会敏锐地意识到他们的责任和指标,以及它们为谁提供服务。因而每个团队也有一个舒服的中央来表白他们的需要和对性能的要求,以帮忙他们更好地工作。
在组中中实现这一点很简略。首先要为员工发明机会和空间,通过各种团队流动,让来自不同团队的员工能够走到一起,互相学习,踊跃分享信息。这将有助于建设一个踊跃的环境,从而进步生产力。平台工程也能够成为促成了解和合作的好办法。
总结
总而言之,创立优质的开发者体验须要平台团队的继续致力和不断改进。当企业外部领有良好的开发者体验时,不仅意味着员工之间信任度更高,也意味着建设了一种先进的企业文化。最终,会推动员工踊跃履行本人的职责,从而为企业带来微小的倒退。