杏彩体育,IBM Rational 软件开发高峰论坛

2024-07-21 16:23 栏目: 行业动态 查看( )

  大家好,今天花点时间探讨一下软件将来的发展方向,我称之为“软件交付的未来”,软件开发和软件交付有巨大的不同,我们今天要做什么工作呢?我们共同要在非常短的时间内给大家区分一下一个公司怎么样才能获得成功,怎么样公司从软件开发转型到具有交付软件的公司,这样消费者或客户就会认为自己的业务也能因此获得成功。

  今天首先给大家简单介绍一下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%的软件必须要从以前打包好的软件中重新做或重新买,因此要了解怎么有效管理软件开发,生命周期,在全世界部署软件的线年那时候简单,因为那时候所有开发的软件都是自己做,而且不用担心集成的问题,或者组合的问题。没有必要对资产进行组合,因此今天的工具平台,现在越来越复杂,比20年前使用的复杂的多,很多客户也不了解今天在集成开发的环境中,这只是一个起点,只有在这个环境下才能实现自己的目标,我们必须要有非常复杂的方法来考虑它,并且在现在的管理过程中提供这些产品,我们如果看一看基于结果,我们考虑一下协同、架构还有架构的演变方法,看产品的演变发展,再考虑模块化还有微细化这就是我们业务中所需要的东西,我们才能有效把开发代码加以提供。因此这三大原则,给我们带来了Rational的软件策略,它是我们的基础,这是为今后软件开发奠定了策略的基础,我们把重点不是放在授权、管理,放在交付灵活的体系架构,重点要放在充分利用社区的能力,我们所有的产品在未来都是由这三大原则指导。

扫二维码与项目经理沟通

我们在微信上24小时期待你的声音

解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流

郑重申明:某某网络以外的任何单位或个人,不得使用该案例作为工作成功展示!