IBM Rational 软件开发高峰论坛







IBM软件部中国区销售总监 林鸿昱
【IT168现场报道】尊敬的各位女士、各位先生,各位贵宾大家早上好!首先非常欢迎各位在百忙当中参加一年一度的Rational高峰论坛,这个论坛是IBM把最好的东西和最好的朋友一起分享,今天的贵宾有来自合作伙伴的精英,跟各位分享Rational过去的经验,还有来自在Rational各个领域的专家们,今天有很多来自全球的专家会一一分享Rational的技术方向和使用的经验,还有来自中国软件开发中心的精英们,所以把全球认可的团队,最好的精英聚集在北京,为全球软件工程开创一个崭新的一页。
谈到IBM,很多朋友说,到底IBM是怎样的公司,好像什么都做,你们组成是什么?事实上各位只要看到今年IBM在第一季公布的财报里就可以观察到IBM的转型和变化。事实上到2006年,IBM的财报里面是今年1月份公布,IBM在全球的销售赢利,IBM软件占到接近40%的比例。这个信息是IBM向全球股东、全球客户,向全球关心IBM发展的,不管是友商或客户们传达一个重要的信息,IBM是一个十全十足的软件和服务公司,我们软件赢利占了全球40%的份额。所以我们转型在15年来已经按照既定的方向达到非常重要的境界。事实上,我们也对股东们,客户们透露另外一个非常重要的信息,在2010年,我们软件赢利要占IBM公司总赢利的50%。透露了IBM战略的发展方向,已经从过去一个硬件做得非常好,会持续做得更好,我们要走向高附加值的软件和服务公司,事实上也客户一个非常强大的信心,这是我们全球走势。
如何做到呢?事实上有重要的三个方向,第一个,我们会持续本身自主研发,每年至少10亿美金以上的投资在研发上面,持续加强整个产品、服务上面的品质,能够成就我们的客户。第二个,我们要持续我们的收购和并购,所以很多朋友说IBM会不会再并购哪一家公司,答案是肯定的,只是不晓得是哪家公司,我也不知道,各位可以看到,过去10年来在软件中并购的53家公司,第54、55,我相信各位会持续听到,我们的发展方向会进行,加强技术能力和产品的多样性,能够服务我们的客户。第三个,我们在很多新兴的国家,快速增长国家的投资,其中包含在中国、巴西、印度等的投资,中国是IBM认定的四大快速发展的地区之一,对中国的投资IBM只有持续的加强、扩大和进展,这对客户也传达一个重要的信息,对客户的服务只会越来越高,对客户的服务的质量只会越来越深,对客户服务的人员、资源会越来越充足。我们在中国软件开发中心在北京上地,横跨北京、上海和台湾,从去年1800人到今年超过3000人,扩展的速度超过业界增长的平均值,我们3000人软件开发中心,今天有一些人参加,在今天下午很多议程里面他们也会跟各位分享他们怎么用Rational做软件开发,其中有什么样的宝贵经验。这强大的团队也是给我们客户和合作伙伴一个信心,IBM对各位的服务和承诺只会越来越好,越来越深,越来越有水平。
今天的主要议题,在今天的高峰论坛里面,IBM把最好的东西拿出来跟最好的朋友做分享,IBM全球各大实验室至少8个,包含北京的实验室。全球开发来支持业务200亿美金的软件营业额,所用的工具和平台就是Rational,如果各位问Rational有什么全球最大的客户?事实上IBM本身就是Rational最大的使用者之一,所以我们有很深的对Rational了解,我们使用它跨全球六大洲,所有的服务团队、开发团队使用这个工具做开发,使用这个工具做管理,使用这个工具做建模,使用这个工具做所有IT治理,所以我们有最好的经验,最深刻的使用经验,能够跟各位做分享。最重要的是,这个工具不只是一个工具,刚刚有一位合作伙伴的老总跟我讲,软件不只是技术而已,软件是工程,工程是需要做管理和规划,工程需要做长久的不断更新和改进。在这个软件工程里面,这个平台扮演着非常重要的角色,今天从上午到下午,我们所准备的议题就是把IBM和合作伙伴最宝贵的经验和过去不管好的还是坏的成果和各位做分享,希望这个分享带给各位崭新的对开发、对软件、软件开发、软件工程、IT咨询管理有更深刻的认识,我们希望跟合作伙伴们携手一起让我们资讯科技为公司业务保航护驾。
谢谢各位在百忙中参加我们会议,接下来介绍IBM一个非常重要的贵宾,是Danny Sabbah博士,他是IBM Rational全球的总经理,负责产品的销售,产品的开发,产品的管理,Danny Sabbah博士接这个工作之前是IBM全球的技术长,负责软件产品开发、架构和战略方向的执掌。在那之前规划了IBM WebSphere产品的战略和开发,现在WebSphere在全球中间件占有率第一名,所以有非常深厚的技术底子,和非常丰富产品规划的战略愿景,以及产品的研发经验等实力,下面欢迎Danny Sabbah为下一个主题做演讲。

IBM Rational全球总经理 Danny Sabbah博士
软件交付的未来
【IT168现场报道】大家好,今天花点时间探讨一下软件将来的发展方向,我称之为“软件交付的未来”,软件开发和软件交付有巨大的不同,我们今天要做什么工作呢?我们共同要在非常短的时间内给大家区分一下一个公司怎么样才能获得成功,怎么样公司从软件开发转型到具有交付软件的公司,这样消费者或客户就会认为自己的业务也能因此获得成功。
今天首先给大家简单介绍一下IBM软件集团,大家已经听到了,IBM的软件业务变得越来越重要,也是IBM不断打造自己与客户关系的重要组成部分。然后我要介绍怎么样了解并且描述一下在全球的范围内,软件开发方面的进展。我在这个行业中,已经几乎工作了33年,作为一个软件开发商,我一开始,用非常原始的方法,非常原始对软件的理解搞了人工智能,后来也经历过怎么样管理一个公司,这个公司有2万多名开发人员,在我的工作中多数的时间都是用来和客户进行沟通和交谈。我在一年中要与450个客户进行沟通,也就是说我老得坐飞机,这是我工作的特点,这也是我工作重要的一部分,因为它可以让我不断和软件开发界保持联系,另外我也可以进一步了解客户,因此花点时间介绍一下我们的经验和我们学到的知识。
先介绍一下IBM的软件,在IBM的软件集团里,我们有5个主要的品牌,大家都可能听说到了,一个是信息管理、这是关于怎么样管理集成交付和传输数据,还有一个了Lotus,要了解,人和计算机之间的交互合作协同,我们还有WebSphere这个品牌,目前是帮你了解管理并且在不同的程序之间进行沟通,不同的网络间沟通进行交易,这些交易运行管理着全球的商业和企业,我们还有Tivoli,是管理硬件、软件、还负责提供安全,为一些商业应用提供安全保护,最后我负责的是Rational软件业务,它重点就是要有效的了解软件开发的问题。 我们以前讲过,不仅仅是开发,还有成功的商业软件交付出去,公司软件交付出去,我们的公司基础就是在互联网上,开放、安全、可扩展的网络上,作为一个公司我们一直在开发软件,特别是开发那些中间件,在过去45年到50年间我们一直做这样的工作,我们发明了很多的理念,这个理念大家都了解了,比如操作系统、虚拟化、交易、关联数据库,事实上IBM的软件以及IBM在软件业务中的历史,我们拥有更多的专利,更多的知识产权,在软件中比任何公司都拥有更多的专利。
如果大家看看在中间件的总体战略,我们要做的工作是围绕五个品牌做的,Lotus、WebSphere、Rational、信息管理还有Tivoli,主要帮我们建立一个基础。我们努力使得这些价值和供应链之间能够在信息管理方面,提供业务软件中获得成功。所以我们最基本的业务就是在中间件,它并不是在消费者软件,也不是在PC上,关于Web还有下一代企业软件交付上,现在我们也做出非常明确的决策,不是要成为一个应用软件的供应商,我们并不会像SAP公司和ORACLE公司一样,我们专注于中间一层还有下一层,我们关注怎么构建、交付软件,我们帮助合作伙伴去构建这样一个生态系统,围绕以Web为中心的解决方案,以Web为中心的软件交付,在全球领域中提供,这就是为什么会听到我们会花很多的时间探讨企业的灵活性,会听到我们讲关于开放的标准,为什么可以听到我们讲面向服务架构等新的发展方向,所以这是我的工作。在我们整体的结构中,保证Rational能够满足并不只是客户的要求,还要满足这样一种愿景,能够帮助我们的客户构建和交付以Web为中心的解决方案的软件,还有面向服务架构的全球战略能力的解决方案。
IBM是一家技术型的公司,我们有超过22000人,他们今天只是在IBM的软件集团,而不是在服务和硬件部分,我们在IBM软件部有22000名开发人员,这些人是负责着超过12000个软件专利,包括知识产权,我们有12名IBM的院士,在Rational业务上,有3个IBM的院士,一个是负责架构的建模叫(G),还有一名是首席技术官(Mari),也是Eclipse技术的创始人之间,还有一个也是关键的软件专利的创始人,在我们广泛了解编译器和编译器的技术,还有最初架构创意创始人。看一下Rational以外的情况,还有很多其他的院士负责创建一些创新和知识产权,也包含了很多有名的工程师,以及一些高级的技术员工,其中有一些在中国,你们也听到过,我们有一个不断发展壮大在中国的业务。
看一下全球不同的实验室,我们是一个全球软件开发的范例,我们有全球分布式开发软件的体制,除了我们核心的实力之外,我们收购了很多公司,在全球范围。讲一下Rational比较大的并购,包括一家瑞典公司,我们还要扩展我们业务,不只是在核心的技术上,同时知识产权是我们自己发明的,我们还通过伙伴关系,有时候通过并购得多更多我们公司以外的技能。我们是一个完美的范例,现代全球的企业,必须要真正了解怎么充分利用这些技能、知识产权以及这些能力,要跨国界的加以利用。除了3千名中国开发人员之外,有很多的在北美包括欧洲、印度以及全球其他地方。
下一部分讲别人对软件开发的看法,很多企业想要做什么呢?很多公司从只是了解如何开发软件,我也是总是这么跟他们讲,保证他们了解如何管理法规的合规性和不同法规的遵从性,不仅是符合政府的法规,还是满足客户的要求,能够创造跟客户的密切关系,或者创建更多模块化的软件,给客户提供更高的灵活性,因为有这么多的企业都依赖于他们的能力,以便于可以成功,你在修改、合并、编写软件等,更多的不是了解软件的工程原理,而是了解怎么更好的交付,能够有预见性的交付,能够有治理性的交付商业的成果,这些都是不可缺的。这是一个很大的挑战,因为这取决于我们工作环境的性质,是一个密集型的,全球竞争非常激烈,我们必须使用我们的技术和能力,从任何我们可以得到技能的地方得到它。软件并不只是来自单一的地方,要有能力的构建一个消费者的设备或者构建一辆汽车或最新类型的软件门户,或最现代化类型的事务处理系统或者电信系统,要创建他们就要求我们有这样的整合要组合不同的软件,这软件来自全球的许多地方,同时这软件让我们有这样一种能力,和全球不同的地方进行沟通和对话,跟不同的客户对话,所以速度非常重要的。
从另一方面来讲,要把速度和质量结合起来,我强调速度和质量,这两点必须在开发和交付的软件里面可以反映出来,不只是采用一种灵活的方式就够了。看一下现实的情况,我之前讲很多焦点在日常中怎么应对的,要保证在什么环境下交付,软件的供应链有不同的大的应用程序,以及现在已有的资产,他们并不总是从一张白纸开始做起,加深了解不是新的功能想要交付,他们想要了解这些新的功能,或者怎么和现有的功能结合在一起,这是目前使用中的软件,我们业务中很大一部分,以及我们共同面临挑战的很大一部分,是怎么创建下一代的软件,把新的软件和功能如何适合现有的环境。很遗憾我们并不总是可以采取同样一种方式开发软件,我们很多人非常高兴,可以生成一些代码,而且乐于做这些工作,这些工作是必要的,我们并没有注意到管理的需求,也没有考虑到在管理方面的架构是什么?而且也没有考虑速度以外的要求是什么?包括代码的生成,是否是可测试、可部署的代码,是否是安全的。并不是因为这个工具不存在,而是因为我们没有真正了解,我们是有责任交付一个可持续发展的,演进式的软件,这比生成一个新的功能更加困难,不是完成一个新的功能,用单一的工具做就可以了,这很简单,我以前做过,这是很大的区别,采取什么样的规则在软件生命周期的开发中,跟编写单独的软件不一样的,有很多的企业并没有意识到,越来越多的规则并不敏感,软件的开发要求我们有可持续的规则去做。这是什么意思?我们要真正了解软件开发的成熟性,意味着让我们了解来自于不是个人的价值,而且一个人是项目一部分,这是很重要的,这个项目是我们更大范围的价值交付,是交付给IT部门的一部分,它生活在更大的商业模型里面,应该是可持续的,而且是不断演进的,这变得更加困难,跟生成下一个代码行和下一个功能来讲更加困难了,就软件质量衡量标准来说,在具体的环境来说,这是更加具有挑战的,跟其他合规的来说更加困难了。
Rational就是想把超过20年以上的经验,20年以上了解软件开发的成熟性和流程拿过来,帮助客户往前发展,一起开发交付高质量的成功软件,这些软件可以长期维护,我们开发一些成熟的模型,专注于从个人到团队以及到组织机构,以至最终专注于把它交付给企业的业务使用。这样我们产品、工具、解决方案、方式方法变得越来越具有关注点,关注于持续的管理,并不只是生命周期,作为整个应用的组合来说加以管理。整体的软件资产的组合,我们专注于客户和使用者的价值,最终的衡量标准,你要衡量和了解软件交付的质量,并不只是1百万代码行有多少个小故障,或者软件外部的小故障,更多的要了解业务的价值,怎么提供给终端用户,使用者,它的价值是什么。
在今天的环境里,我们必须要发生一些变革,我们要不断演进,充分利用我们的经验和软件工程的产品,开始演进自己的解决方案,这样我们可以跟上全球其他地方的发展趋势。我们都知道目前的企业如果停滞不前就会消亡,所以我们现在做什么?就是要从客户挑战中学习、了解,真正去塑造,我们作为企业可以给客户提供价值,现在有三个关键部分,现在已经纳入到我们为未来开发的解决方案当中,我们进行一个概述和描述,以后会更加强调社区的概念,另外就是30、40年前提出来的模块化,它有更现代化的诠释合理解,第三个就是软件开发的规则和流程,我们把它看成并不只是比较官僚化的东西,而是一种授权,给我们这样一种能力和权利,能够有成功的交付,是可重复性的,可以管理我们的资产,而且在更有挑战性的环境中管理。这就是Empowerment的授权和治理。
像我前面说的那样,在今天全球的采购在任何地方都发生着,我们必须进入这个领域,了解我们在全球的技能,不管什么企业提供什么技能,当地的企业当地的地方必须要跟全球业务伙伴互动,看一下消费类电子产品,他们并不只是服务一个市场,而是要服务全球很多的市场,否则你就不能扩展和跟其他人竞争。越来越多的具体产品要依赖于跟其他产品的差异性,要通过成功的软件开发来占领市场,所以不只是外包一项,还有海外的采购,这些都是一些非常重要的趋势,这些是要长期发展下去的趋势,这些趋势会塑造和定义业务的概念,从现在开始从全球角度都是这样的,这些趋势会塑造你怎么开发软件的演进过程。
目前非常先进的技术包括产品,全球软件交付横跨产品的组合,越来越的Rational产品的组合有这样一种能力,从全球的采购,全球的交付,这都是我们软件供应链的能力。然而,今天所做的方式要发生一些变化,要进一步的演进,所以我们给你们交付的软件就会发生一些变化,也会进一步的演进,跟客户提供建议演变是一样的,今天越来越变成以Web为中心,今天提供一个浏览器足够了,我们今天更专注于Web2.0,我们Rational软件必须使用同样的原则,我们必须构建我们自己软件在SOA的架构里面。我们软件必须要让社区有能力做协作,我们再考虑社区、协作这些概念的时候,我们所学习到的一点,社会在网络的联系已经变得越来越重要了,跟别人分享信息等都非常重要,我们有很多乐趣,比如社区设备的交流,比如亚马逊、ebay等。现在社会网络联系变成我们组成部分第一,如何实现每天的工作,如何完成我们工作的组成部分,我们的层次和分级有帮助的来管理我们日常的业务,将来实现某些任务的时候,软件的工程设计,有限的沟通和升级并不是效率最高最有效的办法。我们让人们能够交付软件,还有全球分销模式,按照管理的资产的方式来说,都要受益于社会的交流网络,以及一对一的通信,一对一的网络,我们已经做了研究表明,你可以让你得到更高的性能,从软件的工程团队上,以便于可以创建自己内部的视图。
我们的专家并不仅仅是你的老板,根据我个人的体验告诉你,很少有人在Rational到我这儿找怎么写下面一组代码,很少有人这样说,因此有一点非常重要,软件开发的工具,也就是要考虑不断演变发展的社会网络化,我们同时要把我们学到的一切东西都考虑进去,也就是数字社区演变发展,大家都知道什么是数字社区,因为我们在使用它,而且每天越来越多的在使用它,有很多的例子,我们使用它创新、学习、使用它在很多的情况下,在商务中使用,我们还用它玩,实际上我有时候也用它玩,我用它打战争游戏等,这是一个全球的社区,全球的社区可以把团队和人集中起来,不管你在世界的任何地方,我们可以说各种不同的语言,但是他们都了解一个语言就是通过合作来实现同样一个目标。他们有非常复杂先进的工具来在全世界完成这样的工作,这是非常有效的,而且选择性也非常强,小组的形成是动态的,不用别人告诉你怎么成立小组,这个小组今后怎么发展,不仅仅可以用它做社会化的工作,而且可以用在电子社区,数字社区中,作为软件工程核心的组成部分。因此我们看到软件工程中的一个趋势就是这种社区的出现,我们把它称之为开源,他们根据自己建立自己的方法,怎么了解建立一个全球互动性,在非正式的网络中开发出下一代的工具。我们要非常注意的方向就是社会网络的出现,它将如何影响我们日常的活动,如果看看我们开始所说的,IBM有22000个开发人员,他们在世界上60个地方进行开发,这本身就形成了一个网络,我们所做的工作是建立一个内部流程管理我们自己的知识产权,开发出一个我们称之为社区资源的东西,社区资源有很多特点,它是一个内部非常有意思的实验,现在有300多个项目,它的管理是由22000开发人员在60个不同地方进行管理的,我们使用WebSphere工作和WebSphere解决方案,很多都是来自Rational的。
一个非常值得关注的特点,在这个环境中就是开放的标准,它是来自采用开放的资源我们称为Eclipse,不管是来自任何一种开放的标准机构,要能够满足业务能力提升的需且,协作发展的需求,非常廉价的协作,开放的标准是非常重要的。因此你们将会看到今后的发展趋势,我们今后要发展,就如Jazz平台一样,不仅仅在线有的产品,在今后发展演变的产品中都是非常重要的,还有模块化,在今天的环境下意味着什么?为了能够交付解决方案的集成性,我们要把软件拿出来,不管它来自什么地方,在互联网上找到它,整合起来,高质量的交付出去,这是不容易做的事情,它要求规则架构,还要求超出小团组一样的需求理解,而且需要重点集中在重点的行业中,放在你们公司上,这就是为什么你可以看到,人老讲面向服务的架构,它不仅仅是意味着你了解了Web服务,它是用标准帮助我们在互联网上搜索使用Web服务器,如果你不了解服务质量和要求的话,将会生成的是垃圾。我们看到很多人很多客户在解决面向服务架构的过程中,要求基本的对模块化的考虑和架构的考虑,否则所生产的都是垃圾,你也不会实现你的目标,也就是需要一些灵活性,绝对不能放松架构的管理,而且要有能力保证发展。就像以前说的那样,把现有的软件资产通过系统的方法,不仅仅建立和开发出新的代码,还要管理维护老的代码。 这是非常重要的方面,也就是Rational面临新的领域,我们经验、知识有很多都用在建立社区,同时也用在进一步的了解,我们称之为企业现代化方面。企业现代化意味着把现有的资产,SAP计划,上一代的应用等重新编成架构,重新写代码,重新思考我们怎么样提供服务,在Web服务器面向服务的架构中使用它,把它的目标重新定制,重新考虑,我们如何怎么样在面向服务的架构和模块化中工作。只有通过工具和方式的帮助下我们才能获得成功,把业务很快的推向前进。我们现在拥有的软件资产确定了我们的应用,它很大部分运行在自动化的基础上,如果我们不能这样做,不能把模型加以转型的话,会身受其害,竞争性将会受到削弱。
我以前讲到怎么控制我们的原则,怎么控制提升质量的方法,就是怎么样授权,实际上它也直接影响软件的开发,要了解到底发生了什么?在软件的开发生命周期中发生什么?从端到端要理解它,这样发生的一切事情,从要求方面都可以追踪到架构,从架构再追溯到开发,追溯到质量上,一直到交付和系统管理,这是非常重要的方面,就是要有能力在社区,在模块化方面都要有这样的情况。
如果大家看看今天的治理,有一点非常重要,不仅仅能够把业务结果交付,在很多情况下通过萨班斯法案管理的,还有监管方面的合规要求,还有CMMI等很多监管机构的管理,也有很多要求进行管理,还有政府的机构。因此能够很快的实现遵守规则的形式,就是要使用集成的工具平台,就可以让开发人员把重点放在开发上,而不是放在遵守监管机构的规定等方面。我和很多软件集成公司进行了沟通交谈,他们总是跟我讲,他们开发人员每天花8个小时为客户进行工作,4小时记录他们为客户做了什么工作,这肯定不是愉快的事情,我们要做的工作就是要提供一个平台,把官僚的程序从开发人员工作中拿走,如果你使用工具所有的信息就会为你管理生成,你不用担心这事情,这就是为什么称之为授权,而不是官僚。但没有工具这也不能实现,你没有工具也不能合规和获得安全性。
在软件要了解怎么样模块化和怎么加以管理,如果看一下2005年以后的情况,我们的世界变成过去100%自定义研发软件,现在70%的软件必须要从以前打包好的软件中重新做或重新买,因此要了解怎么有效管理软件开发,生命周期,在全世界部署软件的话,这挑战更大,比1960年到1980年那时候简单,因为那时候所有开发的软件都是自己做,而且不用担心集成的问题,或者组合的问题。没有必要对资产进行组合,因此今天的工具平台,现在越来越复杂,比20年前使用的复杂的多,很多客户也不了解今天在集成开发的环境中,这只是一个起点,只有在这个环境下才能实现自己的目标,我们必须要有非常复杂的方法来考虑它,并且在现在的管理过程中提供这些产品,我们如果看一看基于结果,我们考虑一下协同、架构还有架构的演变方法,看产品的演变发展,再考虑模块化还有微细化这就是我们业务中所需要的东西,我们才能有效把开发代码加以提供。因此这三大原则,给我们带来了Rational的软件策略,它是我们的基础,这是为今后软件开发奠定了策略的基础,我们把重点不是放在授权、管理,放在交付灵活的体系架构,重点要放在充分利用社区的能力,我们所有的产品在未来都是由这三大原则指导。
我们今天所做的一切以及所有的产品,不管是开发、管理、RSA,不管是新的产品都被放在总体的架构里,我们自己的软件开发平台里,这样我们有能力对你们的要求做响应,带来灵活的面向服务的架构,这是端到端的软件开发生命周期的管理,来支持源数据还有所有用户界面的整合,来支持全球的交付,来支持社会相互沟通网络的社区联系。我们未来怎么做呢?我们开始生成更加广泛的体系结构,我们把它叫做Jazz,现在非常有意思的是关于Jazz并不只是体系架构,我们通常用UML记录它,或者用一些关系型数据库,或者一些示意图和流程里面,我们构建一个平台,让它创建具体的架构,他并不只是提取,是真实的代码,是我们真正的实现,一个动态的系统可以表明这种架构,代码像对话一样,这意味着什么?并不只是在PPT记录或Word文件记录的,必须把自己加以表明用代码反映出来,否则就没有意义了,我们会说一些未来的发展的一些PPT,所以我们整个Jazz平台是从根本上创建架构的实现,能够真正触摸和感受到未来的发展,能够让你和我们的未来互动。为什么创建这样一个成功的平台,我们还创建一个Jazz.net,这是一个开放的门户,我们让任何企业可以感触我们企业的发展,可以感觉到产品的演进和发展,能够参与全球的社区得到反馈,能够给我们提供指导意见,能够跟我们一起合作,能够在我们自己SOA平台的演进和发展。所以我邀请你们加入我,能够探索未来,都是围绕Jazz平台,以及Rational软件的发展,感谢各位耐心听取我的介绍,我希望你会跟我们一起参加软件未来发展的历程,谢谢各位。

山东中创软件工程股份有限公司董事长兼总裁 景新海
要做高品质的软件开发面临什么挑战?
【IT168现场报道】女士们、先生们早上好,今天早上一进会场一看,这平台这么大,另外我一站到平台上,看到确确实实精英满座,这可能是一个预示。随着我们国家软件产业的发展,我相信软件工具,特别是Rational的工具,很可能会有一个很大的平台和空间。
刚才听到Danny Sabbah博士很精彩的演讲,他提到一个软件开发过程的三个社区,还有全球化的交付,是我们要深思的问题,怎么保证我们做的东西是最好的,怎么保证我们给客户全球认可的东西,而且用最快的方式交付,这也是提升我们竞争力永恒需要思考的问题。今天要讲的内容,Danny Sabbah是从全球宏观角度谈这个问题,我们中创软件人不多大概1千人左右,我打算从微观的企业发展角度谈谈要做高品质的软件开发,我们面临的挑战,我们的对策,我们的做法,我们思维是什么?特别我们在使用Rational工具方面,对我们有什么样的支撑和帮助。
我主要介绍四个部分,我首先做一个公司简介,这也一个必须的铺垫。第二部分是我们在软件开发过程中所碰到的挑战,我们如何考虑这些问题,包括我们对策和做法是什么?我们具体做到什么程度,希望在这方面给各位同仁一些借鉴,也希望以后保持联系,在这方面进一步的探讨,我认为这方面很重要,软件如果想成为一个产业,不是一个作坊,你不考虑这些问题是绝对不可能。第三部分扣住主题,“What keeps me Rational?”,我们会谈一下认识的过程和使用的感受,最后是如何持续改进和非常好的的实践。
中创软件是1991年成立的,成立以后一直专注的做软件,已经16年了,我很庆幸中创软件还活着,而且还在发展。当然我们还能继续发展,从我们一成立这个公司开始,得益于两点,一点我们认识到软件是高科技,是高技术,要关注技术,一定要跟踪技术的发展。第二个软件同样是一个服务,要工程化,一定要注意高品质,如果你没有高品质的话,你作为一个产业只能提高技术的概念和技术的成果,而不能成为高品质的产品和服务的话,客户是不会接受的,你得谈1万个理由,你得谈多么先进,这也是我为什么离开研究所所长的位置,1991年前是山东省计算中心的主任,我离开了从十几个人开始创业,我几个朋友说,把工程放在软件公司标题里的中创可能是不多的一个。这16年我们有基本的定位,一方面我们是解决方案的提供商,在各种工业行业提供解决方案,我们也是产品提供商,在中间件产品也提供很多信息产品,另外我们也是IT服务提供商,也包括外包。我们不断追求的就是随需应变,快速构建,卓越品质,成就你我,我们一直不断追求这个目标,很不容易。可能也是我们持续的努力,行业的同仁,各位朋友也给我们很高的评价和鼓励,使我们能够不断继续沿着这个方向发展。
中创软件有一个黄河三角洲、长江三角洲和珠江三角洲的发展战略,北京是一个销售办公室,我们主要是在济南、长沙、昆山开发基地,我们用基于Rational的CC、CQ和MS,作为我们基本的架构已经配置上去了,这样我们实现了三个开发基地的异地的齐动开发。这些是我们的客户,这是我们生命线,中创软件还不是一家上市公司,我所以给员工发工资全靠我们的客户,这16年来成百上千的客户。这几年,特别2000年以后,随着公司长大,给企业带来自豪的是一些大客户,比如交通银行总行,建设银行总行,中铁集装箱,海事局等都是全国几千个网点,需要7×24小时不间断的服务,还要不断持续的集成,当然他们不断给我们机会。另外一方面当项目做大之后,挑战真的不一样。刚才我注意到Danny头发也不多,我头发也是,我16年前头发很多,现在用朋友的话是“地方集中中央,头发基本掉光”,我的头上面基本掉光,确实是头疼的事。
第二部分介绍一下挑战和对策,到底是什么挑战,这个图大家仔细一看讲讲很明白,红的部分都是挑战,明确的需求,其实做IT,做项目的常常问自己,你知道自己干什么,你知道自己项目最终是什么?有时候我跟公司里面年轻人比较多,年轻人要谈恋爱,大家找男女朋友都有标准,身高、肩宽,三围等大家都在谈,当你做项目,特别大的项目,几百亿的规模,甲、乙方的项目需求真的明确吗?第二部分是统一的过程,工业化的发展当然需要创新,但另一方面工业化发展最重要的是规范,你没有标准没有规范哪是工业,那是研究室。但是统一的过程何其容易,我们这个产业,我越来越深刻认识到,我们优势都是人,都是精英,但我们麻烦也在这,年轻的,有文化的,朝气蓬勃愿意创新的队伍,怎么保证面对市场规范、标准的工程化服务,很大的矛盾。我是1949年出生,受过很多传统教育,有时候我跟大家谈,想起毛主席老人家的话,“既有集中又有民主,又有统一意志,又有个人心情舒畅,生动活泼的局面”,真的很有挑战。最后是完整充分的测试,什么叫完整什么是充分,上大学学过数学,你证明必要条件相对容易些,你证明充要条件何其困难,你企业必须要让客户满意,企业还要盈利还要发展,你永恒需要做一件事,希望要控制时间、成本和质量。旁边列了三本书,一个是《世界是扁平的》,这就是这个世界,竞争越来越激烈。第二个是《长尾棒》,这是IT行业要面对的问题,你真的可以按时做完,如果我项目经理真的能完成做到,这是我求之不得的。还有一本书《从优秀到卓越》,要提升这一步真的很难。所以我们面对挑战,也是我们很多的思维,我们要解决这三个挑战,我不是说选用Rational工具就OK了,只要用这个工具什么都解决了,那有点吹,不可能的。我后面补充一句话,你不用工具,不用Rational,我看你一点办法也没有。这也是我们思维以后下的决心,我们花几百万作为一个软件公司,买工具来支撑,也是一个很大的决心。
下面给大家介绍一下,我们面对这个挑战对策具体怎么做。首先我们前面已经谈了,这是SDAT,Automation是一定程度的自动化,在管理咨询的自动化更强一些,很多版本提交问题跟踪的自动化程度很高,软件自动化是永恒的主题。所以这是我们在需求方面的控制,上面是一个流程,怎么办呢?第一个对需求要双向跟踪,以客户方和我们方,要关注在功能点上,功能点到底是不是在变化,功能点到底确认了没有,我们用RTM来跟踪需求,下面用ClearQuest,我们要跟踪变化的状态,跟踪需求跟踪变化的状态是两回事,你的需求变化,你们是不是达到高度的一致,是不是认清这个问题,有没有其他的问题在里面,有没有潜在的风险,这是IT一再犯的错误,在需求方面永远不够,我知道了,办公自动化,人事管理系统,财务管理系统,真的达成一致了。后面还有UCM,这一个综合的配置,对你需求变更版本控制,管好了,作为一个合作团队,大家要合作永恒愉快,有时候在就桌上,丑话说在前面,该说清楚的事要说好,一切出的问题以写下的东西为准,写下的可以有效管理,迅速查询,可以定义原来达成的共识是什么?客户需求不变化是不可能的,在我80年代搞软件,那时候整天抱怨需求不清楚,需求不定义好,现在随着发展,需求变化是永恒的,核心问题在怎么管理这个变化,变化以后你们怎么处理,大家怎么认可这个变化,大家对这个变化怎么投入。
当然在需求管理之后,接下来肯定是分析和设计方面,在分析和设计方面,从公司的控制来说,刚才讲面向服务的体系架构必须考虑,我们用Rational RUP ,从技术架构必须要统一,在设计过程,公司也在推行用Rose为,用UML,最起码我希望在开发团队里用一个统一的语言,或明确表述的语言来表述对问题的一致性,中国的语言太丰富了,最起码要保证在开发团队内部,或者公司管理团队看开发团队,我们定义的语言要一致的。在开发过程中,中创软件推行了构建化,形成了构建化的平台,以架构为中心,但一定要有构建,一定要提高复用率。在工具方面一个保证过程,监督、督促,帮助支持怎么往下推进。在整个建设过程中,我特别要讲的就是使用Rational ClearQuest、ClearCase、 MultiSite的使用对于进一步推动开发力有重要的作用,公司走向一定规模,异地开发不可避免,你可能有总部,但中国特色,现在很多客户,特别是大客户,他希望你团队在线开发,希望点你的人头,大家习惯这种事了,看项目经理是谁,人员是谁?我要谈,如果按照这个思路做下去,不用开软件公司,卖人头就可以,北美有这样的公司,你要人头,我组织组织卖过去就可以了,实际公司发展一定规模,你突然发现,公司做大做小没有什么差别,因为你做的情况到底怎么样?还是基于独立的团队,当他一离开你的基地很难监控和支持它,他的版本也很难管理,多版本管理,持续集成,知识积累,资源共享,当你公司做一定程度你有积累这是你的核心竞争力,但是如果形成团队在线开发,你没办法支持的时候,大公司本身的优势已经没有了,这时候你的劣势体现出来了,因为你的成本比较高,人多总要有管理部门,我有时候开玩笑,CEO要发工资,不发工资我吃什么,这不可避免。上千人公司和几十人公司,其和几十个人的本地公司怎么竞争呢?如果这种趋势,往下一想,就是前面一个大客户,后面围着一群做软件就可以了。上次参加一个演讲,讲通天之塔也是建设卓越团队,我上次在讲,做了一个报告,之后有一个年轻朋友跟我谈,我听到的事,和担心中创软件未来发生的思路是一致性,他跟我说北京有一个现象,说3-5年的员工准备改行了,我说为什么改行,3-5年之后要结婚,成本也高了,效率不如以前,公司老板不大喜欢了,在中创软件,我们头疼问题是怎么把3-5年的员工留住,但是我回去一想,想明白了,如果公司不往大发展,你做的业务并不复杂,那最好3-5年开掉,1- 2年来的工资又低,好好干活成本又低,中国软件产业如果走向这种趋势很悲惨,而且前途不敢让人想。中创软件我很自豪,在Rational团队的支持下,我们完成了基础架构知识积累,不能说做得很完善,但是极大的提高了公司的开发和管理能力。
在测试方面,我们买了PurifyPlus、Functional Tester,Perfomance Tester等,我们不仅仅简单买了产品,通过和他们的合作,我们更加完善了一个理念,就是测试是一个体系,是要从架构的验证开始,你设计的架构能不能撑得住,我在项目管理方面也是RPMA最早三个首席评估师之一,项目管理我也很关心,我惊人发现,我们IT信息系统的建设,和建筑业盖楼,很多名词都是借鉴过来的,比如架构、构建,当你盖楼地基多深,柱子多粗,衡量怎么样,如果没有,敢在这里开会吗?你时刻担心这个楼塌下来,大的系统架构验证很重要的。另外一个很深的体会,组织级的缺陷跟踪如何管理,当项目进行到一定程度要关心,它的漏洞是离散还是收敛的,如果发散,我们质量控制部门就报告要出问题,如果是收敛的,你心里可以放松一下现在是OK,我们企业质管部门,项目亮红灯要出报告,讲讲有什么问题,需要什么支持,最起码可以讨论讨论,后面编码级规范检查,测试自动化,用了工具以后,很重要的是测试案例的积累,如果用工具支持你测试,你完成这个积累,你会发现未来的测试效率和测试质量会产生根本的变化。这积累是测试自动化跟踪完善推动的目标。前面我强调基础建设,正因为你从基础建设角度出发做了配置之后,你就可以完成组织级的数据自动采集,采集看什么?要看每个项目的时间、成本、质量,资产、管理和优化,资源的共享和服用,光看报告,我最不喜欢看公司里面的报告,我们也开发了Rational的数字神经系统,我仔细想想数字神经系统不是渲染,是很形象说明了,就像人一样,什么叫神经,神经是反映,你摸烫了要缩回来,要有一个快速反应,我们通过数字积累以后,最起码能通过原始量化的数据去发现问题,保证我们公司是在正确的方向持续改进。如果你没有这个方向的话,今天下午Rational请了Eva,他经常讲非常好的实践,什么叫非常好的实践,我们也讲实践,就是要保证在正确的方向实践,如果你做了这一点,你会觉得实践的积累对你越来越有效。
第三部分谈一下“What keeps me Rational?”,我们选择平台的时候也有经验,其他的多多少少接触一些,当甲方很过瘾,那时候傅总要说服我们接受这个东西,我们也缺乏评判的能力,但是当时有一句话,我们追求目标是高品质软件开发,提供高品质的开发支撑平台,一定要高品质,怎么保持高品质,主席老人家在新民主主义有一句话,你知道它的昨天就知道它的今天,你知道它的今天就要知道它的明天。我们知道Rational专注在平台上,这是我下决心和Rational合作很重要的元素,怎么保证高品质,时间,统计规律,这个行业技术很重要,技术可以讲天花乱坠,能不能做到,要靠什么,你有没有积累、时间,时间是考验人最根本的东西,第二个就是前面谈到的,在寻求一个基础架构,多个开发基地形成,大项目的离散团队怎么办?
ClearQuest、ClearCase特别是MultiSite对我们形成很强的吸引力,这个基础架构使我们工具平台往上发展有很强的生命力,不会重复建设,我们怕的就是重复盖楼,咱们国家城市盖楼有一个情况,这个桥盖了不够先进再盖一个,我们希望搭建了以后慢慢的去成长。第三个Rational的特点,它所有的工具能够为一个企业的项目管理能够提供一个全生命周期的工具市场,这也是特别要的问题,大家学过管理有一个木桶短板效应,中创软件发展过程中有一段时间,这时候大家干劲很高,都想发展,因为初期成功的很好,大家期望更快的目标,都拼命努力,但现在回过头来看就是挣扎,有点陷入泥潭的感觉,这就是木桶效应,木桶盛水不在于高板,而在于低板,你盛不住水没有积累。所以它可以提供一个全生命周期的管理支撑,这是很重要的支撑点。
我第四个说一下,从管理层,从管理层我很高兴看到,它可以从管理层深入、量化的对公司成功的经验和失败的教训进行分析,能为我下一步的决策提供有效的支撑。做任何事情都离不开人,我们和Rational服务团队很高兴,IBM的Rational服务团队有激情,很职业化的服务团队,现在中创软件的团队和Rational的团队不光是同事,合作伙伴,当然有时候也吵得一塌糊涂,我们是很好的朋友,有时候Rational傅总太忙,也会请我们去做一些支持,这种双向、互赢的我很鼓舞。这两部分主要是我们怎么做的,我们怎么感觉的。
最后持续改进,非常好的实践,应该说要瞄向高品质的目标是永恒的,我们中创软件具体做法,首先要交流、学习,国际交流,国内产学研合作交流,Ivar Jacobson 还是IBM Rational的时候,Jacobson来我们公司讲座过,Avaya实验室David M.Weiss博士也去中创软件,国内徐家福教授在我们公司讲了七天课,为了不影响我们公司正常工作,都是晚上讲课,一讲3个小时,老先生对中国软件产业发展的关注我们都很感动,还有其他一些院士都来我们这讲课,我们核试验市,中科院软件所,北京大学,国防科技大学等做产学研合作道路,怎么把他们实验室理论的成果和市场遇到的问题进一步结合,走国际国内,一起瞄向软件产业或发展的道路。
这张图片是永远给我注入激情的团队,是中创软件的团队,16年的路程真是坎坎坷坷,他们在各个方面面对挑战,有时候苦恼和欢乐使我很难用短短几句话表述。这也是Rational团队还是为这个方向努力,Ivar到我们那讲课经常用这图,愿见中华软件腾飞时,当然他讲的更细致,更系统,总体是怎么用工具,以软件产业化支持中华软件,它真是用心良苦,上面的图是现代的图,下面是老中国的图,愿相会于中华腾飞世界时,这是周恩来总理的手迹。
欢迎大家以后有时间到中创软件参观,也希望我们能保持互相沟通交流,让我们大家一起努力,把软件产业发展快一点,做得更好一些,谢谢!