如何衡量 2025 年 AI 开发者生产力 | Nicole Forsgren

Nicole Forsgren 2.0 2025-10-19

如何衡量 2025 年 AI 开发者生产力 | Nicole Forsgren


本片仅含标题,无正文内容待翻译。

文字稿

生产力指标的谎言

Lenny Rachitsky: 很多公司都在尝试衡量团队的生产力。

Nicole Forsgren: 大多数生产力指标都是一种谎言。如果目标是产出更多代码行数,我可以让提示词写出史上最长的代码。这种系统太容易被钻空子了。

Lenny Rachitsky: 我怎么知道我的工程团队速度够不够快,能不能更快,或者他们是否没有发挥出最佳水平?

Nicole Forsgren: 大多数团队都可以更快。但更快是为了什么?我们可以每天更快地交付垃圾。我们需要战略和真正明智的决策,才能知道该交付什么。

Lenny Rachitsky: AI 可能带来的最大问题之一,就是学会在多大程度上信任它生成的代码。

Nicole Forsgren: 我们不能只是输入一条命令,拿回一个猜测结果就照单全收。我们真的需要去评估它。是否出现了幻觉?可靠性如何?是否符合我们通常的编码风格?

Lenny Rachitsky: 现在大量时间将花在审查代码上,而不是写代码上。

Nicole Forsgren: 这里确实存在一个真正的机会,不仅是重新思考工作流,更是重新思考我们如何安排每天的时间、如何组织工作。现在,我们也可以让 45 分钟的工作时段变得有用,因为进入心流状态这件事实际上已经被部分地交给了机器,或者机器可以通过提醒我们上下文、生成系统图表来帮助我们重新进入心流。

Lenny Rachitsky: 你认为工程团队、产品团队本周或下周可以做的一件事是什么,来提高产出?

Nicole Forsgren: 说实话,我觉得你能做的最好的事情是——

嘉宾介绍

Lenny Rachitsky: 今天的嘉宾是 Nicole Forsgren。随着关于 AI 如何提升开发者生产力的讨论越来越多,越来越多的人开始问:“我们如何衡量这种生产力提升?这些 AI 工具到底是在帮助我们,还是在损害开发者的工作方式?” Nicole 在这个领域的前沿深耕时间比任何人都长。她创建了使用最广泛的开发者体验衡量框架 DORA 和 SPACE。她撰写了该领域最重要的著作《Accelerate》,并即将出版她的新书《Frictionless》,为团队在这个新兴的 AI 世界中如何加速运转、实现更多提供了指南。她的核心论点是:AI 确实加速了编码。但开发者的提速并没有你想象的那么多,因为他们仍然要应对失败的构建、不可靠的工具和流程,以及一系列正在浮现的新瓶颈。

在我们的对话中,我们聊到了她目前关于如何衡量 AI 生产力提升的、最佳且非常具体的建议,团队可以更快的信号,公司在衡量工程生产力时犯的错误,AI 工具如何在帮助和损害工程师(包括进入心流状态),她在公司搭建开发者体验团队的七步流程,如何获得支持并衡量这样一个团队的影响力,以及大量其他内容。本期节目适合所有希望提升工程团队表现的人。如果你喜欢这档播客,别忘了在你最喜欢的播客应用或 YouTube 上订阅和关注,这对我们帮助极大。

正式对话

Lenny Rachitsky: Nicole,非常感谢你的到来,欢迎来到播客。

Nicole Forsgren: 谢谢,很高兴来到这里。

Lenny Rachitsky: 很高兴你再次做客。我刚看了我们两年半前做的那一期节目。看的时候我既惊讶又不惊讶——我们几乎没有谈到 AI。那期节目叫”如何衡量和提升开发者生产力”,我们聊了快一个小时才提到 AI,然后就只是说了句”嗯,不知道 AI 和生产力会怎样发展”。这是不是让你觉得不可思议?

Nicole Forsgren: 是的。因为那时候 AI 刚刚进入人们的视野,是很多讨论的话题,但与此同时,很多东西并没有改变。很多东西依然重要,很多东西还是一样的。而且,两年半就这么过去了,也有点不可思议。时间都去哪了?时间是一种社会建构?

Lenny Rachitsky: 是的。我们当时大部分对话都是一些问题,比如”这可能会怎样影响人们?我们会怎样改变构建产品的方式?“那时候这还几乎算不上什么。而现在,我猜想当人们谈论工程生产力时,这是他们唯一想谈的话题。这也是我们今天要花大量时间聚焦的方向。我对这次对话感到兴奋的原因是,感觉有大量资金涌入了旨在提升生产力的 AI 工具。世界上增长最快的公司正是这些工程 AI 工具公司。现在,越来越多的人开始追问这个问题:“我们到底从中获得了什么收益?这在多大程度上真正帮助我们提升了生产力?我们如何变得更加高效?“

什么是 DevEx

Lenny Rachitsky: 你在这个领域深耕的时间比任何人都长,你发明了许多如今人们赖以使用的框架。所以我很高兴能再次邀请你来聊这些话题。我想先从一个词开始——DevEx,这个词在整个领域里经常出现,我们在今天的对话中也会反复提到。能不能先解释一下,DevEx 到底是什么?

Nicole Forsgren: DevEx 就是开发者体验。说到开发者体验,我们真正关心的是开发者在日常构建软件时的感受——他们面临的摩擦、必须经历的流程、能获得的支撑。这件事之所以重要,是因为当 DevEx 很差的时候,其他一切都没用。最好的流程、最好的工具、最好的……不管你有什么法宝,如果 DevEx 不行,一切都会——

Lenny Rachitsky: 在 DevEx 中包含了生产力,而且你和这个领域的其他同仁提出的一个关键洞察是,这里不仅仅是生产力的问题,还涉及工程师的幸福感。我们会深入讨论这些方面,但也许你可以先谈谈——除了生产力之外,工程师在公司里取得成功还有哪些更广泛的要素?

Nicole Forsgren: 对,我很喜欢这个观点,因为首先,生产力本身就很难定义。如果你只看产出,达成目标的路径有很多。但如果你是通过高强度的苦工或高摩擦的方式来实现产出,那么开发者迟早会倦怠。又或者,如果认知负荷极高——光是想清楚自己在做什么就很费力,因为注意力全被管道连接之类的机械性工作占满了——那就没有剩余的心智空间去想出真正创新的解决方案和问题。我喜欢这个概念的一点在于,它形成了一个自我强化的循环:“你做更多的工作,你做更好的工作。“这对人更好,对系统更好,对我们的客户也更好。

心流状态与 AI 的影响

Lenny Rachitsky: 我本来打算稍后再谈这个,但我现在就想聊聊——工程师的心流状态这个概念。其实我职业生涯早期就是工程师,我学的是计算机科学,做了十年工程师。对我来说,这份工作最美好的部分就是编程和构建时进入的那种心流状态,一切都觉得非常有趣。我感觉 AI 在很多方面反而让这变得更难了,因为你现在要与各种 agent 协作,有大量代码是”替”你写的。能谈谈心流状态对开发者的幸福感、对开发者生产力有多重要吗?以及你所观察到的 AI 对此的影响?

Nicole Forsgren: 谈论 DevEx 有很多不同的方式。一种方式是把它归结为三个关键要素——它们各自都很重要,同时又相互强化。心流状态是其中之一,认知负荷是另一个,反馈回路是第三个。你提到心流状态的问题非常好,我承认我们还处于早期阶段——才几年时间。我们仍在摸索在这种新环境下,什么样的心流状态和认知要求对人们来说是最优的,因为正如你所说,现在我们经常被不断打断。你不再像过去那样进入心流、锁住自己、一口气写下一大堆代码。取而代之的是,你构建一个提示词,拿到一些代码回来审阅,再把它们整合到系统中——这个过程确实容易打断心流。

与此同时,它也有可能促进心流。我见过一些资深工程师搭建起非常厉害的工具链,他们想出了如何保持心流的方法。快速的反馈回路对他们来说效果非常好。他们可以把不同的部分分配给各个 agent 去做,这帮助他们在心流中保持运转——只不过不再是纠结细节和逐行编写,而是处于这样的心流中:“我的目标是什么?达成目标需要哪些部分?多快能到那一步?“然后可以退后一步评估整体,再深入修复某些部分。

Lenny Rachitsky: 关于那位想出了非常酷的工作流的工程师,你能再多说说具体是什么样的吗?

Nicole Forsgren: 我和好几位这样的工程师聊过,也观察过他们工作的方式。我自己还没有搭建过这样的环境,但已经在计划列表上了。他们能够搭建出非常出色的工作空间和工作流。现在,我们大多数人使用工具的方式是——输入一个提示词,拿回几行代码,或者输入一个提示词,拿回一整个程序。而他们的做法是——很多时候我会看到他们先做一个引导性的说明:“这是我要构建的东西。它需要具备这些基本架构组件,需要用这样的技术栈,需要遵循这样的大致流程。帮我想清楚这件事。“然后系统会为他们做一个设计。接着,对于每个部分,他们会分配一个 agent 并行处理,而且他们会事先声明:“这些部分需要能协同工作,确保架构正确,确保使用恰当的 API 和规范。“然后他们可以让它跑几分钟。在此期间,他们可以思考其他有意思的问题,或者预判可能会比较棘手的部分。等他们回来的时候,得到的结果大概比随意让 AI 生成的好不少。因为他们在前期做了系统性的规划,最终产出已经非常接近生产级代码了。

Lenny Rachitsky: 所以我听到的是——这些 AI 工程师会在前期花一点时间做规划,而不是一路硬推、边做边想。

Nicole Forsgren: 对。

如何衡量生产力——以及常见的误区

Lenny Rachitsky: 好,接下来我想聊一个很核心、很多人都在想的问题。很多公司试图衡量团队的生产力:“这有没有提升我们的生产力?这有没有损害我们的生产力?“先问这个:当人们试图衡量 AI 带来的生产力提升时,目前最常见的做法有哪些是错的?

Nicole Forsgren: 我想说,大多数生产力指标都是假象。这真的很棘手,因为从历史上看……当然,代码行数一直都不是一个好指标,但很多人仍然在用代码行数——

Lenny Rachitsky: [听不清]

Nicole Forsgren: ——把它当作产出、生产力或复杂度的某种代理指标。而现在,对于那些系统中——有些系统之前可能不太声张地使用代码行数作为指标——这件事已经彻底崩了。因为”代码行数到底意味着什么?“如果目标是更多行代码,我可以让 AI 写出史上最长的代码,再加一大堆注释。我们都知道 agent 和 LLM 天生就非常冗长,所以游戏化这个指标太容易了,而且会在所有工作里引入复杂度和技术债。我想说的是,确实有一些东西是我们可以关注和追踪的。代码行数作为生产力指标不太好,相当差。但现在,如果我们能区分出哪些代码是人写的、哪些代码是 AI 生成的,它反而变得更有意义了,因为这样我们就能回答下游的问题。

代码存活率与指标的新语境

Nicole Forsgren: “代码存活率是多少?代码质量如何?我们的代码是否被回灌到训练系统中?对于那些后续用于重新训练系统的代码,尤其是当我们做微调和本地调优时,其中有多少是机器生成的?这会形成什么样的循环,又会无意中引入什么样的模式或偏见?” 一方面,它作为生产力指标不太好,但也可以有用。我对 DORA 也是同样的看法。我做了 DORA 指标,包括速度指标和稳定性指标。如果你只看这些,现在已经不够了,因为 AI 改变了我们对反馈回路的方式。反馈回路需要快得多。DORA 的初衷是从速度和稳定性角度评估整条流水线,这一点依然成立。但我们不能盲目套用以前用过的指标,因为我们会错过极其重要的现象和工作方式的转变。

Lenny Rachitsky: 有意思。DORA 是你发明的,长期以来它是大家衡量生产力的主要框架。然后还有 SPACE、Core 4,可能还有别的。所以我的理解是,现在 AI 在贡献大量代码的情况下,这些框架都有些过时了。

Nicole Forsgren: 我想说的是,如果是一个规范性指标(prescriptive metric),就只能按照它所规定的方式使用。

DORA 指标的适用边界

Lenny Rachitsky: 所以——

Nicole Forsgren: DORA 4,有四个关键指标。两个速度指标:部署频率和交付周期,即从代码提交到代码部署。还有稳定性指标:MTTR(平均恢复时间)和变更失败率。如果用它们来评估流水线的速度和整体表现,那很好。但如果你试图用它们来理解……因为其中隐含了反馈回路,对吧,因为你以前主要从客户那里获得反馈。但现在我们不能在使用 AI 时盲目套用,因为反馈回路出现得更早了,而且不仅仅是在本地构建和测试阶段。我们在整个流程中都有反馈回路,甚至在流水线中间有时也有,我们真的想以以前不那么重视的方式来利用它们。不能说以前做不到,只是我们确实没有聚焦在那里。

SPACE 框架在 AI 时代的适用性

所以那些是规范性指标。而当我们想到 SPACE,SPACE 是一个框架。它不告诉你具体用什么指标。所以我想说,有时候人们会很沮丧,因为我没有告诉他们该衡量什么。但现在,我认为这正是它的力量所在。我们实际上看到 SPACE 在 AI 等新兴语境下适用得相当好,因为我们仍然想关注……SPACE 是一个缩写。我们仍然想关注满意度(Satisfaction)。我们仍然想关注绩效(Performance),即产出结果是什么。我们仍然想关注活动(Activity)。是的,在某些方面,代码行数和 PR 数量在某些事情上可能有用,或者告警数量、事件数量——活动或计数。沟通与协作(Communication and collaboration),这也超级重要和有用,因为这是我们的系统之间相互通信的方式,也是人与人之间沟通的方式。“有多大比例的工作被交给聊天机器人,而不是与团队中的高级工程师讨论?” 不是越多越好,也不是越少越好,取决于具体情况。

然后是效率与心流(Efficiency and flow),“人们能否进入心流状态?做事情需要多少时间?我们系统中的流转状态是什么样的?” 在这里,我可能会增加几个维度。所以我正在跟一些早期作者交流,想说加入信任(trust)这个维度。不是说信任以前不重要,而是现在它变得非常、非常突出。对吧?以前你构建代码,编译通过了,就没问题了。事情就是这样。但 LLM 是非确定性的。现在我们不能只是输入一个命令,猜一个结果回来就接受它。我们真的需要评估它,所以,“我们有没有看到幻觉?可靠性如何?它是否符合我们通常的编码风格?如果不符合,这样可以吗?” 所以这取决于……规范性。你必须确保按照适合的目的来使用。对吧?

信任问题与代码审查

Lenny Rachitsky: 我们稍后会谈到你目前对最佳实践的想法。你有一本即将出版的书讲如何做好这件事,我们会聊到那个。但我想强调一下我们上次聊天时你说的一点——你指出我们在 AI 方面可能面临的最大问题之一就是信任:理解并学会在多大程度上信任它生成的代码,以及有多少……你说过这话,那是两年半以前了——现在大量时间将花在审查代码而不是编写代码上。这正是我现在听到的状况。

Nicole Forsgren: 我认为观察这将如何影响我们未来的工作组织方式会很有意思。我们之前谈到心流状态和认知负荷。现在我们的注意力必须在特定时刻聚焦于某些事情,而且这种方式跟我们以前做的不同了。我认为这里确实存在真正的机会,不仅是重新思考工作流,而且是重新思考我们如何安排一天的时间、如何组织我们的工作。

深度工作与注意力结构的重塑

Lenny Rachitsky: 能再多说一些吗?具体是什么情况?你觉得会发生什么?你认为事情会走向何方?你看到哪些做法是有效的?

Nicole Forsgren: 这纯属推测。但举个例子,Gloria Mark 在注意力和深度工作方面做了一些非常好的研究,人类每天大约能做四个小时的高质量深度工作。差不多就这么多。

Lenny Rachitsky: 是的,我有同感。

Nicole Forsgren: 这基本上是大多数人的上限了,我确定会有人说,“但我超乎常人,我可以做到——”

Lenny Rachitsky: 要是你服用 20 克肌酸呢?

Nicole Forsgren: 对。要是我们微量用药呢?

Lenny Rachitsky: 哈哈,没错。

Nicole Forsgren: 是的。所以在知道我们大约有四个小时高质量深度工作的前提下……我确定我们很多人大概都有过这种体验,对吧?我们有状态好的时段。也许是上午,对某些人来说是下午。然后你会到达一个时间点,心想,“我要去清理收件箱了,因为这是我目前唯一能做的事。我可以保持基本运转,但我没法产出最好的创新性工作、问题解决、写作或编码工作了。” 很多时候,要做到这一点并进入状态,需要有大段连续的时间来进入心流、完成深度工作。通常是两个小时左右。一个小时可能比较勉强,因为进入那种状态本身就需要时间。

好,那我们想想以前是什么情况——回到”过去”,三年前、三年半前——我们可以划出四个小时的整块时间,大概能完成两到三个小时真正高质量的工作。因为我们就是专注的,对吧?没有中断,或者说中断很少。

而现在,编写代码和构建系统这件事本身的性质就是中断驱动的,或者至少充满了中断,因为你开始做一件事,然后它就会插入打断。那我们该怎么看待这件事?这是否意味着四个小时的工作块仍然有用?很可能。但这是否也意味着现在 45 分钟的工作块也能派上用场了?因为进入心流这件事,至少在一定程度上被交接给了机器,或者说机器可以通过提醒我们上下文、生成系统图等等来帮助我们重新回到心流状态。所以我觉得这是一个非常、非常有趣的领域,充满了问题和机遇。拜托各位,去做这些研究吧,然后把结果告诉我,因为……它可能排不进我的研究清单,但这确实是一个极好的问题。

工程师变成了 AI 的管理者

Lenny Rachitsky: 这太有意思了。基本上,每个工程师都在变成 EM——工程经理——在协调所有这些初级 AI 工程师。所以你的观点是,即使你只有 30 分钟的时间块,你也可以深度进入代码,同时还能为那些跑去做各种任务的 AI 工程师扫除障碍。而且,你的观点是它们还能提醒你,“这是你上次做到的地方。好,你可以直接跳进这段代码,可能做一些调整。”

Nicole Forsgren: 没错。

Lenny Rachitsky: 太有意思了。

为什么公司应该关注开发者体验

Lenny Rachitsky: 让我把视角拉远一点。在我们讨论你关于如何推进开发者体验的框架和最新思考之前——显然工程师能做得更多是好事——但你最有力的话术是什么?为什么公司应该真正、真正地把重心放在开发者体验上?

Nicole Forsgren: 我不太想说”投资回报率”这个词,但商业价值……这里的机会是巨大的。总体来说,我们写软件有时候是为了好玩、当作爱好,但我们拥有软件更根本的原因是它满足了一个业务需求。它帮我们获取市场份额,帮我们吸引和留住客户,帮我们做所有这些事情。我认为开发者体验之所以重要,是因为它是所有这些软件创造的基础,它支撑着所有这些问题解决的工作。它使得与客户进行超快速实验成为可能——以前你可能需要一段时间来做原型,再花更长时间才能在生产系统上跑 A/B 测试。现在你几个小时就能搞定。

一个本周就能做的行动

Lenny Rachitsky: 也许换个完全不同的角度,说得非常具体、非常战术化——在我们进入更大的框架之前——你觉得一个工程团队、一个产品团队在本周或下周可以做的一件事是什么?来改善他们的开发者体验,也许让他们能做成更多事情?

Nicole Forsgren: 说实话,我觉得你能做的最好的事情就是去找人聊天,然后倾听。我很高兴这个播客的听众主要是产品经理,因为他们通常很擅长这件事。我想说的是,从倾听开始,而不是从工具和自动化开始。很多次公司会说,“好吧,我就去建一个工具,“或者,“我要去做这么一个东西。“通常你构建的都是你自己曾经遇到过的困难,或者是容易做、容易自动化的东西。但如果你只是去找人聊聊天,问开发者,“回想一下昨天,你昨天做了什么?带我走一遍。哪些环节让你觉得很愉快?哪些环节真的很困难?你在哪里感到了挫败?你在哪里被拖慢了?哪里有摩擦?“如果你去找一小群人聊聊,很多时候你能挖掘出一些相对低成本但仍然有影响力的事情,或者你能识别出一个不必要地复杂和缓慢的流程。

Lenny Rachitsky: 所以我听到的”倾听”几乎就是——如果你想帮助你的团队跑得更快、成为更快乐的工程团队——你的建议就是,“在做任何事情之前,先去问他们什么在困扰他们。”

Nicole Forsgren: 去问他们,没错。相信我,大多数开发者都非常乐意告诉你什么东西坏了、什么东西不好用。我想说,我曾经合作过一家公司,我记得他们有一个流程非常麻烦,运行在一个老旧的主机系统上,如果要重新平台化整个东西需要很大投入,所以他们一直没有去碰它,也不去谈论它。所有人都讨厌这个流程,因为它造成了巨大的延迟。其实他们只需要改一下流程。有时候你只需要改一个流程。他们的改动是——本来需要有人把它打印出来,走三四层楼梯去拿审批,然后另一个人再走楼梯送回来,所以整个中间环节就是这样。他们没有重新平台化任何东西,没有做任何重大的重新设计,他们只是发了一封邮件。

最常见的改进

Lenny Rachitsky: 让我在这方面再追问一下。我很好奇大家最常做的事是什么。如果你刚开始说,“好,我们需要关注工程体验,“你觉得公司最需要做的两三个最普遍的改进是什么?

Nicole Forsgren: 我想说,我还是会回到流程这个话题上——几乎总有一个流程是可以改进的,而且可以在不需要大量工程投入或大量工程人力的前提下改进。尤其是大多数大公司,都有某个东西是好几个、好几个步骤的。它之所以这样是因为”一直都是这样的”,但它已经不必再是这样了。即使是小公司,有时候也太随意了,你不知道流程是什么,到处追着人跑。如果你能创建一个非常轻量的流程,那也会很有帮助。这可能是最好的起点之一,特别是当你对组织的其他部分了解有限的时候。有时候仅仅一个团队级别的流程就能起作用。

从业务领导者的角度来说,你能做的很多事情是为这种组织变革提供结构和支持。沟通你们在做什么,沟通优先事项是什么,沟通为什么这很重要,庆祝胜利。因为如果大家只是把它当作一个一次性的、完全孤立的边缘项目来做,很难建立起好的势头,很难让人在意并持续参与。因为它感觉就像又一个不会有什么影响的内部项目,或者不会被重视的内部项目,但它对业务有着巨大的潜在回报。

Lenny Rachitsky: 有意思的是,我在这里听到的内容没有一个是关于工具或技术的。不是说迁移到这个云平台,不是说安装这个新的部署系统——而是流程、人员、组织和士气。

Nicole Forsgren: 是的。当然,会有一些技术层面的东西非常重要,特别是现在有了 AI,我们正在重新思考构建和测试系统的工作方式。我们正在重新思考给用户的反馈机制,让反馈在共享什么内容以及何时共享方面变得非常、非常定制化。有很多技术层面的问题是需要涉及的,但这不是唯一的事情。技术是必要的,但不是充分的,而且它不一定是你的起点。

如何判断团队是否足够快

Lenny Rachitsky: 我有一个难题想问你,是你刚才说的时候我想到的。我觉得这是大多数创始人和负责人都在思考的问题。问题就是:我怎么知道我的工程团队跑得够不够快?他们能不能更快?他们是不是没有发挥出最好的水平?有没有一些信号或迹象告诉你,“嗯,我的团队应该能跑得更快,“对比”这就是正常的状态,这就是他们能达到的最快速度了”?

Nicole Forsgren: 大多数团队都能跑得更快,对吧?另外,鉴于我们对认知负荷的了解,并不是所有的提速都一定是好事。或者说一旦达到某个临界点,收益就会比较有限,而大多数人甚至离那个点都还很远。坦白说,我不认识任何一个已经达到那个点的团队。那你怎么判断呢?如果你总是听到关于构建失败、不稳定的测试、过长的流程,如果你需要申请一个新系统或需要配置一个新环境非常困难,或者切换任务、切换项目非常非常难。如果有人有机会去组织的另一个部分工作,但因为一些说不清楚的原因而没去——不是政治原因,而且大家都在抱怨系统——那通常就是一个很好的信号,说明某个地方存在摩擦。

Nicole Forsgren: 因为一旦你终于搞明白了你的系统,能够开展工作之后,切换到其他地方的成本往往会非常、非常高。所以有时候人们会选择留在原地。但我曾与一些公司合作过,在那几家公司里,要在内部不同组织之间切换,你基本上要支付和新人入职一样的”税”,因为系统差异如此之大,充满了摩擦,做很多事情都非常困难。

Lenny Rachitsky: 我特别喜欢你回答的前半部分,就是你总是可以跑得更快。我想每个创始人都会爱听这句话。不过按照你说的,收益会随时间递减?

Nicole Forsgren: 是的。而且你不知道质量如何,对吧?所以我认为另一面是,你总是可以跑得更快,但更快是为了什么?我们是否在做正确的商业决策?我觉得这正是 PM 需要发挥作用的地方。我们可以每天源源不断地生产垃圾。我们需要战略和真正明智的决策,来知道该交付什么、该实验什么、功能以什么顺序做、怎样逐步推出。战略是核心,然后再考虑加速。如果我们没有把其他部分安排好,那就是垃圾进,垃圾出。

Lenny Rachitsky: 我想顺着这个话题继续聊,但在此之前,让我先复述一下你刚才分享的内容。所以,团队效率有待提升的信号是……构建总是在失败,不稳定的测试频繁出现误报,在不同项目之间切换上下文很困难,你听到人们在抱怨系统,说用起来真的很痛苦。大致是这样吗?

Nicole Forsgren: 是的。

Lenny Rachitsky: 好。那回到你刚才提到的观点,现在有一种感觉是 AI 正在让团队变得更快,因为它在替他们写代码。你会有各种异步 agent,有工程师在为你工作。但你传达的一个核心信息似乎是,这只是工程工作的一部分,还有太多其他的工作,包括确定要构建什么……以及内部的对齐。也许你可以谈谈……工程绩效和生产力确实有很大的提升空间,但还有很多其他要素是 AI 无法改善的?

AI 如何融入工程战略与实验

Nicole Forsgren: 是的。或者说将来有可能,对吧?我认为有很多方式可以让 AI 工具帮助我们优化战略、打磨信息,思考实验方法或实验目标,或者思考我们的总可寻址市场。但我们需要把战略和计划对齐得比较好,至少要有两三个想要测试的备选方案。因为现在,工程的推进——尤其是原型制作——可以快得多。我们可以快速推出原型,可以运行任何面向客户的测试和实验,前提是基础设施已经到位,这使我们能够比以前更快地学习和推进。在过去有些地方,要把一个东西推过生产环境做 A/B 测试并获取反馈可能需要几个月。现在我们一两天就能完成,一周之内肯定能搞定。但我们要确保我们在构建和测试正确的东西——“我们是否与正确的伙伴合作……我们是否有所需的数据?”

我想说,AI 实际上可以成为一个很好的伙伴,如果你跟它有很好的对话,然后再去和你的专家确认——“我应该关注什么类型的数据?我需要什么样的埋点?我可以做什么样的分析?“因为这样你就可以去找数据科学团队说,“我打算做这件事,我希望……”我们不要只是凭冲动去做 A/B 测试,因为这样做一次大规模测试可能会扰乱用户或客户,或者破坏隐私或安全协议,而且最终得到的数据可能根本无法使用,因为你无法从中提取你要找的信号。但现在,我也看到人们把这个流程从几周压缩到了几天。所以他们可以在与关键利益相关者讨论时,从一个更加了解情况、更加充分准备的状态出发。

AI 带来的生产力提升有多大

Lenny Rachitsky: 我很喜欢你能接触到许多不同的公司和不同类型的业务。我觉得很少有人能看到这么多不同组织的内部。就 AI 带来的生产力提升而言,你观察到了什么样的收益?你看到的增幅有多大?

Nicole Forsgren: 我会说这个提升是真实的,但我也想说我们还没有很好的衡量方式。我们仍在摸索该测量什么以及它看起来是什么样子。最好的衡量指标之一将是速度,贯穿整个系统的速度——你能多快地把一个功能或产品从系统中推出去,然后进行实验测试,从想法到最终交付,甚至是系统中的某个功能片段,以便我们能够测试。这非常好。不过,这也很难直接回溯到某个特定开发者手中的某个特定 AI 工具。但还有其他一些我们可以观察的东西,我确实看到的,还是这种快速原型制作。

我讨厌代码行数,但我还是要用代码行数来说。我们确实看到……我知道我与一些人合作过,他们观察了一组公司,发现 AI 为经常使用它的人生成了显著更多的代码。但他们还发现,对于经常使用 AI 编码环境——AI ADE 的用户,工具给了他们更多的代码。然后工程师自己产出的代码增量,是编码 agent 所提供增量的两倍。所以,我想说,这可能是一种间接的、连锁的效应,或者说一种迹象——它可以帮你解除阻塞。它可以加速你本来就要做的工作。我知道有时候我工作时,最初的几分钟很难开始。但一旦开始了,我就进入状态了。所以 AI 真的很擅长帮你解除阻塞、打开局面。

AI 在调试中的能力

Lenny Rachitsky: 我看到人们在 Twitter 上分享,OpenAI Codex 在查找那些非常棘手的 bug 方面有多么出色。我记得好像是 Karpathy 分享的经历——他被一个 bug 卡住了,没有任何 AI 工具能解决。然后最新版的 Codex 花了大概一个小时去排查,帮他找到了问题所在。

Nicole Forsgren: 是的,我也听到了很多类似这样不可思议的故事。还有编写单元测试、快速搭建测试套件,以及创建文档和整理文档——因为我知道现在很多人会说,“哦,既然有了 agent,我就不需要读文档了,因为代码就在那里。” 但事实证明,agent 依赖优质的数据,因为一切取决于它们的训练方式或基础数据的支撑。更好的数据带来更好的结果,而这些数据中就包括文档和注释。文档和注释写得越好,你的 AI 工具表现就越好。

Lenny Rachitsky: 而且 AI 可以帮你写这些文档。我最近在用 Devin,它在这些方面真的很擅长。

Nicole Forsgren: 是的。

《Frictionless》新书介绍

Lenny Rachitsky: 好,我们来聊聊这个框架、这本书。你正在出版一本叫《Frictionless》的书,听起来像是一个梦想——“如何打造一个无摩擦的开发团队?” 全名是《Frictionless: 7 Steps to Remove Barriers, Unlock Value, and Outpace Your Competition in the Age of AI》。里面有一个七步流程。请带我们走一遍,也可以先介绍一下这本书的背景——它是写给谁的,解决什么问题,然后是那七个步骤。

Nicole Forsgren: 我想说,这本书是我和 Abi Noda 一起写的——他是 DX 公司的创始人,在这个领域有着非常丰富的经验,与数百家公司合作过,所以和他碰撞想法非常有收获。同时,也要感谢所有与我们交流过的工程负责人、DevEx 负责人、CTO 和工程师们,他们帮助我们确认了判断的方向是否正确。那么,这本书是写给谁的——

关于 DX 公司的收购

Lenny Rachitsky: 既然你提到了,让我岔开一下聊聊 Abi 和 DX。这件事非常有趣,而且和我们这次对话的主题直接相关。Abi 创办了一家叫 DX 的公司——对于一家做开发者体验的公司来说,这个名字太棒了。他们刚刚以十亿美元的价格把公司卖给了 Atlassian。相对于他们的 ARR 来说,这是一个非常高的倍数。对我来说,这恰恰说明了我们这次对话为什么如此有价值——企业在改善开发者体验上投入的价值有多高。Atlassian 愿意花十亿美元来收购。这是一家尚处早期阶段的创业公司,发展得很好,用户也很喜欢,但仍然属于早期阶段——十亿美元。背后的逻辑是,他们有大量的客户在使用 Jira 和他们的各种产品,这些客户都在想办法如何衡量生产力。这对他们来说价值巨大。而且我知道你也是他们的早期顾问——

Nicole Forsgren: 是的。

Lenny Rachitsky: 所以这恰恰说明了这件事有多重要。

Nicole Forsgren: 是的。我觉得这也说明了你能从中获得多大的价值。有太多的低垂的果实,太多的未释放的潜能,而很多时候你甚至不知道该从哪里开始。即使在我待过的大公司里,有很多专家和非常非常聪明的人,但如果你没有深入过这个领域、没有用这种方式思考过,就很难知道从何入手,或者很容易在初期犯一些简单的错误,导致后来不得不推倒重来。所以我想这也引回了那个问题——“这本书是写给谁的?” 它面向所有关心 DevEx 的人:技术领导者当然是核心读者,任何正在启动 DevEx 项目或推动 DevEx 改进计划的人也很适合。我认为对 PM 来说尤其相关,因为如果你管理的产品涉及软件开发和构建,改善 DevEx 只会对你的团队有帮助。而且,PM 拥有一些关键的能力、洞察和直觉,这些对 DevEx 来说非常重要,而我经常看到工程团队恰恰缺失这些东西。

七步框架详解

Lenny Rachitsky: 好,那框架是什么?步骤有哪些?人们应该从哪里开始?

Nicole Forsgren: 这本书提供了一个七步流程,最后还提供了一些关键原则。第一步是启动旅程。假设你正在起步,可以开始这段旅程。这一步包括我们之前谈到的一些内容——去和人交谈,做一轮倾听,综合你听到的信息,可视化工作流程和工具,摸清当前的现状。第二步是获得快速胜利。从小处着手,取得一个快速胜利,挑选正确的项目,分享你做了什么。第三步是用数据优化工作。建立数据基础,找到已有的数据,开始收集新数据,用一些调研来获取快速洞察——书中还包含了一些调研示例。第四步是决定策略和优先级。当你有了一些数据之后,需要知道在所有可能存在问题的事情中——如果你已经拿到了快速胜利,在剩余的事情里——“我接下来应该做什么?” 我们在这里介绍了一些评估框架。

第五步是推销你的策略。一旦你做出了决定,现在要让其他人也信服。所以你要收集反馈,说明为什么现在这是正确的策略。第六步是在你的规模上推动变革。这里我们针对不同范围的控制权进行了讨论。如果你只是在某个开发团队内部,想自己做这件事,属于自下而上的努力;如果你是开发者体验副总裁之类的角色,则是自上而下的范围,有些东西你可以利用;如果你处于中间位置,也可以结合两种策略来推动变革。第七步是评估你的进展并展示价值,然后循环回去。

我想说的是,我们写这本书的方式允许你从当前所在的任何步骤切入。如果你正在启动一个团队或一项新计划,你可能应该从第一步开始——你绝对应该从第一步开始。如果你加入的是一个已有的计划,可以直接跳到选择优先级或实施变革的步骤。这就是七个步骤。除了七个步骤之外,我们还推荐了一些实践,包括资源配置、变革管理、让技术可持续发展,以及用 PM 的视角来看待这个问题——“我们如何把开发者体验当作一个产品来思考,如何把我们手中的指标当作一个产品来思考?”

Lenny Rachitsky: 太好了。我有问题想问。先告诉大家怎么找到这本书。网址是什么?怎么购买?什么时候出版?

Nicole Forsgren: 网站是 developerexperiencebook.com。现在可以注册邮件列表,预购开放时我们会通知你。我们还会分享配套工作手册的部分内容——我们有一份将近一百页的配套工作手册,书应该会在年底前出版。

开发者体验 vs 开发者生产力

Lenny Rachitsky: 好。其中有一点是,“开发者体验”这个说法感觉是非常刻意的——它不是”开发者生产力”,也不是”开发者工作”,而是”我们如何让开发者在我们公司的体验变得更好”,这包括他们能完成更多工作,也包括他们更快乐等等。所以我觉得这是一个很重要的元素,对吧?

Nicole Forsgren: 是的,完全正确。

Lenny Rachitsky: 好的。

Nicole Forsgren: 因为,再说一次,这不只是关于生产力的问题。我们之前也从”我们需要构建正确的东西”这个框架和视角讨论过这一点。你当然希望高效,但你同时也需要思考……而这恰恰也是工程师们极其擅长的事情——给他们一个问题,不要告诉他们怎么解决,他们反而能解决得更好。他们拥有自由、创新和创造力,因此能够解决这些问题。如果仅仅关乎生产力,那就只是代码行数、PR 数量之类的东西了。但我们真正想讨论的是价值——如何释放价值,如何更快地获取价值。这当然包括提升他们的生产力、减少摩擦,因为这样他们才能获得心流状态、降低认知负荷,以及我们之前讨论过的那些要素。

Lenny Rachitsky: 很好。那如果说有人想组建这样的团队,通常是什么样的?我记得在 Airbnb 时见过这样的团队成形,最初就是一两个工程师牵头启动、承担责任。你对初始团队有什么建议?后续扩展又是什么样的?

Nicole Forsgren: 有几种做法。如果是自己动手的话,可以搭配几个工程师,也许再加一个 PM、PGM 或 TPM 来协助沟通。因为在这里,沟通计划真的非常重要。在小规模上,我们要做的是寻找那些快速见效的东西,寻找能在小范围内做到的改进。有些人称之为”纸割伤”式的问题——那些你能做的小事,帮助人们看到价值、亲身体验到好处:开发者的工作怎么变得更好?日常体验怎么改善?从这里开始逐步积累势头。如果你是在自上而下的结构中工作,并且有授权,你同样需要快速见效,但这些见效可以是在更大范围上的,因为你有基础设施或有后台支撑,能够做出不只是局部层面的不同类型的改变。

局部改进与全局改进的例子

举个例子,一个小的局部改进可能就是清理你的测试、你的测试套件。任何团队都能做这件事,任何团队都可以。而在更大范围上,可能是改变一个组织级流程——那些过于繁琐的流程——或者投入一些资源去清理配置环境。

Lenny Rachitsky: 好的。你看到过这种团队成形后对公司工程团队产生了什么样的影响?

Nicole Forsgren: 我可以说,对于小公司我看到了巨大的影响,对于大公司则是数十万甚至数十亿美元的量级。当然,我们也需要学会如何传达这些成果——“数学是什么样的?“很多时候,我们可以看节省的时间,可以看节省的成本,可以看很多不同的东西。我们可以把价值交付的速度看作抢占市场的速度,可以看风险降低——但收益确实是实实在在存在的。我想提一下,它通常遵循类似 J 曲线的形态。一开始你会取得几个快速见效的成果,看起来像是巨大的胜利,然后你会遇到一个小低谷——因为那些显而易见的项目、那些低垂的果实已经被处理完了。现在我们需要做一些更深入的工作,可能需要搭建更多基础设施,可能需要建设更多遥测能力,以便捕获我们想要捕获的数据。而一旦完成了这些,我们就开始看到那些收益真正地复利增长。

Lenny Rachitsky: 那回到那个量化数字的话题,你有什么建议?人们怎么找到这些数字?因为我觉得这件事的力量很大程度上就在于此——“我们通过做这件事省了一百万美元。“你用什么指标来得出这个结论?

面向不同受众的沟通方式

Nicole Forsgren: 我觉得有几件事需要记住,比如我们的关键受众是谁,而我们通常有几个关键受众。我们非常需要能够与开发者对话,因为他们是使用这些系统的人。他们会与你们合作——要么参与构建,要么至少提供关于你正在做的事情的反馈。所以对他们来说,我们通常要用他们关心的事情来表达。比如节省时间——如果某个环节变快了,他们就能省下时间。他们不再需要花时间做不必要的配置工作,这跟减少重复性劳动是相关的。合规和安全也非常重要,而且很多时候它们需要好几个手动步骤……我不是说这些没有价值,而是从个人角度来看它们不产生增值。如果我们能尽可能自动化,那就太好了——还有改善专注时间。

从开发者这边来看是这样。领导层关心的……他们也关心这些事情,但通常更关心其他的东西。所以我们通常可以谈以美元计算的成本——“我们能加速收入吗?我们的价值交付周期是什么样的?我们的速度如何?我们能多快从客户那里获得反馈?“对于处于高度竞争环境中的组织来说,这可以非常有说服力,因为一切都在拼速度。我们可以谈省钱,这里可以看量化的节省。一个例子是测试和构建。如果我们能清理测试和构建套件,对开发者来说,他们真正想听到的是节省了时间和更可靠的系统。重复性劳动减少了,因为他们不需要反复重跑测试或者去清理测试套件。

量化收益的方法

从业务角度来看,清理测试和构建套件可以节省云成本,因为所有这些测试都在云上某处运行。如果它们总是失败,或者只是在浪费支出,那这里就有用武之地了——可以回收一些容量。我们总是可以谈时间和生产力的收益——“我们在那些不一定产生增值的事情上损失了多少等效的开发者时间?“然后有时候我们可以与业务成果做关联——关联通常是我们在这里能做到的最好的程度——但在加快价值交付速度与增加市场份额之间,可以有一些非常有说服力的关联关系。

如何衡量 AI 工具对生产力的影响

Lenny Rachitsky: 让我顺着这个线索继续,回到我认为当下人们对 AI 和生产力最大的疑问上——我觉得还没有人有答案,但我很想听听你的看法:人们现在应该怎么做?理解 AI 工具对生产力的影响的最佳方法是什么?因为他们在这些工具上花了很多钱。我不确定,我们到底从中得到了什么?感觉事情确实变快了,但我不确定。如果有人必须说,“好吧,以下是我大概应该尝试做的事情,“对于衡量 AI 工具对生产力的影响,你最好的建议是什么?

Nicole Forsgren: 我会说,要看情况。部分取决于你的领导层真正关心什么。我们通常很擅长弄清楚什么对开发者重要,并且能够把这些传达给他们。但如果我们只是想确定两三个数据点来真正聚焦——因为当我们刚开始使用数据的时候,有时候会有挑战——他们关心什么?想想你一直在听到的话语。他们一直在谈论市场份额吗?是失去市场份额还是市场竞争力的下降?如果是这样,就聚焦于速度。想想如何捕获从功能到生产环境、或从功能到客户、或从功能到实验的速度指标,以及那个反馈循环是什么样的。如果他们一直在谈论利润率……

Nicole Forsgren: 我们总是会谈到钱,因为这是商业。但如果这似乎是一个贯穿始终的主题,那就寻找省钱的方法,然后把它转化为回收的人头成本。或者有时候你会重新改造、变更某个流程,然后就不再需要那么多供应商了。所以供应商支出的减少也能在这方面有所帮助。我说”看情况”也是因为,有时候领导层会说一些话,然后某种主题就会浮现出来。如果你能解决他们面临的问题,或者他们正在关注什么,甚至可以稍微调整一下表述框架——比如如果他们把什么都叫”开发者生产力”,那你也叫它生产力。如果他们叫”速度”,而速度对他们来说很重要,那就想想怎么用速度来表述这件事。如果他们在谈论转型或颠覆,那这件事怎么帮助实现颠覆?因为这样才会与他们产生共鸣。我们不想让他们费力气去理解我们在做什么、我们提供的价值是什么。

Lenny Rachitsky: 这个建议太好了。让我复述一下,这里的建议是,如果你的公司想要搞清楚 AI 工具对公司有什么影响,首先要做的就是——公司最关心什么?领导层最关心什么?可能是市场份额,可能是利润率,可能是速度。我们需要更高的速度,或者我们需要转型。所以你的建议是,根据你听到的话语和措辞来判断他们关心什么。然后找到衡量那些东西的方法,衡量市场份额增长的方法,衡量利润率提高的方法。我很喜欢你举的这些例子,比如从功能、想法到生产环境或到实验的时间,也许可以开始追踪这个。如果是利润率,那就是通过更少的测试失败或某些供应商不再需要付费来节省的钱,诸如此类。而速度,我猜那就是 DORA 派上用场的地方了,就是工程交付的速度……关于速度你会怎么看?

Nicole Forsgren: 我会说,这其实是那种……我会选择尽可能宽泛的跨度。如果你能量从想法到客户或想法到实验的过程,这需要多长时间?通常需要多长时间?可以多快?在使用 AI 工具改进并减少摩擦之后现在需要多长时间?这里我要说,我们在书中也讨论了一点,就是我们如何应对归因挑战?是什么导致了这个结果?是 DevEx 还是 AI?大胆地公开说明这一点。说,“是的,我们推出了 AI 工具。我们同时也有 DevEx 方面的改进。它们紧密配合在一起。“两者可能都有贡献,对吧?如果我们只有 AI 工具而没有 DevEx 改进,可能也会有一些提升,但远不如现在这么多。

从零开始衡量开发者体验

Lenny Rachitsky: 如果人们今天就要开始做这件事,比如他们说,“我想开始衡量开发者体验”,有没有两三个基本上每个人都需要的指标,应该立刻开始衡量的?

Nicole Forsgren: 如果你今天刚开始,如果你什么都没有,显然先去跟人交流。之后,我会做问卷调查,因为问卷可以快速给你一个整体的全景视图,让你知道大的挑战在哪里。我这么说是因为,如果你刚开始,你的系统中可能还没有埋点,没有各种指标。即使你已经有了,也可能不是你真正想要的。没有明确目的而设计的指标,存疑。为其他目的设计的指标,可能对你的需求有用,但也可能没用,所以我们不能想当然地认为自己已经有了。这是我喜欢问卷的原因之一,我们在书中也提供了一个示例。你只需问几个问题:“你的满意度如何?你生产力最大的障碍是什么?“或者”完成工作最大的挑战是什么?“然后让他们从一组工具或一组流程中选择,让他们选三个,就三个。

在这三个中,这对你影响的频率如何?是每小时?每天?每周?还是每季度?因为有时候它每天都困扰你,你为此很恼火。有时候它一个季度才出现一次,因为那是季度末,但负担特别重。然后可以加一些开放性的文本,比如”还有什么我们应该知道的?“这能给你带来非常有价值的信号,因为让人们优先排列前三件事……如果让他们全部都选,数据会变得非常非常混乱。但选三件事再加上频率,你就可以得出一个分数,或者如果你愿意的话一个加权分数,然后去深入挖掘——那些数据应该在哪里?我们需要什么数据?而且,这样你至少有了一个基准。它会是一个主观的基准,但你现在知道了最大的挑战是什么。

Lenny Rachitsky: 我很喜欢这一切最终都回到最基本的一步——先去跟人交流,问他们这些问题。这和产品管理以及打造优秀产品非常相似:你跟你的客户聊过吗?每个人都觉得自己在这么做,但大多数人做得不够。

问卷调查设计的注意事项

Nicole Forsgren: 我还要说,在获取数据时有一个挑战。访谈是数据,这很重要,问卷则更加量化,因为我们可以把它转化为计数。但这正是我们需要小心的地方。很多人去写问卷问题时会说类似这样的话:“过去一周构建和测试系统是否缓慢或复杂?“你在这里问了四个不同的问题。如果有人回答”是”,那是构建的问题?还是测试的问题?是慢?还是不稳定?还是复杂?还是别的什么?所以要理清你实际获得的信号是什么会非常困难。所以,花时间与熟悉问卷设计的人聊一聊,与 Claude 或 Gemini 或 ChatGPT 讨论一下:“这是我的问卷问题。你能帮我提一些吗?“然后确保你进行几轮迭代。这是一个好的问卷问题吗?从获得的数据中我能回答什么问题?我能解决什么问题?如果你不能用数据回答一个问题,就不要收集它。

Lenny Rachitsky: 你的书里有示例问卷,给那些想直接复制粘贴、不想花太多心思的人。

Nicole Forsgren: 是的,示例问卷,很多示例问题。我们甚至推荐了格式、流程应该是什么样的,应该多长,不应该多长。

满意度 vs 幸福感

Lenny Rachitsky: 我在读你的内容时注意到一点,你不太喜欢”幸福感”问卷,就是问工程师他们有多幸福,这是真的吗?如果是的话,为什么?

Nicole Forsgren: 我不喜欢,确实。我想说我不喜欢幸福感问卷,因为影响幸福感的因素太多了。幸福感涵盖的范围太广了。幸福感来自工作,来自家庭,来自爱好,来自周末,幸福感……有太多东西构成幸福感。但这不意味着我不关心幸福感。我认为幸福感问卷在这里并不是特别有用。有帮助的是满意度,人们会说”这不是一回事吗?“并不是,因为你可以问”你对这个工具满意吗?“然后再问一些后续问题。这两者是相关的,因为你对工作、工具、你所做的事情和团队的满意度越高,就越有助于幸福感。我以前开玩笑说……记得那个高尔夫球广告吗,“快乐的奶牛产好奶酪”?

Lenny Rachitsky: 不记得。

Nicole Forsgren: 我用过 Calabrian 奶酪广告。那个最经典了。快乐的开发者写出快乐的代码。他们写更好的程序,做更好的工作,成为更好的团队成员和合作者。但是去捕捉并试图直接影响幸福感,这不是我们要做的事。这太难了,涵盖面太广了。满意度能给我们一些有用的信号。

推荐的开发工具

Lenny Rachitsky: 完全换个方向,就你看到人们在使用的工具而言,有没有哪个让你觉得”哦,这个确实很好用”?有没有什么工具让人们取得了很大成功?常见的那些,Copilot、Cursor 之类的。有没有什么特别想分享的,就是”嘿,你应该看看这个工具,人们似乎很喜欢它”?

Nicole Forsgren: 这些都很大,对吧?Copilot、Cursor、Gemini。

Lenny Rachitsky: 还有 Claude Code。

Nicole Forsgren: 对,Claude Code。我很喜欢 Claude Code。

Lenny Rachitsky: 我正在写一篇关于 Claude Code 非工程用途的文章。

Nicole Forsgren: 太好了,不错。

Lenny Rachitsky: 特别有意思。比如用 Claude Code,“找找办法清理我笔记本电脑上的存储空间”,它就会告诉你有一堆文件。就像 ChatGPT 在你电脑上运行一样,你可以让它帮你做各种疯狂的事情,就像一个小型上帝。

Nicole Forsgren: 我现在就要去试试。太好了。

Lenny Rachitsky: 真的超好用。所以我在写那篇文章。Dan Shipper 上过我的播客,他说 Claude Code 是最被低估的 AI 工具,因为人们没有意识到它的能力。它不仅仅用于编码,这正是我想要不断探索的方向。好了。关于帮助人们改善开发者体验、帮助他们适应 AI 和工程的这个新时代,还有什么你觉得有价值但我们还没谈到的吗?

用产品思维做 DevEx 改进

Nicole Forsgren: 我觉得总体来说很重要的一点是,把产品思维带入任何类型的 DevEx 改进中,也包括我们收集和采集的指标。我的意思是,我们要识别一个问题,确保我们在为一群用户解决一个问题。我们要考虑创建 MVP 和实验,获取快速反馈,进行快速迭代。我们要有策略。我们要知道我们的目标用户是谁。我们要知道怎样才算成功。我们基本上需要有推向市场的功能。我们需要有沟通机制。我们需要持续从客户那里获取反馈。我们想要不断改进。而且到了某个阶段,我们要考虑淘汰某些东西。它是不是已经进入维护模式了?是不是该日落了?

我觉得这在一般情况下很重要,但现在尤其重要,因为当我们使用 AI 工具、将 AI 嵌入到产品中时,一切都在快速变化,所以花半拍时间停下来想一想很关键:“好吧,我现在要解决的问题到底是什么?这个用了十年的指标还有意义吗,还是应该淘汰它,因为它已经不重要了?它已经不能推动我所需要的那种决策和行动了。“

AI Corner:用 AI 做家居设计

Lenny Rachitsky: 在进入精彩的快问快答之前,我想带大家进入 AI Corner,这是本播客的一个固定环节。你有没有在生活或工作中发现某种 AI 工具的用法,觉得分享出来可能很有趣,对其他人也有用?

Nicole Forsgren: 我最近在做家居设计,重新装修房间什么的。我在跟一个设计师合作,因为我知道自己喜欢什么,但不知道怎么实现,我不擅长这个。但我真的很喜欢用 ChatGPT,尤其是 Gemini 来帮我渲染图片。我可以给它户型图,给它一张房间的照片——虽然完全不是它最终应该有的样子——然后我可以给它几张不同东西的照片,接着我就能告诉它改变墙壁、或者改变家具布局、或者改变某些东西。它帮了我,而且速度相对很快。它帮我可视化这些东西……再说一次,我知道自己喜欢什么,但不知道怎么达到那个效果,所以至少我能判断喜不喜欢。这大概是一个很随机的用法,但挺好玩的。

Lenny Rachitsky: 我妻子做的完全一样的事。她不断给我发,“这是这块地毯在我们客厅里的样子。这是这个水景。“效果太好了,而且越来越好。就是那种,“哇,那真的是我们的房子,放着这块新地毯”,你只需要上传两张照片,然后说,“好的,这个在我们房间里会是什么样?”

Nicole Forsgren: 对,有好几次我被惊到了。机器绝对在监听我们。它给我生成了一个房间的效果图什么的,然后突然加了个狗窝,因为我养狗。我就想,“我根本没让你加这个,但确实,那大概就是应该放在这个房间里的狗窝的颜色和风格。”

Lenny Rachitsky: 说到这个,你试过这个用例吗——问 ChatGPT,“根据你对我了解的所有信息,生成一张你认为我家长什么样的图片。”

Nicole Forsgren: 我还没试过。

Lenny Rachitsky: 因为它有记忆功能,记得你聊过的所有内容,结果非常好笑。你一定要试试。

Nicole Forsgren: 好的,这已经加到我的待办列表上了。

Lenny Rachitsky: 好了。额外用例。Nicole,话说到这里,我们到了非常精彩的快问快答环节。我有五个问题。准备好了吗?

Nicole Forsgren: 太棒了,来吧。

快问快答

Lenny Rachitsky: 你最常推荐给别人的是哪两三本书?

Nicole Forsgren: Peter Attia 的《Outlive》非常棒。另一本可能相关的,我伤了背所以不太妙,Stuart McGill 的《Back Mechanic》简直不可思议。推荐给所有伤过腰的人。这本书是给普通人读的,帮助弄清楚怎么解决腰部问题。算是个比较冷门的书。我还想说我很喜欢《How Big Things Get Done》。作者名字我不会读。好像有一个是……有一个是斯堪的纳维亚人。它通过近现代历史拆解了一些非常大的项目,分析它们在哪里失败以及为什么。我觉得这对我们现在的思考很有启发,特别是在 AI 时代,我们几乎所有的软件系统都即将发生变化。那么我们该如何思考去应对本质上将是一个非常庞大的项目?还有,抱歉,我再额外加一本,Michael Lewis 的《The Undoing Project》。Matt Velloso 推荐给我的,太好看了。

Lenny Rachitsky: 对,我读过——

Nicole Forsgren: 我读到最后一句时发出了声惊叹。

Lenny Rachitsky: 哦。我当时就想,“什么?”

Nicole Forsgren: 我当时……对,完全没想到。

Lenny Rachitsky: 我读过那本书但完全不记得最后那句。天哪。好吧。下一个问题。你最近看过并喜欢的电影或电视剧是什么?

Nicole Forsgren: 我看《Love Is Blind》。如果一天结束想放空一下,《Love Is Blind》挺好玩的。

Lenny Rachitsky: 新一季出了。

Nicole Forsgren: 对,非常期待……还有《Shrinking》。你看过《Shrinking》吗?

Lenny Rachitsky: 没有。我好像开始看《The Therapist》了,看了一集。

Nicole Forsgren: 强烈推荐。很可爱。

最喜欢的产品

Lenny Rachitsky: 好。你最近有没有发现什么特别喜欢的产品?可以是 App、厨房小工具,什么都行。

Nicole Forsgren: 有的,Ninja Creami 算一个——

Lenny Rachitsky: 你上次说过这个吗?

Nicole Forsgren: 不确定,可能说过。我觉得没有。

Lenny Rachitsky: 有人提到过这个,我现在还记得。就是——

Nicole Forsgren: 真的很好用。

Lenny Rachitsky: 可以用它做冰淇淋之类的东西,对吧?

Nicole Forsgren: 对,基本上你可以把蛋白奶昔冻起来,然后它就能打成冰淇淋——非常好吃。还有一个是 Jura 咖啡机。我很喜欢好咖啡,但不太擅长做,所以按一下按钮就行,想喝什么都行,拿铁、卡布奇诺什么的都可以。挺有意思的。

Lenny Rachitsky: 不错。你有没有最喜欢的——

Nicole Forsgren: 就是糖和咖啡因,靠着撑过一整天。

Lenny Rachitsky: 这就是工程生产力入门第一课。

Nicole Forsgren: 没错。

人生座右铭

Lenny Rachitsky: 天哪。好,还有两个问题。你有没有一个特别喜欢的人生座右铭,在工作或生活中经常觉得有用,会反复想到?

Nicole Forsgren: 有的,有一个说过几次了,不是原话,更多是一种感觉——后见之明总是很清晰,但其实也很蠢。我觉得如果我们当时在已有信息的基础上,做出了能做的最好决定,那就这样了。如果你做了一个糟糕的决定,而且你明知故犯,当时就有信息却没有好好利用,那确实不好。我觉得我们对自己、对别人都不够宽容,因为我们事后总会发现更多信息。

Lenny Rachitsky: 说的太对了。

新角色与 Google

Lenny Rachitsky: 最后一个问题。我本来想问别的,但我们准备这次访谈的时候,你提到自己在 Google 有了新角色。简单聊聊吧,你在那里做什么,为什么加入 Google,大家需要了解什么。

Nicole Forsgren: 好的。我是开发者智能和核心开发团队的高级总监。这份工作非常令人兴奋,也非常有趣,正是因为我们聊的这些内容。它聚焦于 Google 及其所有产品和底层基础设施——如何改善开发者体验、开发者生产力、速度,所有我们讨论过的东西。然后,因为我是个数据人,我们怎么思考度量这件事,度量方式如何变化,反馈循环如何变化,如何持续改善体验,然后以一种有意义、有影响力、比以往更快的方式推动整个组织变革。

Lenny Rachitsky: Google 真会挑人,把 Nicole 挖到了。太赚了。我得赶紧买点 Google 股票。好,两个后续问题。大家在网上哪里能找到你、找到你的书?听众怎么帮到你?

Nicole Forsgren: 网上可以在 developerexperiencebook.com 找到这本书,我的个人网站是 nicolefv.com,LinkedIn 上偶尔也会出现。有时候那里挺乱的,我尽量从噪音中筛选有用的东西。欢迎大家去注册获取这本书和工作手册。工作手册是免费的。我很希望收到各种反馈,哪些有用,哪些没用。我也一直很喜欢听大家的故事。

Lenny Rachitsky: Nicole,非常感谢你来参加节目。

Nicole Forsgren: 谢谢你邀请我,Lenny。

Lenny Rachitsky: 我的荣幸。再次感谢。大家再见。

感谢大家的收听。如果你觉得这期内容有价值,可以在 Apple Podcasts、Spotify 或你喜欢的播客 App 上订阅节目。也请考虑给我们评分或写评论,这真的能帮助更多听众发现这个播客。你可以在 lennyspodcast.com 找到所有往期节目或了解更多关于节目的信息。下期再见。


术语表

原文中文
A/B testA/B 测试
Abi NodaAbi Noda(DX 公司创始人)
Accelerate《Accelerate》(开发者生产力领域著作)
AI ADE (AI Assisted Development Environment)AI ADE(AI Assisted Development Environment,AI 辅助开发环境)
ARRARR(Annual Recurring Revenue,年度经常性收入)
AtlassianAtlassian(企业软件公司,Jira 等产品母公司)
Back Mechanic《Back Mechanic》(Stuart McGill 著腰部康复指南)
change fail rate变更失败率
cognitive load认知负荷
Dan ShipperDan Shipper(播客嘉宾、Every 公司 CEO)
deployment frequency部署频率
DevExDevEx(Developer Experience,开发者体验)
DevinDevin(AI 编码 agent 产品)
DORADORA(一种开发者体验衡量框架)
DXDX(开发者体验领域的创业公司)
EM (Engineering Manager)EM(Engineering Manager,工程经理)
flaky tests不稳定的测试
flow state心流状态
Frictionless《Frictionless》(Nicole Forsgren 即将出版的著作)
Gloria MarkGloria Mark(注意力与深度工作研究者)
go-to-market推向市场
How Big Things Get Done《How Big Things Get Done》(Bent Flyvbjerg 与 Dan Gardner 著,大型项目管理著作)
instrumentation埋点
J-curveJ 曲线(一种先下降后上升的收益曲线形态)
JuraJura(瑞士高端全自动咖啡机品牌)
KarpathyKarpathy(AI 领域知名研究者、前 Tesla AI 总监)
lead time交付周期(从代码提交到部署的时间)
Love Is Blind《Love Is Blind》(Netflix 恋爱真人秀)
low-hanging fruit低垂的果实(容易实现的目标)
Matt VellosoMatt Velloso(Nicole Forsgren 的朋友/同事)
MTTRMTTR(Mean Time To Restore,平均恢复时间)
MVPMVP(Minimum Viable Product,最小可行产品)
Ninja CreamiNinja Creami(一款家用冰淇淋机品牌)
Outlive《Outlive》(Peter Attia 著健康类畅销书)
paper cuts”纸割伤”式问题(指那些虽小但令人烦恼的摩擦点)
PGMPGM(Program Manager,项目经理)
provisioning environment配置环境
Shrinking《Shrinking》(Apple TV+ 喜剧剧集)
SPACESPACE(一种开发者体验衡量框架)
sunset淘汰/日落(停止维护和运营)
telemetry遥测(数据采集与监控能力)
The Undoing Project《The Undoing Project》(Michael Lewis 著,关于行为经济学的非虚构作品)
toil重复性劳动
total addressable market总可寻址市场
TPMTPM(Technical Program Manager,技术项目经理)
YOLO凭冲动/随意(YOLO 原意为 You Only Live Once,此处指不经思考就行动)

此文档由 AI 分片翻译(translate_long_document)