2013 年 11 月中旬,马里兰州哥伦比亚市一间租来的、四壁挂满屏幕的办公室里,一群工程师正在开当天两次站会中的一次。屋子后面有人喊了一句:刚才那次短暂的宕机,八成是他弄错的。
主持会议的米基·迪克森,当场要大家为他鼓掌。
迪克森是谷歌的网站可靠性工程师,被拉来抢救 HealthCare.gov,也就是奥巴马医改法案的核心网站。网站 10 月 1 日上线。按美国卫生部监察长的统计,上线第一天,只有六个人成功选上了保险计划。
他在 10 月 24 日开了第一次站会,此后整个 10 月和 11 月天天开,周末也不停:上午 10 点一次,晚上 6 点半一次。上午大家飞快地把问题过一遍,然后散开去干,晚上的站会再回来报结果。每次大约开 45 分钟,迪克森对《时代》周刊承认,「害得我们有些人只好坐下」。还有一条电话线全天开着,别处的人一遇到问题就能马上接进来。
他把规矩贴在控制中心门外的墙上。第一条:「作战室和会议是用来解决问题的。想把创造力花在甩锅上的人,别处多的是地方。」第二条:「该说话的,是对一个问题知道得最多的人,不是职位最高的人。」
按白宫首席技术官的说法,团队的发布次数从 10 月的三四次,涨到了 11 月的 25 次。站会不是抢救的全部,硬件升级和另一支专门压低出错率的团队也很要紧。但为《时代》周刊还原这段经过的史蒂文·布里尔写得很干脆:「救活它的,是米基·迪克森的站会。」其余经过见案例。
排计划的会,别开成流水账
站会常见于敏捷软件团队,最有名的形式是 Scrum 里的「每日 Scrum」。Scrum 由肯·施瓦伯和杰夫·萨瑟兰发展而来,两人维护的《Scrum 指南》把它定为一个 15 分钟的活动,每个工作日在同一时间、同一地点开,目的是「检查离冲刺目标还有多远,并在必要时调整冲刺待办事项」。
2017 年版的指南给过三个问题,作为开会方式的一个例子:昨天我做了什么,帮团队接近目标?今天我要做什么?有没有什么障碍挡着我或团队?很多人熟悉的站会,就是这三个问题:一个人接一个人,轮流把答案背一遍。
指南的作者们一直想把站会从这条路上拉回来。2013 年修订时他们写道,要强调每日 Scrum「作为计划活动的重要性。它太常被当成汇报状态的会」。2020 年,他们干脆删掉了那三个问题。现在团队想怎么开都行,只要会议「聚焦于离冲刺目标还有多远,并为接下来一天的工作拿出一份能执行的计划」。
迪克森的会正符合这个描述。上午的会过问题,晚上的会听进展。第二条规矩让会议留在掌握事实的人手里,第一条规矩让大家盯着下一步,而不是上一个错误。
为什么要每天
节奏就是关键。一件卡住的活要是等每周例会,可能一周都没人看见;每天开会,它第二天早上就有机会被提出来。看见了不等于马上能解决,但能更早动手。抢救开始的头一周里,网站崩了两次,站会照开,团队照样一件件挑下一个要修的问题。
同一个节奏也可能走样。站会开得长,像迪克森那样,只要一屋子人是在一起解决问题,照样管用。要是变成大家排队向经理汇报,没轮到的人就只能干等。指南把细节讨论留到会后:开发者「常常在一天里随时碰头,做更细的讨论」。
面包房
设想一家只有四个人的小面包房。每天早上 6 点 45 分开门之前,大家在柜台边站五分钟。不问「你昨天干了什么」,只问:8 点前必须出炉的有哪些,缺什么料,谁需要搭把手。有一天早上,烤箱的温控有点不对劲。因为 6 点 45 分就说出来了,有人在第一盘进炉之前调整了烘烤顺序,而不用等到 7 点 40 分,看着可颂烤焦才发现。
给没有记忆的智能体开站会
要连续干好几个小时的编程智能体,碰上的正是站会要解决的问题,只是更极端。Anthropic 把它比作一个软件项目,「由轮班的工程师来做,每个新来的工程师都不记得上一班发生了什么」。
它的解法很像一份写下来的站会。第一个智能体先把项目搭好,其中包括一个进度文件,「记录各个智能体做过什么」。之后每一轮开工,先读「git 日志和进度文件,了解最近做了什么」,再挑出最重要的、还没做完的功能,一点点往前推,收工前给下一轮留下结构化的记录。
值得借鉴的主要是内容,仪式倒在其次:工作离目标还有多远,下一步做什么,什么挡着路。写下来之后,一个休假一周回来的人能用,一个新开工的智能体也能用。
HealthCare.gov 那次的掌声,鼓的是他肯当着所有能帮忙修的人,在会上把这件事说出来。