记者要给一篇报道找背景,得去《纽约时报》的「停尸房」,也就是报社的剪报档案。大约 1969 年,IBM 联邦系统部开始为时报做一样新东西来取代它:一套叫「信息银行」的在线系统。记者和编辑坐在 40 台显示终端前,可以挑索引词、翻摘要,再从一台装了电视摄像头的缩微胶片设备上调出整篇文章。时报打算把查询服务卖给外面的人,系统留出了最多接 500 台远程终端的余地。
IBM 组织这项工作的办法与众不同。它没有把系统拆给一大群程序员,而是建了一支所谓「首席程序员团队」,「概念上类似外科手术团队」。IBM 的特里·贝克写道,成员都是专才,围着首席程序员,也就是项目的带头人工作,「就像护士、麻醉师和化验人员协助外科医生」。首席「既是系统的总设计师,又是主力编码者」。一名后备程序员和首席并肩干活,首席一旦离开就能接手。一名资料管理员把每个程序、每份测试结果都整理归档。另有一位分析员帮忙;后来又加进几名程序员,写剩下的部分,「在首席和后备程序员的密切监督下」。
这个想法来自 IBM 的哈伦·米尔斯,他早先几乎靠一己之力写过一个大型系统。在 1969 年的北约软件工程会议上,IBM 的一位经理乔尔·阿伦说,米尔斯是「一个非常不寻常的人」,IBM 两千名程序员里少有人比得上。阿伦也说,报社这个项目进展得「慢得多」,部分原因是用户「其实并不清楚自己想要什么」。
验收测试由时报自己准备。文件维护部分有 12029 行代码,按 171 项独立功能测了一个星期。「一个错误也没有发现。」整套系统 83324 行,测试共找出 21 个错误。投入运行后,截至贝克报告时,又冒出 25 个,贝克算下来,大约每一万行三个。首席和后备写的程序,他写道,「大约每一人年的工作出一个错误」。整个项目用了 132 人月。
这能证明什么,贝克说得很小心。「在这次实验中,团队相对有经验,」他写道,「表现也高于平均水平。」他相信这样的团队「大概能把通常的生产率翻一番」,但这些比较都不正式。多年以后,米尔斯回头看别的公司照搬这个办法、却选错了首席的情形:这样的团队「并不总是顺利,有些酿成了真正的灾难」。