【IT168现场报道】

IBM软件集团大中华区Rational总经理夏然先生
非常感谢大家今天有这个机会来,刚才排舞的时候,说能不能跳的再好一些,今天非常高兴可以看到这么多的客户的来Rational软件开发高峰论坛,希望以后可以更多的来上海,因为上海是中国经济龙头老大,我们有很多的客户都在上海。这次整个RSDC在中国分了两站,一个是在深圳,一个是在上海,上海的规模是非常的庞大,刚才我们又开了一个厅,其他的客户坐不下的可以在那个厅看直线转播。
我先跟大家介绍一下直线转播,我们在全中国有三个Websites来转播我们Rational今年的策略、战略,我非常感谢51cto、csdn、chinabyte三家网站来给我们转播。
讲一下Rational这个品牌,它真的非常久了,在我们全球的老大,有28年,Rational从一个小的公司做了一个全球最有名的软件开发、应用工具的公司,直到被IBM收购,加在一起28个年头,我们现在更加强大了。
从2000年到现在由4、5人的团队增加到现在有100多个的技术人员的团队,再加上我们在北京开发中心,Rational有将近200个,在整个大中华地区,在中国地区,Rational投资了很多,大家可以听一下Daniel Sabbah讲一下,在这种情况下,我们Rational也不负重望,每年都有50%、60%的增长,在中国市场,Rational也为中国软件的提升做出了它的贡献。
今天,我们有几项内容,第一个是热卖,所有新的产品都会在外面有陈列。另外在五楼免费的Rational产品线的认证,而且都是免费的,希望大家上去体验一下,这个流程、工具真是让人非常的喜欢,而且上瘾,学到之后就非常容易使用。
下午还有很多的分会场,我们的全球的专家、本地的专家、客户都会上来讲一下他们的体验、心得。所以讲到此,我想介绍一下等一下上来的这位我们叫做全球非常受尊敬的领导。其实大家都对他都不陌生,无论是在杂志上面、Web上面,或者是看过他的书,或者是他当年做的领导工具,这位领导非常的喜欢中国,这次是他第五次来中国,他这次来中国待了5天,见了20、30个客户,在他的眼里,中国是下一个软件开发软件工程的基地,他是非常希望以他的经验,他的水平,帮忙大家,跟大家一起合作,用Rational把大家的生意和软件工程可以提高一层。
我讲讲他的简历,这位博士,工作到今年已经34年了,34年的工作全部都是软件工程,如果大家有人比他做软件时间更长,那我希望大家跟他交流一下,但是他在这一方面工作的时间真的非常长。那么在IBM34年的时间,在这儿之前,他有几个非常好的项目,我跟大家分享一下,他曾经被IBM的老总叫做Web之父,当年Web的产品都是他一手带起来的。之后他被任命为IBM软件集团的CTO,在IBM全球,大概有3万个开发者,他是负责所有人员的老大,整个软件集团的产品,就有500多个,所以你想想,你可以想想这有多么的复杂。大概在3年半前,我们请他成为了Rational全球最大的领导者,全球品牌的总经理。等一下他会讲一下,所以Rational在全球领先也是非常有道理的。所以在这个时候,我就不耽误大家的时间了,下面有请真正的Rational专家上来跟大家讲一下,Rational策略、战略和新的发布,女士们、先生们,下面有请Daniel Sabbah先生的上台。

IBM软件集团Rational总经理Daniel Sabbah 博士
你好。我下次来的话,我准备跟大家说一整句的中文,我还在学习。非常感谢刚才的介绍。也非常感谢您的翻译。非常欢迎大家感谢你们光临。今天,我要谈一谈我们的一些新方向,那么这些新的方向,我们已经开始取得一些具体的成果,从概念、想法已经开始做到执行,或者说是交付。今天我要给大家介绍一些新的方向和想法,把这些想法推动到开发软件的领域。这里有很多的东西,应该说是息息相关的,我们都看了北京奥运会,我们知道中国的力量非常的伟大。中国已经作为一个世界级的经济体,作为一个运动体育大国,而屹立于世界舞台之上,51枚金牌,特别棒,非常了不起,说明这个国家的体育项目、人非常的成功。PPT是中文,那么今天我们要重点讨论的一个问题,就是如何充分发挥力量,发挥一个全球组织的力量。再加上走向世界的一个大国,中国力量,IBM如何和中国一起产生互补的优势,取得更大的成功。
我们都知道中国的创新史是非常辉煌的,恐怕有很多的西方人都不知道,但是我们经常旅行的人,了解世界的人都知道,历史上有很多重要的发明,重要的创新的动向都是由中国发起的。有些发明和动向是早在西方国家的发明家还没有发明之前早就在中国就诞生了。所以在这个时候,做创新应该说是正逢其时。那么下面我来简单的阐述一下高新技术领域一些最重要的一些最新动向,我们看看智能物品,去年世界生产出了很多的晶片,这些晶片上面的晶体管,它的数量比同年生产出的大米粒还要多。那么每一个晶体管的生产成本是小于一粒大米的。现在10亿人在上网,互联网上有1万亿个装置,超级计算能力现在为越来越多的人都可以掌握的。今天最新部署的这些计算机,他们可以进行每秒1千万次的计算,这又是非常了不起的一个数字。最后,在2010年之前,我们通过通讯、计算,通过运用,我们互联网上种种应用,每11小时世界的信息总量要增加一倍,这又是非常了不起的一个创新,所以现在是正合适,但是还需要我们作出巨大的投资,在软件方面,因为所有这些装置,所有这些计算能力,所有这些通讯,都需要软件才可以成为智能化的,让你我每天都使用方便。我们才可以为社会发挥好这些力量,让世界变的更加的绿色、环保,才可以更好的运用每11个小时增加出来的这些信息,我们才可以有效的和那一万亿个装置进行有效的沟通,不管这个装置是放在你的口袋的里,是一个手机,还是这个装置把你从一个地方送往另外一个地方,比如是一辆汽车。所以实际上我们正在步入一个新的智能化软件和系统的时代,这些都需要智能型的软件,当我们要创造这样一个世界的时候,关键在于我们如何有效的管理软件交付。
软件交付变得更加的高效。今天我们要讲的软件交付的速度,软件质量的提高,还有跨越很多单个解决方案之间的整合,让一个装置,一个系统,一个组织可以得到更好的运用。除非我们能够发挥好这样运用能力,把它整合起来,在这样的基础上进行升级变得越来越好用,否则我们就无法成功。当我谈到软件质量的提高,我说是客户能不能了解我提供的软件的价值,软件方面的根本问题,能不能有效把解决方案,高效优质的整合起来。遗憾的是,今天我们软件开发的方式很多时候,我们是反复重复的再来发明同样的东西。很多项目都是从零开始,哪怕不是从零开始的项目,往往我们重复使用,过往创造资产的方面我们效率还不够高,我们总是觉得,重新思考,重新设计,重新开始比较好玩,比反复使用更加的好玩。那为了让我们从旧的软件开发模式,能够走向更高效的软件开发模式,恐怕我们需要重新反思一下我们软件开发的一些前提,一些出发点,还要考虑使用什么样的工具和方式来更好的发挥这些运算能力和通讯手段的力量,让我们更能理解怎样使用新的方法,新的模式,那么这个新的模式更多的是来做一些量身定制的调整,把重点放在搜索和问询,而不是每个项目都要重新从头再来。这样的话,交付的周期缩短了,那么创新则替代了重新发明,这两者有着本质的不同。还有这是加速周期一个重要的方式是触动内容生成,这样的平台需要端到端的软件开发工具。同时也需要利用到前面讲到的一些创新的内容,我们需要能够协作、团队间要协作。我们需要能够进行自动化,要进行更多的自动化。当我们进行搜索和汇总的时候,我们必须能够做到这些事情,那么今天主要谈三个主题,主要是协作,通过协作在全球化的问题,如何让团队协作更加的有效,同时,节省费用,节省成本,避免反复重复做同样的事情,能够更好的利用之前的工作成果。这是第一。第二个是自动化,很多人听到自动化会想到工业化,其实我们要确保自己是清楚软件开发程序当中下面的步骤是什么,包括自动的内容生成,自动的仪表和变更管理。
那么还有一个很重要的就是报告。当今软件开发的程序当中就有太多的报告都是手工的,它往往不见得是100%属实,这里面有很多猜想和推理,有些人还愿意显示自己干的好,那在这样的平台当中,我们需要能够整合更多的数据,是横跨整个开发生命周期,可以让我们很客观的来做出总体的评价,评价自己的工作成果,从开发的角度,质量管理的角度,从要求的变化等各个方面可以进行客观、透明的评价。那我们怎么样来做到这样一个平台呢?我们怎么样来反思软件开发的程序呢?
首先,要了解怎样来做这样一个解决方案,首先你必须自己有经验,你必须结合你在过去的经验,你不可能从零开始,从零做起,这个也是我们前面讲的一个重要的原则。Rational已经有25年以上的经验,在软件开发平台方面。25年以来,我们创造出了世界上最好的一些软件开发平台,从需求的分析开始,一直到最后,这个软件投入使用,生命周期当中的每一步、每一个环节,我们都有相应的解决方案,从端到端。我们已经在自动化这一方面有一些能力,我们已经在整个应用开发生命周期当中有我们自己的能力,我们有单个的解决方案和工具,今天就可以帮助你们开发软件。25年以来,我们一直积极的来创新,正是这样的创新,使我们不断的能够业内知名位,在Rational的时代,包括在IBM收购Rational以后,附带说明一下,IBM收购Rational并没有拖带Rational的发展,而它是加快了我们发展的步伐。最近五年被IBM收购以后,我们不断的获得快速的增长,我们不断的加大创新的力度,我们也纳入了IBM很好的一些创新项目,我们也是走在这个可扩展的开发前沿,另外我们也重新发明软件开发平台的能力,大家会看到,我们不断的来创新,不断的来做到行业领先。那么这里面有一些能力纳入到我们最近18个月当中新推出的这个平台,这个平台叫做Jazz项目,Jazz这个项目它的重要性不断提高,不仅在IBM内部,或者在Rational内部,而是因为我们建立了一些社群,像Jazz,一开始来做,我们是以公开的方式来做这些产品,让很多的伙伴、客户参加进来,这早在没有出售任何产品之前就让他们参与进来,一起设计,所以我们是充分抓住了协作的力量,发挥了社群的力量来确保我们有有效的传导我们的信息,确保大家的需求,让大家充分明白了解,而且可以进行可衍生、可扩展的团队协作平台。它不仅仅关注于个人或者是个体的效率、效果,而是要整体的来了解全团队各个不同责任、不同功能之间的协作。包括在全球都可以开展非常顺畅的配合,这是IBM对软件交付未来的一个愿景。这也可以说是我们过去在做Rational组合方面所建立的种种能力的一个非常好的的结合,提供一个新的平台,把单个工具的能力全部融合在一起。
我们的这种做法,可以把最新的创新,还有以Web为中心的构架Web2.0这种以服务为导向融合在一起,我们要建立一个开放的平台,这样的一个平台支持协作、自动化,以及报告,完全是整合的模式,有非常好的流程,这是核心,非常好的实践是核心。把现有的产品整合起来,并创造新的产品。另外也可以使我们的商业合作伙伴发挥他们的作用,在这个平台的核心,是一系列服务,其中一个就是团队意识,然后仪表盘,第三个是核心的安全能力。我们有植入的世界通知,一旦在生命周期发生什么事件,马上就会有报告和通知,就会有不同的反映。另外还有很好的工作流,还有查询和询问,这样的数据库可以用Web为中心的SMO这样的词汇表让我们去做查询。还有在上下文语境下的协作,这个不仅发布时时的信息,还有通讯和沟通,让大家都理解软件的开发生命周期。当我们在这个过程当中,不仅可以展开一些行动,而且可以告诉你们上下的语境到底是什么。当我在讲服务型的构架,以及Web2.0的时候,你需要实现与语言无关的通讯,要有松散偶合。另外如何使用因特尔,可以更好的实现松散偶合,它独立在开发工具之外。因此每个人都可以使用这些工具,可以增加价值。另外,我们也可以把各种各样的网络的能力集合起来,共同实现协作自动化,以及报告。为了能够使这样的概念付诸实践,我们就开始开发自己的产品,这些产品不仅仅可以创新新的能力,而且可以把我们现有的产品整合进来,正如我刚才所说,我们不想从零开始,我们希望在我们现有的力量和经验之上,再创新高。所以我们现在搞了新的平台,把我们原有的产品都整合进去。但是在这些产品之前,我们还要有创新的因素,所以发明了三个新产品,Rational Team Concert, Rational Requirements Composer, Rational Quality Manger,这三个产品,是可以帮我们解决软件开发过程当中三个难题,第一个就是关于了解创造需求。第二个很好的管理质量。第三个就是要保证在创新的过程当中,我们确实能够了解我们的进程到底处在软件开发生命周期的哪个阶段,什么时候可以完成。
我们先来看一下管理需求。我们觉得,需要有新的方法去理解如何管理需求。今天,我们看看所有的需求管理工具,基本都是以文本为基础的,或者是靠其他的,或者可以是任何一种形式,甚至可以写在纸上,有的时候在大家的脑子里边你不知道,这些需求很难去捕捉。那我们现在的做法就是建立一个平台,可以捕捉各种不同形式的需求,不仅仅是看一种形式的需求,或者是一个任务,我们的做法,是要注重协作,要建立共识和业务的有关人士,而且可以跨越界限,正视这些需求,传达这些需求,用商业模型的图表,各种各样的流程图用力界面等等,然后把这些全部在一个平台上整合起来,由协作为核心。一个团队成员,他有可能是一个平台师、构架师,大家都可以相互的合作,可以用他们听的懂的语言知道他们在讲什么,把网络作为核心,可以把需求的再利用最大化,可以让你组织查询 和需求再利用,而且有非常清晰的线索。你不仅仅是每次都在重新发明重新工作做重复性的工作,而是有非常好的可追诉性,在我们已有的工具里面植入,而且有和其他的模型,还有工具相连接,这样可以降低重复劳动,还有 需求管理,可以和其他的软件开发周期相关联。很好的管理这些需求,在整个软件的整个周期当中都是可视性的,在软件的开发过程当中,把重心放在更加敏捷的叠带式,我们可以实现以上的一切,它是一个可查询的数据。那么从管理需求到更好的去管理这个软件,在这个过程当中,我们要做是给大家一个整合式的开发环境,不仅可以把不同的开发人员整合起来,而且把信息协作完全在开发团队当中共享,这就涉及到不同的角色、岗位,这就需要非常畅通的沟通和交流,在项目经理、开发人员之间,没有任何的沟通障碍,更加有效、自动化,有更加透明的信息,更加可预测的信息,让大家知道,我们在整个的软件开发过程当中处在什么样的位置,我们要让团队人员知道,现状是怎么样,他们现在在做的事情是什么,这样大家就可以很好的思考,而且可以和谐的思考与工作。这样以团队的形式来工作而不是松散的工作。无论你是在不同的组织或者是阶段,这个都没有关系,我们在网上有一个平台,你可以动态的创建团队,可以动态的创建关系,而不是你一个人孤军奋战。
我们讲的是可以时时的来查询项目的状态,看非常好的的实践是什么,包括敏捷的开发,这样动态的开发,可以加速团队交付能力,可以更有效的交付解决。另外我们有各种各样的定制化的流程,我们的团队是统一的,可以让我们不仅仅更好的去利用工具,而且更好的去用的上这些工具。那我们自己的软件和微软的软件,因为我们记得我们在建立一个开放式的平台,这个平台不是让你非这样不可,而是一个开放性的。另外我们也有可定制的仪表盘,还有叠带式的方式,我们把它的价值进一步的提升。
最后,当我们在管理这个质量的时候,我们引进的新的能力,不仅仅去看一件事情,比如说功能或者是绩效的测试,或者是我们的新产品、安全测试,而是如何进一步的协作,如何自动化,如何更有效的报告。在整个的端到端的生命周期实现,百分之百的网络接入,还有Web2.0的交互方式,团队交互。另外进度是非常可视、可见的。另外,也是有定制化的流程,可以追诉自动化的数据收集,更加重要的是我们不仅收集数据,而且我们要理解我们在这些数据缺陷里边看到的后果,因此我们就可以非常清晰的认定我们下次要测试什么,在这样的上下文的环境当中,我们就知道,什么重要,什么是瓶颈,什么是有问题的,我们下一步如何去做。我们把一些非常重的消耗人力的工作进行了自动化,而且还进行了这种模式的比较和分析,我们保证工作效率最大化,这是一个开放式、可拓展的平台,我们用现有的自主开发的资产,还有供应商给我们的资产,我们希望消除这种消耗人力的测试。那么这种开放式的平台,可以让我们关注真正的价值到底是什么,可以进一步的去创新。这只是一个简单的介绍关于这个数据点,在整个平台当中的三个新产品。
那么再下一步,我们要继续的创新,在09年我们要开始推出第二波的基于Rational的产品,我们将会引进更多的创新,使得现有的产品和能力,更强,还有另外的能力。另外我们会推出一系列的企业报告,还有项目管理方法组织以及其他的一系列的产品。那么当这些产品大家拿到的时候是新一代的产品,而且这个产品你是可以无缝的植入Jazz平台里面去,所以有很多的东西可以期待。那我讲了很多的平台与产品,还有另外一个创新,我们现在在推出的,是使用工作流和事件,可以使得我们的非常好的实践可以很好的整合进来,但是要考虑如何去更好的运用这些非常好的实践,而且在软件交付过程当中给你带来非常好的影响。那我们就考虑了,我们在这个过程当中所使用的原则和非常好的实践,很多的非常好的实践大家都在用,用了很多的时间,我们也非常的理解,是基于多年的实践经验,但是在过去的十几年过程当中,我们关注的一点就是了解如何把这个转型植入到非常好的实践当中,也就是说,要不断的改进,那今天我的状态怎么样,这个软件实践的下一步我们要怎么办,我要实现什么目标,我如何实现,不要说我应该如何怎么样,而是要指出我今天的状态,点出下一步的目标,然后想清楚如何去实现。那我们下来有这样一个平台可以把各种各样的流程自动化,把告诉我什么,转向引导,他们有自动化的能力而不是规则人,大家要去理解的规则不仅仅是这些。有了这样的新工具,就可以让我们更好的实现软件的开发,我们要工具,不要规则。
那我们是如何实现这一点呢?其中一点,就是我们把目标进行绘图,比如说如果你是金融机构,可能你有一些业务上的困境,那这些业务困境,可以把它转化成一系列的运营目标。那么这些运营目标和很多业务困境是有关系的,比如说,我可以减少面试时间,我就可以创造更多的产品,可以把这些和业务建立起联系,这些都是非常伟大的业务目标,但是这些和软件开发又有什么关系呢?减少面试时间,如何和软件质量提升联系起来呢?我们把它进一步的绘图,把它和软件开发周期非常好的实践联系起来。通过这样的做法可以让大家去思考反向绘图,正如看看你现在的状况,当我们在使用非常好的实践的时候,我们是逐步的,我们是看这个一步一步的改善,那么这个流程,可以告诉你,我已经做了什么,这个现在可以不要管了,再下一步,为了能够实现这些业务目标,我需要把重点放在什么地方,而这些新的重中之重,就是我要度量的内容。这个并不是拿出一个非常大的目标,而是要有针对性,而且业务上可以理解,可以把它不断的放入到改进的流程当中。另外还要可追随性,不仅从工程这个角度来讲,而且从商业模型这个角度来讲,也可以追踪、查询,这样的一个周期,可以使我们极大的改善,比如说产品的面试时间,或者是具体的一个质量,而是可以改善在消费者心目中对你这个产品的质量认知,比如我们软件产品的用户。我们是充分的发挥非常好的实践,以及现有的模型,在合适的地方用。比如说敏捷开发不是你什么时候用都是合适的,比如有的时候更有效,更好的方法可能是瀑布式开发,我们要灵活才可以,而且我们要理解消费群体的需求。所以,我希望大家,我也请求大家,好好去想想我今天所说的话,去看我们新的能力,新的产品,并且去思考跟我们建立合作伙伴关系,考虑和我们在软件开发创新方面结成合作伙伴关系,尤其是软件交付。这样,我们就可以充分的利用其他的创新在通讯、硬件、信息方方面面的创新,把它们整合起来,我们可以建立智能型的系统,打破孤岛,提高质量,并且充分的发挥我们在过去已经积累的实践和产品,并且创新交付,因为世界需要这些。
我知道,中国现在有非常大的发展,有非常强的智力资源可以帮助我们打造更加美好的世界,也许还可以赢得200枚金牌。谢谢。

伟创力(中国)电子设备有限公司质量管理系统部资深总监 李靖女士
非常感谢IBM能我这个机会。现在整个质量管理的方向和发展所以我整个演讲跟大家主要分享是广泛的管理和经验。讲到奥运会我们的Daniel Sabbah博士,和我们讲到我们中美合作可以赢得200枚金牌的梦想,这是有一个小小的笑话。美国的一些同事他们也开玩笑,他们把铜牌看成金牌了,如果我们合作的话,也是可以做到200枚金牌的。这次我用中文来讲,我讲的题目主要是和谐,我们讲构建和谐社会,和谐文化,包括人文奥运的和谐已经听了很多了。在软件开发质量管理方面,我所讲的和谐主要是从三个方面去理解。一个是流程,一个是技术,再有就是人,如何把这三方面和谐起来,达到一个合格质量软件。
质量管理这么多的工作经验,对我来讲就是两句话,客户满意,持续改进。这个是奥运会中出现的在展示中国四大发明活版印刷出现的字,而且用不同的字体出现,就是这个和平的和字。这个和字有很多的解读,但是我觉得论文当中的解读是非常好的,君子和而不同,所以在变化的世界里,我们如何做到和,在实际的操作过程当中,就是如何去平衡,管理当中也是平衡。所以我从和字开始。我们以前讲一个魔幻的三角形,达到高的状态,我们的人流程、技术,原来画的时候,它是画在三角形的点上,我觉得画在边上更合适,边有边长的位置,所以和谐是什么?是在等边三角形的情况下,面积是最大的,为什么这么讲?我们讲流程,流程就像我们读一本书,知道我们在读书的时候,我们把一本书从薄变的很厚,然后在你合起来之后你会回想,这本书把它从厚再薄是什么,这是从轻到重的流程,我们的流程是从基本的实践开始,然后总结变化一个很重的流程。在座有很多的人你们会说这个流程写的太复杂,不去看。
在我们把书从薄读成厚再读成薄,把你在书中学到的知识融入到你的血液当中,对照流程就是一个零,如何实实在在的活灵活现的实现它,所以流程的改进发展过程是一个轻重灵的过程。技术,今天Rational给我们提供很好的技术,技术用中文来讲还是一个器。在论语里面我们也听到,工欲善其事,必先利其器。在经济管理学当中我们也会学到促进生产关系的发展,包括像春秋战国时期,为什么出现那么多的思想家,就是因为牛耕技术解放了人,这个就是其中的一个推动力。所以器尤其的重要。流程还有技术,是由谁来决定的?那么也就是我们这一次大会的主题,这个主题是开发的智慧,协作的力量。这个主题,这个主语就是人,人是最最重要的一个因素,所以我把人的字母打的相对大一些。人的发展过程是什么样的呢?我们用儒家思想来看,先锻炼自身的能力,然后建立一个家庭,我们中国家庭是一个非常重要的一个元素,也是一个人有能力做更大发展的一个基础,如果一个家庭都治理不好,更谈不上治国平天下。在软件开发过程当中所有的人,每一个人都有这样成熟的过程。所以在三角形上边人起了一个决定性的主导作用。所以我有一个个人的理论,就是下面的这张图,一个交付产品的质量,客户满意不满意,整体取决于什么呢?取决于三角形的短边作用的范围。假如说人这边是相对比较短的,以人这边做直径来画圆,比如流程、技术所影响的范围,这就是真正的质量。剩下的那一部分是什么呢?就是你消耗不起的,其实是一种浪费,是一种状态。那么基于这种思考,所以我们提出和谐的理念,和谐的理念就是说,在整个的开发过程当中,开发人员以及开发的领导者,以及企业的管理人员,要重视这三边的和谐,那在这么多年的工作经验当中,下面我会跟大家分享一下,关于三边上如何出现问题,出现问题如何解答,或者是找出一些方法来跟大家探讨一下。
流程有一个深度和广度,所谓广度,简单的说,任何一个企业有三个流程就可以决定一个企业的运作,一个是客户关系管理的流程,还有供应量的流程,还有一个就是与人开发非常相关的产品生命周期管理的的模型。所以我会跟大家分享一下产品生命周期管理与软件开发。核心统一流程,我想大家都是想尽办法尽自己最大的努力把所有很多名目的东西像是武林高手一样占山为王,这是关于对流程。下面就流程的深度给大家举一个例子。这是流程的广度和深度,我会从生命周期开发流行过程组建流程做深度的探讨。我想可能在座的每位,可能不一定看过具体的图,但是如果我要去你们的企业去看,我觉得你们企业一定有相似的这样一个内容,就是生命周期整个流程。在这个里面红色的部分是一个产品的主线,那么红色上面是新的技术发展的过程。我们重视下面的那一部分就叫做软件的平台开发。一个新软件平台的开发,有的时候要先与真正的产品实现的过程,就是它上面的这条线,这些线当中会有一些同步点。首先技术委员会要知道技术发展是怎么样的,市场要知道你给客户是什么东西。在生命周期下面我们有软件开发的流程,这张图,下面绿色的部分,是我们叫做软件平台开发,桔红色是与产品相关的开发,蓝色有两条线,在新的产品线下面,有两款产品,软件平台开发和流程对照,这个就是所谓的深度。
下面一张图大家也不愿意读,只是解读一下软件跟产品集成的一种模型。这里我想跟大家讲的是,在一个软件里面,里面会有一些增量,有些你可以是真正的一个增量,所以增量也是有厚度、时间度的。当我们在一开始设定的时候,我们没有非常清晰我一定要有多少,那么一开始设定的和后来随着时间的推移,你会看到里面有Y+M,里面会有增加,这个也是一个理论,系统可以无限的细分,但是细分需要有一定的颗粒度。但是正因为系统是无限细分的现实,也就是使我们在软件开发的过程当中,会有很大的灵活性,这种灵活性就是要求了流程要有一定的灵活性,不能是非常死板的,就是颗粒度要掌握的非常好。这三张图是跟大家讲的是流程的深度,广度我们就不去谈了。在流程当中,在我们每天的工作当中,在座各位的每天工作当中,我们会碰到这样的问题,流程会告诉你在中间谁做什么事,但是流程并没有告诉你怎么做是更加有效的,我们的工程师你们不要去恨我,第二句话,我用了一个词,有的人认为我用的太温柔了。针对与这样的现象,既然是经验分享,我就跟大家分享一下,对于流程的问题,在我们自己的工作当中,我们后来生成一种方式,这种方式是说,对每一个流程会做理解备忘录,这些理解备忘录是补充流程当中告诉你如何做实践,因为你在很多的团队当中,你发现有的团队做的是非常好,把它的实践写成一种理解备忘录,大家觉得这样做是比较有效的,这是一种经验。还有一种就是人们不去读流程,我觉得我能理解,如果我是工程师的话,我也不太去读流程,这个时候怎么办?包括工程师、经理这个时候怎么办?我带了一个小册子,我们会把它卡片化、图片化,每一个都会有核心的东西,比如五步,或者是三、四步,这是它核心的内容,这个时候我们把它做成册子,有的时候我们也会它写成80页,这基本是一个博士论文,这样人们不太会去读,也不会掌握精华,所以对工程师和经理也好他们可以运用这些小册子来解决问题。
商业模式的问题。我过去做的是品牌上,我们叫做OEM,在这种开发模式下面,我可以完全控制我自己的脚步,我走的快、走的慢,那个地方出问题了,我可以完成控制,我现在所做的公司就是代设计、研究,这个时候我不会有客户他自己市场的压力,我们没有一个完全主动的权利在里面,在这种商业模式下,就像滑板一样的。下面谈到技术。我们在底层下面,你在这条路上可以滑自己的滑板。下面是活动的,客户也在抓你,你要注意。我们如何去做流程,虽然有的客户他并不重视流程,但是在开始的时候,一定要跟他做流程的对接,这个对接是有实际内容的,每一个关键点,我们要达到什么样的一个成熟度,这是一定要把丑话说在前面,客户跟你打仗,所以我们一开始要把成熟度的认同点要做好,这是我个人的一个经验。技术,我们讲器,我们讲生产力是可以改变生产关系的,我们要把流程进行很好的对接,你在设计一个选择器的时候,你不要着眼于现在的一点点,就是为了省一点点的钱,一定要有一定量,你要稍微看的远一点,如果你看的太远了,有的时候消耗的部分就变大了,如果你走的太靠前你就变成烈士,你一定要有前瞻性,这种前瞻性为我们赢得了客户。有些客户的审核,和认同你做事情的时候,他在看你所使用的tool,同时对你进行认可,他说你是有未来的,你不是只想到今天,而且还要想到未来。这是关于技术。技术还有一点产品本身的技术,这是我们算是一个经验的分享。刚才讲到产品本身的技术问题是使我们很头痛的,我们要选择芯片,芯片就有一个成熟度的问题,还有成本的问题,我们要平衡这个成本,如果你用成熟的芯片,要么他非常的贵,要么他就是在品牌商里面手里去开发,不会让你开发,所以这是一个问题,软件的框架同样也是这样的问题。如果我们用市场上已经成熟的框架是非常贵的,如果用不成熟的框架,那么要么用中等成熟的,或者是不成熟的,不成熟你选择的风险就非常大,不成熟的也可能会成功,而且你会赚到很多的钱,这里就有一个伙伴管理,这也算是一种经验,在伙伴的管理当中,尤其你在选择定位稍微成熟的时候,你一定要有真诚的伙伴关系,这个在生意场上大家也遇到,如果有公司的高管,你可能听过很多的故事,这些故事里面有很多合作失败的,就是因为上面一套,下面一套,上面说合作,下面下绊子,如果大家有共同的方向,双方必须在一开始达成一种协议,我们做多少,你做多少,这个东西做成怎么去分,一定要清清楚楚,这是一个经验上的分享,这里如果把伙伴管理好的话,在管理的时候,一开始,你的伙伴、供应商,包括像是软件的组建,要跟你自己的步骤一定要一致,技术上实现的步骤。还有包括技术测试、质量参数这些一点要事先讲好,这是我们要先小人后君子的做法,这是关于技术管理。
我们讲到了产品技术管理的方方面面,最后讲到一个非常重要的一点,就是人。人我们有几个大的方向,一个就是前两点,个人的能力,个人主观能动性,我想到什么样的状态。能力是可以提高的,外界可以刺激你,让你可以做到什么程度,但是自己没有自己的能力,如何去做也是没有用的。所以大家可能也了解到一句话,每个人都要做自己的CEO,一定要有自己的一种发展的大致方向。比如说我想做软件架构师,我想在某些地方有所作为,自己做自己的CEO。Jazz这个平台很美的就是把工具,把人,把知识管理融合在一起的挺美的一个平台,但是实践怎么样我还不清楚,但是这个主意还是非常美好的。讲到个人capability的发展,还有个人的能力,这是你的原动力,组织上要做一些什么事情呢?比如人力资源开发,人力资源开发这个词儿,听起来大家第一感觉应该是人力资源部的事情,实际上我不知道在座有没有人力资源部的,人力资源开发,人力资源部能够做到的微乎其微,一个是自己对自己的承诺,自己对自己的开发,比如你进到一个公司,会有一个帮助你的人,如果一个公司发展的步骤比较好,你们在座的有可能是项目经理,或者是一线的经理,你们是关键的人做人力资源开发的,不要把这个工作,说HR没有做好这样的事情,没有做好那样的事情,HR在知识领域上,对于每个人日常的工作结束当中,他是有限的。所以在人的方面,我放了这四点,这四点里面,前两点是对自我的一种承诺。我个人对Jazz整个平台的开发思路、思想,它是把人、工具、流程结合在一起的范例和感觉。对于人面临的问题是非常大的问题。第一个就是快速的发展。我们叫金砖四国,促进整个国家的经济发展。这四个国家高速的经济发展,带来我们在座的人所在的公司,你会感觉,我们不说百年老店的 公司,而是在中国新兴的公司,基本2、3年人数都会增长很多,我个人认为,我们也看到一些失败的例子,在很多大家总结失败例子的时候,都会归纳为快速的人员增长,这是导致失败很重要的一个原因。为什么?如果研发领域人员快速的增长,如果你有一个产品的主线,或者是你的目标不变,这种增长还可以,就像我们刚才讲的,这样速度的增长,不可能让你有所谓老、中、青代的环境。我个人曾经也想过这个问题,我们以前在很大的品牌商的公司工作的时候,关于大家不读流程的问题,我说我们新进来的员工,也没有人读流程,可是人们都是按照流程去做的,就是因为有团队的建设,知识团队建设的,或者我们叫做知识结构的老中青,新的人是有中人带,中人还有一个学习的对象或者是榜样。所以这种传承是最有效的。不能说你进来以后,让这个新人要学多少,如果快速增长的话就达不到这样的目的,而人在整个研发领域是非常关键的,所以就造成了很多失败的一些例子。如果成功的话,我也在想一个案例快速增长,第一一定要限制一定速度的增长,另外一个,如果要快速的增长,一定在一条线上,你的整个地基是扎实的,这样你再去快速的增长,如果有一点点疏漏,你再快速增长,第二、第三年,在第四年的时候,一定是坍塌的。这是关于人所带来生意上的一个问题,就是快速增长的一个问题。我们是不是能够建立中国的或者是世界上一流的研发中心,这是一种求生的精神,并不是说,我做到第一是为了做第一,你只有做到第一,你才能生存。在R&D的领域还有一个问题,就是高度的专业化。
一个好的软件架构师培养时间要长,另外就是很少很难。对于这种解决方案如何去解决呢?大家也可以去共同的探讨,如果从内部看我们自己的架构师,你必须要经过这样的时间,你才可以煲出这么好的汤来,我们的解决方案是到海外高薪诚聘,如果在座大家对这个工作非常熟悉的时候,一定要去,因为它是高薪诚聘。这是关于人才,人方面的一个问题,高度的专业化,带来我们既要懂专业,又要懂结构,又要能够懂软件这种高技术素质人才,这种人才是非常缺乏的。这是第二个问题。第三个对人方面很大的问题,如何把正确的人用到正确的地方,正确的角色。这相当于一种艺术,尤其是对一线的管理人员,对一些经理管理人员很大的一个挑战。我们有的时候看人,你要改变一个人是很难的,如果大家结了婚了,生了孩子会知道,如何跟你的另一方,你试图想改变人家,你会觉得不可能改变,唯一的方式就是合作。在人才的使用方面,并不是说有更多的人做在一个团队里,团队的尺寸一定要大小合适,正确的做法是把正确的人放在正确的位置。我建议大家要防微杜渐,成长一定要扎实。如果看到问题,这个也是现在已经存在的事情,你该减的就减,还甩掉就甩掉,集中优势打歼灭战。这是关于人的方面,对于这一步方面我讲的例子会比较多一些,人提供给我们的内容是非常的丰富,而且是非常难用一种公式或者是模式去套的,每一种地域、区域,它可能提供的资源不一样,北京、上海、西安、成都,他们提供的专业资源是不一样的,本地的文化又不一样,但是这又是非常重要的一方面。
我们讲了三条边,在实际的项目当中,这条边不可能是平衡的,或者是量化来看谁长谁短。但是你有一定的智慧,这个也是自己需要把这些内容充实进去,看这三条边里面哪一条是短的。第一一定要把你的短边拉长,这是现实当中一定要急迫去做的事情。另外你也要兼顾其他的发展,能够让这些持续的发展。我个人在想,这次我演讲的思路,过去在讲三条边的时候是以点出现的,变线,我们讲三条边的长短,由线变面积,面积是由最短边所决定的,这个就是质量,短边影响的范围就是交付的质量。到现在一个立体的图,但是我没有把它画成是一个立体的图,由点到线再到面,这是一个螺旋性的上升,这是我整个的思路。还有一些在中间的过程当中,跟大家分享一下,在流程方面,在技术方面,在人员方面,如何去识别,如何面对我们经历过的一些挑战,什么样的一个应对的方法。当然也希望会后大家跟我一起做更深入的探讨。那么这个结果是什么呢,在这个平衡当中,我们要把这个面积越做越大,最终,你纵观很多的企业,每个企业的方针就是客户满意,持续改进,所以你最后体现给别人的价值就是提供给客户的价值。我们公司有一句口号,这个口号是每个人在E-mail必须要写的你要产生附加值来使你的客户有竞争力。当然我们在讲战略的时候,也很简单,第一个,就是你做的东西别人做不了,如果你做的东西别人能做的话,那你就要比别人做的快、好、省,这就是战略,很简单,所以着就是一个战略的实现,你为客户提高、提升价值。
我们要使自己的成本降低,如果你提供的东西跟你客户所做的东西是一样的,你要比你的客户做的多快好省,这就是你能跑在前面,这个就是所谓的赢。Rational现在也在实现这种模型,这是我跟大家分享这个模型的结果,然后实现公司的战略,公司是什么呢?简单一句话就是挣钱,不挣钱的话,这个公司就不能存活,挣钱就要有战略,战略是什么?做跟别人不一样的,如果跟别人做的是一样的,就要多快好省。我们回过头再来看我引用了德鲁克管理大师的一句话,知识工作者的生产力就是质量。我觉得在软件的行业里面,这句话更适合,因为对质量的定义有很多,有质量就是满意客户需求你不要做的多也不要少,但是在现实的软件开发方面,客户意图不清晰,你不能用量化来说什么是真正的满足客户的质量。还有一个是产品特性的定义,对于软件行业来说,我觉得德鲁克管理学大师的这句话非常让我受感触,知识工作者的生产力就是质量。当然对知识工作者这个词儿你可以到网上去看,专门有这个题目,专门研究什么叫做知识工作者,利用信息,利用技术来去创造一些东西,这个就是知识工作者。
所以在流程、技术和人之间,如果达到完美的平衡,我们叫完美的和谐,那这就是质量的宗旨。回过头来再用奥运会的盒子来做结束。君子和而不同,就像我们现在软件的开发,模式也好,流程也好,产品也好,它都有很多的和而不同,不是说大家都完全走一个流程,大家都用同一种方法去做。这个可能是航天部做的活版印刷的展示,他们在做这个编程的时候,一个人在前面,两个人基线编程的方式去做,这个背景是有一个军令状,不可以有任何一点点的差错,他开发的时候是这样的状态,这里面每个人都是戴着耳麦,上面有总体控制,还有软件的要求。回过头来结束我的演讲之前,我跟大家再回溯一下,我从一个字开始,生成一个模型叫做魔幻三角形,再把这个三角形动态化,把它丰富一下,跟大家分享一下里面的精神、经验。再把这个三角形做成立体,在立体里面,作为项目经理,作为一线的管理者,我觉得要去学会倾听,如何让你的团队达到和谐,学会观察、倾听,因为项目不同的角色当中,像不同的英雄,一定要倾听。
各位来宾早上好,我是IBM Rational华东区资深技术顾问华琦,今天我给大家讲故事是西游记里面的师徒四人帮助途经的国家开发软件,在近2000年的时间里面所向匹敌。那Jazz又是什么呢,让我们来看大屏幕。
把Jazz通过半天的时间在公司里面安装起来,之后就可以使用了。我们Ajax这个开发流程是一种敏捷的开发方法,采取了迭代式的方法,将我们的项目分成多个里程碑进行开发,每次都可以快速的交付使用。这个版本1.0以后进行投入使用,正在进行2.0的开发工作,2.0的开发工作也是分多个迭代,现在已经分成2.0的迭代2,项目经理首先会察看整个项目的进度和工作的情况,然后开发人员去编写代码,完全之后,通过集成构建把这个系统完成。之后客户就会使用这个迭代开发的结果,2.0就会交付使用,在使用的过程当中,女儿国的国王就是客户他会看看自己的网站,也会看别人的交易网站,他会提交新的需求,提交需求之后,项目经理如何把这些需求最快的纳入流程当中,最快的开发出来,下面我们就看看如何协同开发的。
在开发之前,我们先看看RTC内制的多种快捷开发流程,也可以把自己公司的流程纳入其中,可以在工作当中不知不觉的把这些流程执行下去,执行标准化。通过RTC,可以完成各种工作的计划和工作量和进度。因为现在已经到了2.0迭代的尾声,我们可以看到它的整体情况,也可以按照负责人工作分类进行察看,现在就可以看到每个人的工作进度情况,红孩儿的工作都已经完成了,沙僧了工作还没有完成,现在沙僧正在进行悄悄话的开发,所以你可以直接在开发工具当中察看相关的工作信息,比如帮助开发人员来安排自己的优先工作,根据优先级配置的工作任务,在Ajax的流程下进行编写代码。代码完成以后,对该工作进行提交,将工作任务和相关的代码联系起来。修改完成以后,它可以到工作任务当中把这些任务自动的或者是手动的状态改成已解决,其他的同事就知道最新工作情况。
下面将第二个工作情况改成已解决。代码完成以后,集成人员对所有的成员提交上来的代码进行集成构建。RTC里面,有构建管理功能,对脚本的集中管理,保证项目定义执行流程化,同时得到每次构建包含的工作任务和相关代码的追踪关系。现在集成人员要对迭代2进行继承管理工作。在RTC当中做定时的工作,选定一个对象,点一下鼠标就可以发送请求。构建是一个端到端的流程,它从获取编取的代码、分析、单元测试,到性能测试,从而提高每次构建的质量,定位每次存在的问题,现在发现单元测试有问题,可以在RTC当中直接提交一个,有关构建失败的信息,他会自动的进行填写,相关人员可以解决相关的问题。现在客户要通过RTC Web界面来解决问题,它不仅要协同内部,也包括客户和其他的参与者,通过Web2.0的技术,可以掌握创建的时间和需求,并在此基础上进行沟通和协作。女儿国的国王正在浏览小人国的交易网站,他发现有一个爱情测试功能不错,也希望把这个功能装进你的系统里面,来创建一个Web2.0的,他首先把这个设备设为高,现在项目经理要进行迭代3的计划,他可以将很多的任务进行很方便的托拉。孙悟空最新创建的记录查询,看有没有新的客户需求,看到有一个爱情测试,所以进行点击详细的查询。他把需求交给沙僧去做,在RTC当中可以把这个任务脱拉到迭代计划当中,放到沙僧的列表计划当中,同样还有上次的缺陷,所以也把这个缺陷托到沙僧的计划当中,这样就实现了更新。下面沙僧就要开始爱情测试的功能开发。RTC当中通过多种方式察看自己的团队和自己工作进度情况,也有专门的我的工作区来察看自己管理的负责工作任务和需求。开发人员转到我的工作区,看看当前的工作列表,在这里,他可以看到迭代当中需要完成的工作和需求,继续编写代码。完成后起交,代码和工作任务相关联。
在RTC当中,看代码的修改历史和原因,你还可以通过代码行标识的颜色来看改动的时间和顺利,并看修改人和修改的原因。修改完成之后,构建人员就可以对迭代3进行集成构建,RTC当中提供了多等级的建设,都可以定义不同的构建漏乘。Video中八戒要进行集成构建,通过对构建的统一管理,可以大大降低集成的风险。本次构建成功了。同时RTC当中对报告等功能给予强大的支持,帮助工程人员和项目经理了解每次的详细情况,判断质量和是否要发布,下面项目经理就需要察看详细的构建信息。打开构建记录,察看详细的记录,构建记录不见包含构建的成功和失败,也包括完全工作任务和查询,在这次构建当中,他完成了爱情测试这个功能,你可以打开爱情测试功能,看到他改动的相关代码,还可以比较代码的差异。RTC Web界面还提供一个协作的模式,不仅提交新的需求,看完整的项目进度,根据个人的要求来定义一些相关的信息进行集中的展示,同时还提供客户和团队之间对需求、工作任务的讨论,并且记录的工作。通过RTC Web界面,我们可以察看项目的详细情况,在这里,还可以看到每个小组成员的工作任务和进度,包括他已完成的工作量,工作任务和修复的缺陷等信息,还通过多种方式定制查询。再去看一看项目的仪表板,模块完成的情况跟工作任务的完成情况等一目了然。那么在RTC的帮助下,我的架构网就非常简单的完成了。现在他们公司进入了项目管理能力为核心的时代,将软件开发变的可控可见可预测,大家都对前途充满了信心。
