扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
1 IBM推广RUP这么多年,却被XP极限编程抢走很多的用户,主要原因在哪里呢?
这个世界是一个多元的社会,只有一种软件开发方法存在显然是不合理的,也不利于整个软件工程技术的发展。RUP和XP等敏捷方法都是很好的软件开发方法,各有各的市场。XP强调极限编程,即所有的开发活动都是以编码为中心来展开的,比较附合目前国内很多开发人员的想法,因为他们大部分都是从做一些小型软件开发项目开始的,对传统软件工程的规范要求心存疑虑,担心会大幅增加自己的开发工作量,XP方法的起点比较低,很好地满足了这部分开发人员提升软件开发方法的需求。很多人认为XP要比RUP轻量很多,这是一种误解,RUP也可以变得很轻量。RUP只是提供了一个通用的软件开发流程框架,在将RUP应用到实际项目之前,我们需要根据项目的实际情况来定制RUP,只留下满足项目开发需要的最小集合。但是面对复杂一些的大中型项目,我们就需采用重量一些的流程,这时候XP可能就不太适用了,要解决大型团队的沟通问题,一些正式的文档(如需求、软件开发计划、设计模型等)就必不可少了,各种开发工作也必须更加严格地按照预定义的流程来执行,这样才能够保证团队协作的步调一致。所以我们也有很多的客户在实践RUP,甚至是基于RUP定制出了他们自己版本的RUP,如IBM实验室定制了IRUP(IBM RUP),爱立信定制了ERUP(Ericsson RUP)等。 所以我们看到的是一个合谐社会,既有开发团队在用各种敏捷方法,又有团队以RUP为指导来进行开发。
很多人看到灏如烟海的RUP电子文档就头晕了,但这恰恰说明了RUP的内容丰富,能够满足各种类型项目开发的需要。很多对于RUP的误解都是因为对RUP不够了解而造成的,如:RUP太庞大了,RUP只适合于大项目而不适合于小项目,RUP只适合于新系统开发而不适合于遗留系统的改造等。但实际上RUP是对过去几十年业界最佳实践经验的总结,你总能找到一些适合于你的方法为你的项目所用,关键在于如何来裁剪RUP,要做到这一点要求熟练掌握RUP方法论。武侠小说中的高手是不会拘泥于门户派别的,能为我所用的招式都可以信手拈来,并且根据形势而灵活变化,到了最高境界就是无招胜于有招,一定要区分清楚打的这一拳是少林的还是武当的吗?另一方面,RUP的功能也在不断地发展和完善,例有专门针对SOA应用开发的RUP版本,有专门针对嵌入式系统开发的"RUP for System Engineering"等,跟其他的软件开发流程相比,伴随着软件开发技术与时俱进是RUP的一个很大竞争优势。
我们平时所做的软件开发项目,其中很大一部分是难度不那么高的,有很多项目只是在现有系统上修修补补,这类项目的复杂度不是那么高,所以轻量级的敏捷方法适得其所,经过裁剪的RUP也能成为一种敏捷的开发方法。做复杂的大型软件开发项目,就一定需要非常正式的工作流程和交付件,这种场合就非RUP莫属了,只有大而全的RUP才能胜任这类项目的开发。对任何一家公司来说,必然是既有比较简单的项目,又有复杂的项目,所以敏捷方法和RUP各有用武之地。这就需要开发团队同时掌握这两种方法,这样才能根据项目的情况来决定采用哪一种流程,并且开发人员可以在采用不同方法的项目之间进行流动。从降低学习成本的角度来看,把所有的开发人员统一到一种方法上更好一些,这也是统一开发流程这一名称的来由,并且它是适用于所有类型项目的。从学习的效果来看,与其让开发人员掌握几种方法(但可能对每一种的理解都不深),还不如让他们掌握一种方法。RUP就是降龙十八掌,同样练武,靖哥哥老老实实练降龙十八掌,对敌的时候这几招就管用了;蓉儿杂七杂八学了很多,便没有一样练到最高水平的。
2 比较一下RUP和XP中缺陷管理的区别。
根据目前对XP的了解,这两种方法中的缺陷管理没有太大区别,都需要建立缺陷库来追踪管理所有的缺陷。
3 有人认为“软件企业使用Rational系列产品最大的问题就是成本太高。例如ClearCase的一个License就要5000美金,ClearQuest的一个License报价也在5万人民币。”IBM的产品在帮助中小企业的方面有没有什么新的举措?
我们的客户都是基于 Rational 给他们所带来回报来决定采购 Rational 产品的,没有一个客户愿意花一万元去采购一个只能给他带来5000元回报的产品。另外我们也设计了一些产品促销包来降低客户的采购成本,我们的 ClearCase 产品也提供易捷版 ClearCaseLT 来降低客户进入的门槛。
4 有人认为“维护也是一个问题。Rational系列产品给人总体的感觉就是人性化太差(或许这就是造成业绩太差,以致给IBM收购的原因吧),如果一个软件企业使用 Rational系列产品的话,至少需要培养一个专职的维护工程师,以备随时解决问题,而这类工程师的价位一般也需要在6千大元以上。”IBM是如何看待这个问题,是否有代培维护工程师这方面的举措呢?
纠正一下观点,业绩差的公司是不会有人收购的,就象买股票一样,绩优股才是股民选择的对象。Rational 产品的定位是一个给专业人员使用的开发工具,就象专业照相机必然比我们平时用的傻瓜相机复杂一样,专业工具追求的是性能,同时对使用者的要求比较高,如果你不掌握面向对象分析设计方法的话是不可能用好 Rational 的建模工具的。另外大家对 Rational 产品易用性的某些批评是不够客观的,比如 ClearCase 为我们的客户提供了一个非常高级的统一变更管理流程 UCM (Unified Change Management),这一流程将整个开发团队的开发过程整合了起来,大大提高了客户的软件开发管理水平。但有人会把 UCM 跟其他的版本管理工具相比,而在比较过程中忽略了 UCM 所带来的其他好处,这是不太公平的。想象一下把汽车和自行车相比的话,我们也能得出汽车使用成本高、一但出车祸就会造成更大的伤害等结论。
IBM 收购 Rational 之后一直在改进产品的易用性,包括开发新一代的基于 Eclipse 的桌面工具产品,提供大量的电子自学教程等等。我们也发展了一些培训合作伙伴来为我们的客户提供更多的培训机会。
5 涉外软件企业采用Rational的产品比较多,他们主要是出于什么考虑?
我们国家的软件产业发展方向之一是软件外包,中国的劳动力已经通过制造业出口到全球,我们的一下目标就是要让全球的软件也打上"Made in China"的标识。国外招一个软件开发人员很困难,中国却相对容易很多,并且具有成本上的优势,这几年已经有越来越多的跨国企业在中国设立研发中心,进行离岸软件外包开发。在这种跨地域的合作模式中,必然要求两地的团队统一在同一个开发平台之上,否则就会出现鸡同鸭讲的沟通问题,RUP在这里扮演着越来越重要的角色。
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者