3.7

3.7 开发者体验调查与DevEx指标

概述与动机

本主题以让前面每个主题的自我报告数据变得可信的实务机制,为第3部分收尾:如何设计一份能产生真正信号、而不是一场人气竞赛的开发者体验(DevEx)调查,以及如何把调查数据与客观埋点结合成一套组织真正能够据以行动的指标集。这一部分的每个主题都依赖某种形式的自我报告,满意度与幸福感(主题 3.2)最直接,但绩效、沟通和心流也都受益于一份设计良好的调查,而一份设计糟糕的调查会同时削弱它们全部的价值。

开发者体验(DevEx)是围绕SPACE所正式确立的同一个核心理念而兴起的一种更宽泛、更晚近的表述:工程师完成工作的实际、日常体验,摩擦、工具、认知负荷、反馈回路,其本身就是一种可测量、可改善的东西,而不只是一种软性的文化关切。DevEx研究,尤其是Abi Noda、Margaret-Anne Storey、Nicole Forsgren和Michaela Greiler所提出的框架,把这种体验围绕三个维度组织起来:反馈回路、认知负荷和心流状态,这与这一部分已经深入探讨过的SPACE诸维度紧密对应,并对其加以延伸。

对大团队而言,一份产生可信信号的调查,与一份产生噪声,或者更糟,产生积极误导数据的调查之间的区别,完全在于本主题所涵盖的这些设计细节:问题措辞、答案量表的选择、抽样与节奏,以及结果如何被反馈给受访者。在数千名工程师的规模上运行这些调查的企业和政府组织,承受不起在这方面出错的代价,因为在那个规模上,一个有缺陷的工具会产生自信满满却错误的结论,进而左右真实的资源配置决策。

核心原则

  • 调查设计的质量,远比调查的长度或复杂程度更能决定数据的可信度。 一份简短、设计良好的调查,每次都胜过一份冗长、设计糟糕的调查。
  • 回收率本身就是一个信号, 而不只是一项数据收集指标;下降的回收率往往意味着人们对这个流程的信任正在流失。
  • 在可能的情况下,把调查数据与客观埋点结合起来, 遵循主题 1.5 的埋点原则;专门用调查数据来捕捉客观数据无法捕捉的东西。
  • 与受访者形成闭环。 一份从未带来任何可见变化的调查,会训练人们不再认真对待它。
  • DevEx与SPACE是对同一个底层关切的互补表述, 而不是需要在其中二选一的竞争性框架。

建议

为清晰而设计问题,避免诱导性或复合式的措辞

编写调查问题时,只问一件确切的事情,用平实的语言,不要在问题本身中嵌入一个假设。“你对我们的工具和文档有多满意?“是一个复合式问题,把两个可能非常不同的答案混合成了一个令人困惑的回应。把它拆分成两个独立的问题。避免像”我们近期在工具上的投入在多大程度上改善了你的体验?“这样的诱导性措辞,这种措辞预设了改善确实发生了,而不是中立地询问它是否发生了。

使用一致的答案量表,并在大规模推行之前对新问题进行试点

在你的调查工具中统一使用一致的答案量表(五点或七点李克特量表很常见,也经过了充分的研究),这样答案才能在各个问题之间、各个时间点之间进行比较。在全组织范围内推行任何新问题之前,先在一个小群体中对它进行试点,以便在它腐蚀整个数据集之前,捕捉到模糊的措辞或意料之外的解读。

把回收率本身当作一个诊断信号来对待

在连续多个周期中跟踪调查回收率,把下降的回收率当作一个值得直接调查的警示信号,这类似于主题 3.2 所讨论的信任信号。回收率的下降,往往意味着调查疲劳、对结果会带来行动的信任正在流失,或者人们日益怀疑匿名性并没有得到真正的保护,这些都值得直接调查,而不应被当作一个纯粹的数据收集上的小麻烦而打发掉。

把调查数据与客观的DevEx埋点结合起来

在存在客观信号的地方,把主观的调查回答与之配对:构建时间、测试套件运行时间、本地开发环境搭建时间,以及主题 3.6 的心流时间和打断数据。一条”我们的构建太慢了”的调查回答,一旦与实际测量到的构建时间趋势配对,就会变得远更具可操作性,而这种结合还能捕捉到感知与客观现实朝任一方向出现分歧的情况,这本身就值得调查。

形成闭环:发布结果并采取可见的后续行动

在每个调查周期结束后,发布一份诚实的结果摘要,包括那些领导层可能不愿突出的结果,并公开承诺至少采取一项具体的回应行动。一份从未产生可见后续行动的调查,会教会受访者明白他们诚实的意见并不重要,这会在随后的每一个周期中,同时降低回收率和回答的诚实度。这种形成闭环的纪律,往往是决定一个DevEx调查项目能否在多年内保持有用、还是慢慢退化成一种走过场活动的单一最大因素。

权衡取舍:利与弊

方案优点缺点
冗长、全面的调查覆盖许多主题的丰富、详尽数据回收率更低,疲劳度更高,设计糟糕的问题更有可乘之机
简短、聚焦的调查回收率更高,更容易设计得好覆盖面更小;可能错过所选焦点之外正在出现的问题
仅有调查数据直接捕捉主观体验容易受偏见影响,也无法对照客观现实进行核实
调查与客观埋点相结合捕捉感知与现实之间的分歧,更具可操作性需要更多的数据整合工作

核心张力是覆盖面与回答质量之间的张力。一份更长、更全面的调查覆盖更多的领域,但会降低回收率,并增加设计糟糕的问题蒙混过关的风险;一份简短、聚焦的调查能获得质量更好的回答,但有可能错过其范围之外的重要事项。解决这种张力的办法,是让核心的、周期性的调查保持简短并经过充分试点,同时把偶尔进行、明确标注的深入调查,用于需要更详尽探讨的特定主题,而不是试图在每个周期中覆盖一切。

与团队讨论的问题

  1. 我们是否曾在大规模推行一个新的调查问题之前,先在一个小群体中对它进行试点,还是新问题直接进入完整调查? 跳过试点步骤,是模糊或复合式的问题在没有人注意到措辞不清的情况下,最终腐蚀整个数据集的一种常见方式。

  2. 过去几个调查周期,我们的回收率表现如何,如果出现了下降,我们调查过原因吗? 把这个趋势当作一个真正值得讨论的信号,而不只是顺带提一句的数据收集小麻烦。

  3. 我们是否把调查数据与任何客观埋点结合起来,还是主观感知在我们的报告中完全独立存在? 找出至少一处可以通过把一个调查问题与客观数据(构建时间、部署频率)配对,来让结果变得更具可操作性的地方。

  4. 作为上一个调查周期直接、可见的结果,我们采取了什么具体的行动,我们是否把这个行动反馈给了受访者? 如果诚实的答案是”没有任何可见的行动”,那这个缺口很可能已经在侵蚀人们对这个工具的信任,无论它是否已经在回收率上显现出来。

  5. 我们当前的调查问题中,是否有诱导性或复合式的问题,我们会注意到吗? 把这项具体的检验当作一次团队练习,审视你目前实际的问题。

  6. 当我们的DevEx或SPACE调查数据与客观信号看起来不一致时,两者的比较结果如何,这种不一致告诉了我们什么? 感知与客观数据出现分歧的情况,其诊断价值往往高于两者一致的情况,因为这个差距本身就具有信息量。

行业视角

初创公司。 一份简单、非常简短的脉冲调查,有时只有一两个问题,非正式且频繁地运行,在这个规模上通常已经足够,而当创始人仍能定期与几乎每个人直接对话时,正式工具设计的严谨性就没那么重要了。

小型企业。 一个免费或低成本的调查工具,配上一组简短、改编过的问题,按季度运行,在不需要专门调查设计专业知识的情况下,就能捕捉到这里的大部分价值。优先考虑形成闭环的纪律,而不是复杂程度;即使是一个小团队,也能从对一份简短调查所揭示的内容采取可见行动中受益。

企业。 在这个规模上,调查设计的质量至关重要,因为一个有缺陷的问题,或一个被打破的匿名性保证,会一次性腐蚀数千名受访者的数据,由此产生的自信满满却错误的结论,可能误导重大的资源配置决策。投资于真正的调查设计专业知识,或与一个成熟的DevEx测量平台合作,而不是在内部临时拼凑一个工具。

政府。 在员工可能已经对数据在内部如何被使用心存戒备的组织中,回收率和信任尤其脆弱。专门在透明的匿名性保证和可见的后续行动上超额投入,以建立起在一个对数据使用的怀疑程度可能已经高于典型私营部门环境的情境中,能够实现诚实回收率所需的信任。

案例

企业。 一家软件公司最初的DevEx调查中包含一个要求工程师评价”对工具和流程的满意度”的问题,这是一个复合式问题,把两个非常不同的关切混合在了一起。当合并后的分数回来表现平平时,领导层无法判断问题出在工具、流程,还是两者都有,最初的补救努力在两个季度里都瞄准了错误的领域。在后续修订中把这个问题拆开后,结果揭示出工具分数实际上很高,而流程分数很差,这把投资重新导向了简化一个繁琐的发布审批流程,在一个季度内产生了可衡量的满意度改善,与此前收效甚微的、聚焦工具的努力形成对比。

政府。 一家国家数字机构第一次DevEx调查的回收率低于30%,一次内部审查发现,员工普遍相信(后来证明是正确的),具体的管理者能够看到谁回答了、谁没有回答,尽管汇总结果本应是匿名的。该机构转向了一个真正独立、经过验证匿名性的第三方调查平台,明确而反复地传达了这一变化,并发布了一份关于上一周期结果的清晰摘要,附带三项已采取的具体行动。回收率在两个周期内上升到超过70%,该机构的领导层特别把这种信任的恢复,归功于真正的匿名性与可见的后续行动这一组合。

商业理由:动机、投资回报与总拥有成本

一个设计良好的DevEx调查项目的回报,是关于开发者体验这个维度的可信、可操作的数据,否则这个维度会一直保持不可见,直到它以人员流失或交付放缓的形式显现出来。上面的软件公司案例展示了设计出错的代价:因为一个措辞糟糕的问题把两个不同的关切混在了一起,导致了两个季度的补救努力被引向了错误的方向。

总拥有成本包括调查工具、本主题所建议的设计和试点纪律,以及每个周期都形成闭环、采取可见后续行动的持续承诺。这份承诺,比任何工具成本都更能决定一个调查项目是能在数年间保持有用,还是退化成一种随时间推移不断产生更不可信数据的走过场活动。

反模式与陷阱

  • 复合式或诱导性的问题: 把不同的关切混在一起,或者让答案带有偏见,而且如果不经过试点,往往不会被发现。
  • 跳过新问题的试点步骤: 让模糊的措辞腐蚀一个全规模的数据集。
  • 忽视下降的回收率: 错失了一个本身就很重要的信任信号。
  • 从不形成闭环、采取可见的后续行动: 教会受访者明白诚实的意见并不重要,从而降低未来数据的质量。
  • 把调查数据当作单独就足够,没有任何客观佐证: 错过了感知与现实朝任一方向出现分歧的情况。
  • 薄弱或无法核实的匿名性保证: 是同时瓦解回收率和回答诚实度最快的方式。

成熟度模型

  • 第一级,启动: 调查问题是临时拼凑、未经试点的,回收率不被作为一个信号来跟踪,结果很少带来可见的行动。
  • 第二级,发展: 存在一些调查设计纪律,但试点不一致,也没有可靠地与受访者形成闭环。
  • 第三级,标准化: 问题在推行之前经过试点,回收率被跟踪,在下降时被调查,结果被一贯地发布,并附带至少一项具体的后续行动。
  • 第四级,管理: 调查数据被系统性地与客观埋点结合,两者之间的分歧被当作一个诊断信号主动调查。
  • 第五级,协奏: 组织拥有一个成熟、可信、运行多年的调查项目,回收率持续保持高位,每个周期都有可证明的可见行动,并有一套在问题腐蚀数据之前捕捉并纠正设计糟糕问题的记录。

讨论思路

  1. 我们工具中当前的调查问题,有没有哪一个曾经让受访者感到困惑或被误导?
  2. 我们上一次作为调查数据直接结果所采取的具体行动是什么?
  3. 如果我们的匿名性保证被打破了,哪怕是意外的,我们要如何才能知道?
  4. 我们的调查数据在哪些地方与客观埋点一致或不一致,这告诉了我们什么?
  5. 要让我们当前的回收率翻倍,需要做些什么?

要点回顾

  • 调查的设计质量,清晰、单一概念、无偏见的问题,比长度或复杂程度更重要。
  • 回收率本身就是一个信号; 调查其下降的原因,而不要把它当作纯粹的麻烦事。
  • 把调查数据与客观埋点结合起来, 以捕捉感知与现实之间的分歧。
  • 形成闭环:每个周期都发布结果和可见的后续行动,否则人们对这个工具的信任会流失。
  • DevEx与SPACE是互补的, 而不是竞争性的表述,两者关注的是开发者体验这同一个底层关切。

参考文献与延伸阅读

  • Noda, Abi, Margaret-Anne Storey, Nicole Forsgren, and Michaela Greiler, “DevEx: What Actually Drives Productivity,” ACM Queue (2023):反馈回路、认知负荷和心流状态的DevEx框架。
  • Forsgren, Nicole, Margaret-Anne Storey, Chandra Maddila, Thomas Zimmermann, Brian Houck, and Jenna Butler, “The SPACE of Developer Productivity,” ACM Queue (2021)。
  • Ask Your Developer: How to Harness the Power of Software Developers and Win in the 21st Century,Jeff Lawson著(对开发者体验的组织性投资)。
  • Designing and Conducting Survey Research: A Comprehensive Guide,Louis M. Rea、Richard A. Parker著(适用于DevEx工具的通用调查设计方法论)。