专访IBM技术副总裁:中美软件开发的相同与异同
IBM一年一度的(Rational)软件技术盛宴Innovate 2011上,记者在现场专访了IBM架构与技术副总裁Michael Karasick。Michael在回到美国总部之前,曾经在中国工作了三年,地点是在北京上地软件园IBM CDL(IBM中国开发中心),并担任Lotus软件研发总监的职务,多年在中国直接负责一线团队的开发管理工作,并接触到了国内众多不同风格的软件开发公司,使Michael对中美软件开发的不同风格有了自己的观察,记者的采访也从这个话题开始。
Michael表示,就他观察到的中国软件开发来说,有几个方面是比较突出的,1.根据客户需求做量身定制化的特征非常明显;2.软件交付后的持续服务还要跟上。
而对于中国程序员来说,让Michael印象深刻的有三点:首先是中国的程序员整体都相当年轻。与国外动不动就35岁甚至45岁以上的开发者群体形成强烈反差;其次中国的开发者对技术开发任务非常专注(Focus),非常有毅力,能够承担极高强度的开发任务,他在美国总部和世界其他地区都没有见过这样的开发团队。此外,Michael认为,国内的开发人员虽然年轻,但对中国软件未来发展和世界软件的最新趋势非常关注。
在Michael看来,美国软件公司的开发速度非常快,但在软件开发过程中是在不断的衡量(Measure)各种因素,不断计量软件的目的、开发进度、成本、回报,而中国的软件开发速度比美国更快更抢,就像放录像带快进一样,也没那么多衡量过程。他谈到,在中国做软件开发,有一个因素是最重要的:Schedule(日程表),即按进度表完成软件开发任务是第一位的,而不是像美国人那样去关心软件质量、开发流程和公共模块的积累。
有两点,Michael在北京呆了三年后直到离开也没搞明白:(1)国内的程序员的拼命劲是他在全球的其他地方很难看到的;(2)什么都在抢,甚至很多软件公司自己都不知道抢的目的是什么。
事实上,在早些时候国内有一本由杨锦方等编著、清华大学出版社出版《CVS和Nightly Build技术》的书籍,在里面,编著者杨锦方对“中美两国软件开发管理的比较与启示”发表了类似的观点。在那本书里,作者从中美软件工程师年龄和经验、软件开发管理职位设置、开发管理应用软件水平、软件开发流程等角度进行了分析。
在采访中,Michael提到了一个词,国内程序员的中国技能(Chinese Skills),即长期做项目型的定制化软件开发过程中培养出来的独特技能,加上中国客户的需求很独特,这些技能在其他国家是很难看到的。由于中国有比全球任何地方都复杂得业务环境,与中国企业大量新建或改造升级软件系统建设相对照,在成熟的美国企业软件市场上,美国企业的IT建设更多集中于对原有系统改造、升级或整合,新建软件系统比例相对很小。Michael认为未来中国将会有全球最大规模的SOA开发梯队。
对于软件开发的未来,Michael分享了几点看法:1.首先是软件在无处不在;2.不断演进的系统将变得越来越复杂,也给软件提供了解决更复杂问题的机会。大量的系统既会保留传统功能,又会掺杂着新的功能,并不断演进。3.软件生命周期过程中的技术人员协作(注意:这里用的是软件生命周期过程,而不是开发过程)更加重要,即协作设计、协作开发、协作测试、协作交付会成为主流。从另一个角度来说,在Michael看来,软件开发的未来已经越来越不仅仅是开发的问题,而是生命周期管理的问题,纯粹的软件开发过程已经不再是那么重要了,而是软件交付之后,它的运行、安全性、持续服务的问题,这些都是要特别注重的,软件的关注点变了。
对于云计算对IBM R&D Model的影响,Michael举了两个例子。首先是IBM已经在把分布各个不同部门的服务器都收回来整合在一起了,形成一个云。以前这些服务器都是不同部门独自拥有的集群,用于本部门的集群做产品的开发和测试。现在将服务器收回来后,组成一个大云,符合权限的所有人都可以调用里面的资源,并实现灵活管理。尤其是一些短期的项目和产品,已经不在单独分配服务器,都放到云平台上去做。其次,虚拟化技术在IBM内部的大量运用。他认为,目前这些模式在IBM内部实验一段时间后都比较成熟并有了很强的实战性,下一步将介绍给客户使用。他强调,云计算不仅对于IBM的Raional软件是个机会,对所有的人都是机会。因为云计算的模式不断在变,只有在变化,对参与者就有无穷的机会。
采访最后,Michael总结一句话:大规模团队开发中的协作。对于IBM的Rational是一个绝好的机会。