阅读更多

2顶
3踩

行业应用

转载新闻 CA CTO:我犯过的最大技术错误

2010-12-21 10:34 by 见习记者 haidii 评论(6) 有5553人浏览

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服务标准的最初提出者。

【延伸阅读】

来自: www.csdn.net
2
3
评论 共 6 条 请登录后发表评论
6 楼 witcheryne 2010-12-22 09:58
犯错是最宝贵的经历...
5 楼 i2534 2010-12-21 17:57
系统程序 写道
bhq10000 写道
悲哀,主.席俩字都不让用了?

清风不识字,何故乱翻书

别跑题了.
我觉得,不管ws是否是错误,至少大牛能坦诚的谈自己过往的不足或者错误,已经难能可贵了.
4 楼 系统程序 2010-12-21 14:47
bhq10000 写道
悲哀,主.席俩字都不让用了?

清风不识字,何故乱翻书
3 楼 bhq10000 2010-12-21 12:00
悲哀,主.席俩字都不让用了?
2 楼 haidii 2010-12-21 10:54
我发布这条新闻的时候,居然说有关键字“主.席”,没办法,只好加一个其他的字符分开了。
1 楼 Jekey 2010-12-21 10:51
WAS超级庞大笨重

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • Java中23种设计模式

    Java中23种设计模式,包括简单介绍,适用场景以及优缺点等

  • Java常见设计模式总结

    设计模式是一套经过反复使用的代码设计经验,目的是为了重用代码、让代码更容易被他人理解、保证代码可靠性。设计模式于己于人于系统都是多赢的,它使得代码编写真正工程化,它是软件工程的基石,如同大厦的一块块...

  • 设计模式之【策略模式】,去掉繁琐的if-else,实现算法的动态替换

    策略模式(Strategy Pattern)又叫政策模式(Policy Pattern),它是将定义的算法家族分别封装起来,让它们之间可以互相替换,从而让算法的变化不会影响到使用算法的用户。属于行为型模式。策略模式使用的就是面向...

  • 设计模式在实际开发中的应用

    设计模式在实际开发中的应用 什么是设计模式 ​ 设计模式和设计原则类似,也是由程序员的前辈们总结出来,写出高质量代码的总结。 设计模式的说明及实际应用 创建者模式 1. 单例模式 ​ 同一个类型的对象,在全局...

  • Java中常用的设计模式

    使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。 毫无疑问,设计模式于己于他人于系统都是多赢的,设计模式使代码编制真正工程化,设计模式是软件工程的基石,如同大厦的一块...

  • C#设计模式解读

    设计模式共23种。主要分为三大类:创建型模式、机构型模式、行为型模式。六大设计原则:单一职责原则、里氏替换原则、依赖倒置原则、接口隔离原则、迪米特法则、开闭原则...

  • java设计模式(一)——五种创建型设计模式

    一、什么是设计模式?...项目中合理的运用设计模式可以完美的解决很多问题,每种模式在现在中都有相应的原理来与之对应,每一个模式描述了一个在我们周围不断重复发生的问题,以及该问题的核心解决方案,

  • 设计模式七大原则

    ​ 编写软件过程中,程序员面临着来自耦合性,内聚性以及可维护性,可扩展性,重用性,灵活性 等多方面的挑战,设计模式是为了让程序(软件),具有更好 ​ 1) 代码重用性 (即:相同功能的代码,不用多次编写) ​ 2) ...

  • 【设计模式】用Java手写21种常见设计模式

    在《25种常见设计模式思想(上)》中我介绍了4种创建型设计模式和7种结构型设计模式,在此博客中我将继续介绍剩下的x种行为类设计模式。以下是本篇博客的思维导图: 十二、行为1——模板方法模式 模板方法模式非常...

  • java设计模式期末复习

    一套被反复使用的、多数人知晓的、经过分类编目的、代码设计经验的总结目的:为了可重用代码、让代码更容易被他人理解、提高代码的可靠性是一种用于对软件系统中不断重现的设计问题的解决方案进行文档化的技术是一种...

  • 软件设计模式——软件设计原则

    设计模式(Design Pattern)是一套被反复使用、多数人知晓的、无数工程师实践的代码设计经验的总结,它是面向对象思想的高度提炼和模板化,使用设计模式是为了让代码具有更高的可重用性,更好的灵活性和可拓展性,更...

  • 大话设计模式

    大话设计模式

  • 《大话设计模式》笔记

    “策略模式还有些什么优点?

  • Spring中常见的设计模式

    Spring中常见的设计模式 1、Java设计模式 设计模式(Design Pattern)是解决特定问题的一系列套路。它不是语法规定,而是一套用来提高代码可复用性、可维护性、可读性、稳健性以及安全性的解决方案。 早在1995 ...

  • Java设计模式8,校验、审批流程改善神器,责任链模式

    责任链模式的核心是解决一组服务中的先后执行处理关系。

  • 软件设计模式--第一章 软件设计模式基础

    从整体上介绍软件设计模式的概念和特点,软件设计模式的基本要素,以及23种设计模式简介。

  • GoF设计模式

    设计模式 6大设计原则 设计原则 英文全称 简称 特点 单一职责原则 Single Responsibility Principle SRP 里氏替换原则 Liskov Substitution Principle LSP 依赖倒置原则 Dependence Inversion ...

  • PHP 中最全的设计模式(23种)

    设计模式:提供了一种广泛的可重用的方式来解决我们日常编程中常常遇见的问题。设计模式并不一定就是一个类库或者第三方框架,它们更多的表现为一种思想并且广泛地应用在系统中。它们也表现为一种模式或者模板,可以...

  • 常见的23种设计模式总结

    创建型模式:单例模式、建造者模式、工厂模式、原型...行为型模式:模版模式(模版方法模式)、命令模式、迭代器模式、观察者模式、中介者模式、备忘录模式、解释器模式、状态模式、策略模式、责任链模式、访问者模式。

  • Java设计模式之工厂模式

    / 工厂方法的一个弊端是,如果工厂不只是生产一种类型的对象,或者说...在简单工厂和工厂方法中,类只有一种分类方式。比如,在规则配置解析那个例子中,解析器类只会根据配置文件格式(Json、Xml、Yaml……)来分类。

Global site tag (gtag.js) - Google Analytics