FBI 总部胡佛大楼的地下室里,一个小团队在一间拆掉了隔断的屋子里待了两年。一位顾问说,这就是一家科技创业公司。在这之前,FBI 已经在 Sentinel 上花掉了约 4.05 亿美元,探员们等这套案件系统等了好几年;2010 年秋天,FBI 从承包商手里把活收了回来。
团队把剩下的工作拆成 670 个小块,每一块是探员要能做成的一件事,按两周一个冲刺来做。不管干没干完,每个冲刺都按时结束。「我们每隔一个周五,就请一大批相关方来看演示。」FBI 首席技术官杰夫·约翰逊后来说。其余经过,包括这个团队误了哪个期限,见案例。
固定的短周期
按固定的短周期干活,每轮结束都交出能用、能演示的东西。
「冲刺」这个词来自 Scrum,一种管理软件团队的方法,肯·施瓦伯和杰夫·萨瑟兰在 1995 年首次公开介绍。Scrum 是橄榄球里的争球阵型,这个比喻比软件还早:1986 年,竹内弘高和野中郁次郎在《哈佛商业评论》上撰文,说日本和美国的公司正在放弃一棒接一棒的老式产品开发,改用一种整体的做法,就像橄榄球,球在队员之间来回传递。
现在的《Scrum 指南》把规矩讲得很直白。冲刺的长度固定,不超过一个月,上一个结束,下一个马上开始。冲刺期间,不做会危及本轮目标的改动,质量也不能降。指南说,冲刺短一些,学习的回合就多一些,每次押上的成本和精力也小一些。每个冲刺「都可以看作一个小项目」。
想想装修房子。工人每两周交出一间完工的屋子,而不是把整栋房子的墙同时全拆开。厨房拖了,两周之内你就知道,卫生间也照样能用。
每两周一个数
正是固定的长度,让 Sentinel 的麻烦显了出来。FBI 原计划 2011 年 9 月完成开发。到 8 月,美国司法部监察长发现,时间已经用掉 88%,功能只做出一半。
因为每个冲刺都留下一个数,监察长还能往前推。团队每个冲刺大约完成 80 个「故事点」,这是一种粗略衡量工作量的单位。按这个速度,审计人员在 2011 年底估算,Sentinel 要到 2012 年 6 月前后才能做完。实际上,它在 2012 年 7 月 1 日向 FBI 全体员工开放。
一个按年来量的项目,很长时间里都可能看着一切正常。按两周一轮来量,进度快慢早早就摆在那里,范围、预算、硬件这些事,还来得及争。
冲刺会在哪里误导人
算出来的进度,只和团队对「做完」的约定一样可靠。FBI 自己的计划规定,冲刺结束时,只有充分测试过、能交给所有用户的功能才算完成。监察长发现,FBI 没有记录验收过的功能是否达到了这个标准,有些功能在规定的测试做完之前,就被标成了完成。这样一来,报上来的进度很难核实。怎么约定什么算做完,是另一个概念:完成的定义。
名字本身也会误导人。「冲刺」听着像拼尽全力往前跑,可 2001 年《敏捷宣言》背后的原则说,出资方、开发者和用户「应当能够无限期地保持稳定的步调」,《Scrum 指南》讲的也是「可持续的节奏」。
设想一个五人的市场团队,改成两周一个冲刺,每一轮都排得满满当当。每次都有一半的活顺延到下一轮,冲刺结束时的评审会变成一张道歉清单。节奏是有了,可每轮结束时都没有做完的东西,这个节奏可能就什么也说明不了。
每次只做一个功能
Anthropic 让一个编程智能体分很多次会话做一个网页应用,每次会话开始时都不记得上一次的事,结果遇到了类似的问题。这家公司 2025 年的一篇文章写道,智能体「往往想一次做太多」,试图一口气把整个应用做完,常常在一个功能做到一半时用光上下文,下一次会话只能去猜发生了什么,再花工夫把应用重新跑起来。
解决办法很像冲刺。他们让智能体一次只做一个功能,每次会话结束时把代码收拾干净:把成果提交到 git,再给下一次会话写一份进度说明。Anthropic 说,这种一步一步来的做法,对改掉智能体一次做太多的毛病「至关重要」。它的一轮是一次会话,和日历上的两周不同,文章写的也只是一个关于网页应用的内部实验,但形状是一样的:每一轮结束,都有一小块做完的东西。
在胡佛大楼的地下室里,冲刺没能让 Sentinel 按期上线。它让人提前几个月,就大致看得出什么时候能上线。