CA公司的CTO Donald Ferguson 12月9日在BBC的采访中令人吃惊地表示,他自己一手打造的WebSphere是此生所犯的最大的技术错误。
在被问到“你在工作和生活中曾经犯过的最大的技术错误是什么?”这个问题时,他这样回答:
当时我在IBM启动了一个叫WebSphere的产品(用来帮助其他公司跨越多计算平台运营和集成多个业务应用)。
因为我的背景是大型关键任务系统,我习惯性地认为这个产品应该具备可扩展、高可靠、单点控制等等特性,我尝试开发一个类似大型机的系统,无所不能,而且足以应付未来五年的需求。
现在我称之为endgame fallacy(残局谬误)。它太复杂了,非人所能掌握。是的,我过度设计了。还好我们是IBM,还是撑下来了。要是我们是在一家创业公司,肯定早玩完啦。
当然,Ferguson所指的WebSphere应该是应用服务器(WebSphere Application Server)。今天的WebSphere已经是一个庞大的产品系列,包括基础平台、中间件、BPM、电子商务、分析、信息集成和门户等众多产品。
在此次采访中,Ferguson还谈到,目前最大的技术问题是IT系统本身太复杂了,它阻碍了企业更加敏捷和高效。整个IT的历史中,人们一直在增加越来越多东西,想把事情简化,结果却越弄越复杂。现在IT部门75%~85%的预算都花在维持自身运转上,根本没有多少精力来创新。
IT必须简化,但这是非常困难的。他还表示,已经在公司新产品开发中引进了有消费软件用户界面设计经验的人。
云计算也有助于降低复杂性,但是必须简化向云的转移过程。必须分析已有的IT环境,看到其中的依赖关系,哪些部分可以转移到云中。然后还需要比较各种云服务,判断什么服务适合什么应用。管理云服务与管理供应链或者外包合同一样,你无法控制云提供商怎么做,应该结合IT控制管理软件与合同管理。
对于技术趋势,Ferguson提到了两个方面:
一是数据中心和网络管理上的优化;
二是IT的平民化,有了云平台的支持,更多新一代的知识工作者可以自己开发更多个性化的软件,这也被称为终端用户编程,而IT平台厂商提供feed、数据和可调用的API。
事实上,Ferguson并不是第一次发表类似的言论。早在2007年,Ferguson就在接受微软Architecture Journal的采访中表示,自己职业生涯中感到最遗憾的有两点。
一是管理上的,他早年曾经被同事封了一顶“Darth Vader”(《星球大战》中残酷无情的大反派)的帽子,因为那时他的管理风格是“按我说的做,否则就让你好看”。后来他领悟到,这种方式行不通,因为你不能让聪明人做他不想做的事情,而他们往往在做自己喜欢做的事情时能做得很好。他反思自己管理生硬和盛气凌人的原因,是因为太忙了,要同时干很多事情,自然只希望其他人按自己的思路去做。但是实际上管理者还是应该分配更多时间了解团队成员的情况。
二是技术人员经常会犯的endgame fallacy(残局谬误):我们都很聪明,都见过许多客户。我们了解了他们在做的事情,然后为他们未来几年将可能到达的位置画上一条轨迹。但是这很容易误导我们为未来五年的需求开发,反而忽视了眼前的需要。所谓“不积跬步,无以至千里”。Ferguson表示,自己经常预期用户未来的需求,把事情弄得很复杂。曾经有一位高管说过:“没有执行的远见其实是一种幻觉。”他说的完全正确。
在此次访谈中,他还解释了终端用户编程的概念。广义地看,会有越来越多偶尔为之的程序员,只要有工具支持,他们未必使用编程语言。比如,业务人员可以用PowerPoint来业务建模。
【CSDN小百科】
Donald Ferguson(1960—) 现任CA公司CTO。曾被选为2010年25位技术思想领袖之一。他于1989年以论文 "The Application of Microeconomics to the Design of Resource Allocation and Control Algorithms" (微观经济学在资源分配和控制算法的设计中的应用)获得哥伦比亚大学计算机科学博士学位。1985年加入IBM,先后担任IBM研究中心研究员、WebSphere首席架构师、IBM软件集团首席架构师和架构委员会主席。他也是20万IBM技术人员中为数很少(大约50名)的Fellow之一。2007-2008年是微软Fellow。2008年3月加盟CA任首席架构师,9月升任CTO。他是许多Web服务标准的最初提出者。
【延伸阅读】