在惠普的这些日子里,旧软件永远不会消亡 - 彭博社
bloomberg
作为一家年收入130亿美元的计算机、激光打印机、计算器、医疗系统和电子测试设备制造商,惠普公司每年生产大量软件。大约60%的研发资金和人员致力于编程和改善软件创建过程。几年前,惠普的顶尖工程师意识到,如果能够在新产品中重用旧的软件模块,就能大幅提高生产力,从而减少为每台新计算机或心脏监测器从头编写新软件的需求。从那时起,硅谷巨头的内部悄然酝酿了一场软件革命。
这一运动的领导者是马丁·格里斯,一位天真无邪的南非人,他自称是惠普的“重用拉比”。他认为,如果惠普真的认真对待软件的回收利用,公司每年可以节省高达1亿美元。
质量与节省。因此,当他不追求自己的爱好,即他所称的“面向对象的绘画”时,格里斯大部分时间都在惠普全球的多个软件设施之间穿梭。在那里,他鼓励工程师在每个编程项目开始时考虑重用软件。这意味着要寻找已经存在于惠普其他部分的有用软件模块,并以便于他人使用的方式设计新的软件模块。编程团队可以尝试他们想要的任何技术,但格里斯提倡逐步转向面向对象的方法,因为这些方法提供了最大的重用潜力。“我们并不是强迫人们使用对象,”格里斯说。“我们一次只关注面向对象编程的一小部分。”
重用信息似乎正在传达。一个很好的例子是一个大型制造项目,帮助惠普客户跟踪他们的库存和工厂运营。Griss帮助说服了惠普四个不同部门的程序员相互交换预先使用的软件,而不是从头开始创建所有东西。结果发现,程序员能够从现有程序中获取40%的软件。这意味着开发成本节省了15%,Griss说。而且,由于使用过的软件不需要太多调整,他估计维护成本将不到全新代码的一半。更好的是,质量提高了——每千行代码的缺陷从四个减少到每万行仅四个。
另一个突出的成功案例是CareVue 9000,一个帮助护士记录和管理病人信息的工作站网络。惠普的程序员面临着一个极其复杂的任务:系统必须能够预见每个医院独特的记录保存和医疗程序。“系统最不应该做的就是规定一种做事方式,”惠普临床信息系统运营的系统架构师Robert Seliger说。
‘自己动手。’因此,他的团队选择了一种基于对象的设计,让每个医院可以根据其特定需求塑造和扩展CareVue。对象“让医院自己动手”制作软件,Seliger说。例如,他们可以创建看起来与护士一直使用的纸质表单完全相同的数据输入表单。但电子对象工作得更好,因为程序可以轻松适应每个医院专门的治疗类型。
尽管取得了这些成功,Griss表示他仍然经常遇到惠普工程团队对他的观点的抵触。“障碍,”他说,“更多的是社会性的而非技术性的。”工程师有时觉得他们应该为额外的工作获得更多的报酬,这些工作是为了制作可以被他人使用的软件模块。此外,他们通常在为时已晚之前并不会想到寻找预先编写的组件。但Griss在这里,正如他所说,“让人们知道库中有好的东西。”一个重用的拉比的工作永远不会结束。