沃茨·汉弗莱:他写了关于调试的书(扩展版) - 彭博社
bloomberg
在软件世界之外,少有人知道沃茨·S·汉弗莱。但在这个领域,他有点像摇滚明星,被称为“软件质量之父”。现在是卡内基梅隆大学软件工程研究所的研究员,汉弗莱开发了SEI能力成熟度模型(CMM),该模型帮助开发人员高效且按时地生成无错误的软件代码。CMM认证的公司现在每千行代码中只有一个错误,而不是每十行代码中有一个错误,这使得软件开发变得昂贵且漫长。
CMM是软件世界的六西格玛,多年来它帮助了包括国防部在内的政府机构,以及微软(MSFT)和IBM(IBM)等私营企业减少错误,节省时间和金钱。但它最大的影响可能是在印度。由于在1990年代末广泛、早期地采用CMM,当时不为人知的印度软件行业赢得了无错误编码的声誉,这成为其技术成功的名片。印度人亲切地称汉弗莱为他们的“软件教练”。
在二月份,汉弗莱对软件的贡献得到了认可,布什总统向他颁发了国家技术奖章,这是美国对创新者的最高荣誉。然而,汉弗莱并没有停止创新。他进一步提升了他的质量标准,开发了团队软件过程(TSP)和个人软件过程(PSP),进一步精炼代码编写,使每百万行代码中只有60个错误——从每百万行20,000个错误减少到60个。
根据汉弗莱的说法,TSP团队缩短了编写代码后测试所需的时间,导致每个项目的平均生产增益达到68%。TSP还帮助软件变得更加安全——这是客户和监管机构日益关注的问题。
汉弗莱,77岁,精神矍铄——他每天早晨跑三英里——是芝加哥大学的毕业生,拥有物理学和工商管理的硕士学位。他在IBM工作了27年,从1963年开始,在那里培养了对质量的持久热情。
汉弗莱于三月在印度解释他最新的标准,但不仅仅是印度公司希望向他学习。他在海得拉巴的微软开发中心和班加罗尔的德州仪器(TXN)研发中心花费了最多的时间。汉弗莱在班加罗尔与商业周刊印度局局长曼吉特·克里帕拉尼进行了交谈。以下是他们对话的编辑摘录:
问:团队软件过程和个人软件过程做了什么,而你的旧模型能力成熟度模型没有做到?
答:
TSP是关于新实践和团队概念的。这相当于一个外科医生在手术前必须消毒他的工具和洗手:如果他不这样做,他可能会杀死病人。这就是TSP的意义:即使没有人喜欢,他们也必须这样做,否则就会出现危机。TSP和PSP将CMM提升到了一个新的水平。
问:这是一个行业范围的努力还是个别公司的努力?
答:
在美国,人们只有在需要时才会进行这些改进。当他们成功时,他们看不到改变的必要。印度公司在CMM上起步较早,因为他们早早认识到软件是一个关键行业。现在,即使客户没有提出任何不同的要求,一些美国公司也在改变,比如微软和德州仪器。
在微软,董事长在背后支持这一切。他们在想他们是如何陷入如此麻烦的,面对所有问题并需要修复它。德州仪器正在将更多软件放入他们的巨型芯片中,正在运送数百万行软件,这带来了巨大的质量问题。他们不能冒险在他们的芯片上使用软件,比如在汽车中。因此,他们正在改变,即使他们不需要。这是生存的问题。
问:你早期的明星,印度公司怎么样?
答:
使用新TSP系统的美国公司比印度公司多。我告诉美国公司,印度、中国、东欧和巴西正在争夺他们的工作——但很多人不理解,他们在睡觉。同样,我告诉印度公司,中国人正在争夺你们的工作,他们正在获得CMM认证,我的TSP和PSP书籍已经正式翻译成中文。人力和低成本无法获得工作。要建立一个可持续的行业,你必须关注专有产品,这是质量的差异化因素。
问:为什么如此必要提升到下一个层次,达到TSP?
答:
因为现在每个企业都是软件企业。这影响着我们所做的一切。软件使我们所有的技术变得有用。而软件公司因错误百出的代码而受到惩罚……超过90%的软件漏洞是由于代码中的普通缺陷造成的。
问:你对CMM的成功有什么看法?
答:
非常高兴。在CMM下,最初,所有写的东西都参考了我的工作。现在当我看到关于CMM的文章时,他们几乎从不提到我。最新的CMM书籍是由印度的一位女士写的。在书中,没有提到我早期的作品,我也没有被提到!要真正成功,你必须达到技术在没有你时仍能生存的那一点。这就是我希望通过TSP和PSP实现的目标。
问:你对质量的承诺是如何开始的?
答:
当我在IBM时,美国空军,一个客户,请求一种评估软件合同投标者及如何获得正确合同的方法。我们应用了一个由老ITT在几年前运行的五项质量计划。它有效,尽管它不是基于软件的。但后来我们在一年后回来进行评估,发现它实际上并没有奏效。
我一直想知道硬件人员是如何遵守时间表的,而软件人员却做不到。当我管理IBM软件时……我们通过按时交付来扭转了组织。
然后有一个个人经历。当我从IBM退休时,我女儿说服我去参加一个关于承诺的研讨会。在研讨会上,有人谈到做一个“惊人的承诺”,比如消除世界饥饿。因此我做了一个惊人的承诺,当我离开IBM时,我要改变世界上软件的开发方式。这当然比坐在海滩上要好。
问:这个模型是如何普及的?
答:
在SEI,空军再次请求一个比较投标者的系统……然后国防部使用了我们的流程。在私营部门,像波音(BOE )、施耐德和摩托罗拉(MOT )等公司是早期采用者。
问:印度公司是如何找到你的?
答:
不太确定。我在1995年在这里,参加了一系列会议,并在德里和班加罗尔的大型会议上做了一个关于CMM和质量管理的主题演讲。我遇到了各种首席执行官和政府人员。他们认为值得推动以获得优势。之前没有人真正和他们谈论过这个。去播种是很有趣的。
从1995年开始,他们开始来了。在此之前,摩托罗拉在班加罗尔的实验室及其负责人有着来自美国的CMM背景。他的目标是立即将班加罗尔的实验室建立为5级。印度人看到这有效,便加入了进来。
问:外包的反弹是否产生了任何影响?
答:
我以为会有影响,但实际上影响出乎意料地小。人们会感到紧张,但这并没有太大改变他们的态度,即使我告诉他们,“他们在抢你的工作。”
更正与说明在“沃茨·汉弗莱:他写了关于调试的书”(行业内幕,5月9日,在某些版本中),图形“A软件清理”显示每千行代码的缺陷数,分别在没有TCP和有TCP的情况下,程序开发期间应为120和50,而在完成的程序中应为1.05-7.5和0-0.1。 |
---|
由Manjeet Kripalani在班加罗尔撰写,Otis Port在纽约提供支持