SPACE框架与开发者生产力

DORA 指标是一个完美的起点。它们易于实施,且有大量的数据可以进行对比。如果您想更进一步,添加更多的指标,您可以使用 SPACE 框架来衡量开发者生产力(Forsgren N.、Storey M.A.、Maddila C.、Zimmermann T.、Houck B. 和 Butler J.,2021年)。

开发者生产力是实现高工程速度和高 DVI 的关键要素。开发者生产力与开发者的整体福祉和满意度高度相关,因此,它是吸引优秀工程师、在人才争夺战中脱颖而出的最重要因素之一。

但开发者生产力不仅仅关乎活动量。事实上,往往情况正好相反:在紧急修复和赶项目截止日期的时候,虽然活动量通常很高,但生产力会因为频繁的任务切换和创意减少而下降。因此,衡量开发者生产力的指标绝不能单独使用,也绝不能用来惩罚或奖励开发者。

此外,开发者生产力不仅仅关乎个人表现。就像团队运动一样,个人表现重要,但只有团队整体表现优秀,才能赢得比赛。平衡个人表现与团队表现的衡量指标至关重要。

SPACE 是一个多维度的框架,将开发者生产力的衡量指标分为以下几个维度:

  • 满意度和福祉

  • 性能

  • 活动

  • 沟通与协作

  • 效率与流畅

所有这些维度都适用于个人、团队以及整个系统。

满意度与幸福感

满意度和福祉关乎我们有多快乐和满足。身体和心理健康也属于这一维度。一些示例指标如下:

  • 开发者满意度

  • 团队的净推荐值(NPS)(即某人推荐他们团队给他人的可能性)

  • 员工留存率

  • 对工程系统的满意度

绩效

绩效是系统或过程的结果。单个开发者的绩效很难衡量。但对于团队或系统层面,我们可以使用一些指标,如 LT、DLT 或 MTTR。其他示例还包括正常运行时间或服务健康状况。其他良好的指标还包括客户满意度或产品的净推荐值(NPS)(即某人推荐该产品给他人的可能性)。

活动

活动可以为生产力提供有价值的洞察,但很难正确衡量。衡量个人活动的一个好指标是专注时间:开发者花费多少时间不在会议和沟通上?其他示例包括完成的工作项、问题、PR、提交次数或修复的 bug 数量。

沟通与协作

沟通和协作是开发者生产力的关键因素。衡量这些因素很困难,但通过查看 PR 和问题,你可以大致了解沟通情况。这一维度的指标应关注 PR 的参与度、会议的质量和知识共享。此外,跨团队或 X-team 的代码审查是衡量团队之间边界的一个好方法。

效率与流畅性

效率和流畅度衡量的是多少交接和延迟增加了整体的交付周期(LT)。好的指标包括交接的数量、被阻塞的工作项和中断次数。对于工作项,你可以衡量总时间、增值时间和等待时间。

如何使用SPACE框架

“间接了解一个组织中重要事物的一种方式是观察其衡量的指标,因为这些指标通常反映了组织所重视的内容,并且影响人们的行为和反应。”
— Forsgren N., Storey M.A., Maddila C., Zimmermann T., Houck B. & Butler J. (2021) p. 18

所有这些维度对于个人、团队、群体以及系统层面都是有效的(见图1.5)。

image 2024 12 26 18 42 57 240
Figure 1. 图 1.5 – SPACE 指标示例

重要的是,不仅要关注维度,还要关注范围。一些指标在多个维度中都是有效的。

同样,选择要衡量的指标也非常重要。指标会影响行为,而某些指标可能会产生你未曾预料到的副作用。目标是使用少量指标,但要最大化其积极影响。

你应该至少从三个维度中选择三个指标。可以混合使用针对个人、团队和系统范围的指标。对于个人指标要特别小心——它们可能会产生最难预见的副作用。

为了尊重开发人员的隐私,数据应该进行匿名化,并且只在团队或小组层面报告汇总结果。