弗雷德·布鲁克斯要离开 IBM 了。临走前,公司掌门人小托马斯·沃森问他:「IBM 360 的硬件你管过,软件你也管过,管这两样有什么不同?」
布鲁克斯说,这个问题太难,没法当场回答,他得想想。
硬件是一场大胜。System/360 成了 IBM 最成功的大型机。痛在软件上。按计划,一个操作系统 OS/360 要跑在这个系列的所有型号上。它很难写,尤其是能同时跑好几个程序的那些版本,而且晚了。最后 IBM 不得不为最小的几款机器另做了三个操作系统。
布鲁克斯被派去救场的时候,已经有一千多个程序员在写 OS/360。
事后他对自己毫不客气。多年以后,有人提起他说过的话,说在他手下做出来的作业控制语言是「有史以来任何人在任何地方设计过的最糟的编程语言」,他没有收回,只说:「失败比成功教给你的更多。」
他学到的东西,写进了 1975 年出版的一本小书,《人月神话》。书名点破的是经理们估算大项目用的那个单位,一个人干一个月,里面藏着的错误假设:人和月可以互换。书里最出名的论断,恰恰和每个经理在项目拖期时的本能相反:给晚了的软件项目加人,只会让它更晚。
布鲁克斯以为只有程序员会读这本书。三十五年后,它每年还能卖一万本。他说,这说明「我们还在犯同样的毛病」。