1994 年 2 月,丹佛市让记者到新机场,看自动行李系统的测试。据《纽约时报》报道,行李「飞起来、翻滚、爆开,有的被切成两半」,媒体看到的是「砸烂的行李和满天飞的内衣」。
这座机场本该在前一年 10 月开航。开航日期已经推到了 12 月,又推到 3 月。这回市长又往后推了一次。「我不会拿丹佛的名声,去赌一套没测试好的行李系统。」他说。到了 5 月,开航干脆无限期推迟。市政府每个月亏空 1800 万到 1900 万美元。其余经过见案例。
日期不动,内容可以动
先定死期限,再看装得下什么;时间不够就砍内容,不改日期。
这就是时间盒。DSDM 敏捷框架对它的定义是:「一段固定的时间,到期时某个目标已经达成」,一般是两到四周。到期时看的是做完了什么,不是谁有多忙。冲刺就是一种时间盒;一场到点就散、不管议程讲没讲完的会,也是。
这个框架对通常的情形说得很直白:「在传统项目里,所有需求都被当成『必须有』」,而一旦出了问题,「结束日期通常就会往后拖」。时间盒要管用,得有东西能让出来,所以 DSDM 在开工前先把活分成四档:必须有、应该有、可以有、这次不做。它建议「必须有」占的工作量不超过 60%,再留大约 20% 放「可以有」,当作缓冲。判断一项活是不是「必须有」,它给了一个问法:如果上线前一晚团队告诉你,这一项交不了,你会叫停上线吗?
丹佛砍掉了什么
丹佛的行李计划,大半时间走的是传统路子:内容定死,要一套覆盖全机场的自动系统,让日期去让步。1990 年就有顾问警告过市政府,这样的系统多半来不及建好、测好。头两次推迟是因为工程没完工,但联邦审计人员认定,后来的推迟完全是行李系统造成的。
1994 年 7 月,市政府把计划倒了过来:先定死日期,1995 年 2 月 28 日。用时间盒的眼光看,这个决定让一件事成了「必须有」:行李得送上飞机。自动化可以等。市政府另建了一套牵引车加拖车的传统系统做后备,免除了承包商覆盖所有候机楼的义务,又把要求的处理能力从每条线每分钟 65 件砍到 30 件。机场在定下的那天开张,自动系统只处理美联航在一座候机楼的行李。
定死的日期并没有让自动系统好起来,它逼着市政府决定:机场缺了什么就不能开门。审计人员后来的结论是,要是一开始就规划好后备系统,本来会更省钱。
设想一家小面包店做网上订购页面,打算在母亲节前一周上线。如果店主把相册和会员积分看得和「能下单」一样要紧,上线可能就拖过了整个春天最忙的那一周。
给 AI 智能体定预算
AI 智能体也需要一个终点。Anthropic 提到,智能体的任务「通常在完成时结束,但也常常会设置停止条件(比如最多迭代多少轮),以保持控制」。在它的多智能体研究系统里,它发现「智能体很难判断不同任务该投入多少力气」,于是把预算直接写进了指令:简单的事实查询,一个智能体调用工具 3 到 10 次;复杂的研究,用十个以上的子智能体。
光有上限,只能让活停下来,就像光有截止时间,只能让会散掉。DSDM 的时间盒之所以有用,靠的是开工前那一轮分档。给智能体定预算,也会碰上丹佛 1994 年要回答的问题:预算用完的时候,什么必须已经做完?
丹佛的机场在市政府选定的那一天开张了。它等了那么久的自动系统,大部分没跟着一起开张。