
| 出版日期:2004-08-09 总期号:1337 本年期号:58 |
|
发掘软件最大的潜质
罗峻
软件工程与CMM标准之父、美国科学院院士、美国卡内基·梅隆大学软件工程研究所(CMU SEI)执行所长 7月15日,北航软件学院与美国卡内基·梅隆大学握手联姻,中国首个软件高级营销与项目管理硕士专业正式亮相,软件工程与CMM标准之父安吉尔.G.乔丹博士亲自为此揭幕。 这位美国科学院院士、美国卡内基·梅隆大学软件工程研究所(CMU SEI)执行所长为大家诠释了他对软件的理解。 做尽可能完美的软件 “作软件时,我们要达到的目标,就是从零开始,做尽可能完美的软件。它没有缺陷,按时,并按照以前预计好的成本开发出来。”安吉尔.G.乔丹博士如是说。1984年,成立了美国卡内基·梅隆大学软件工程研究所。这个研究所成立的目的是为了改进软件工程的实践,而且主要是为美国的国防部、美国政府和美国工业界服务。 CMU SEI的宗旨是软件要可预测,除了做得更好更快,还要成本低廉。因此采用以下的三个手段:第一是在开发早期,要使用现代的软件工程,即系统工程的一个方面。在做代码之前,要把所有重要的决策都做出来,这样可以降低成本和时间;第二是重用每一样东西,如重用代码等;第三要保证同一个错误不可以犯第二次。 那么,这样的做法和所要达到的最终目标有怎样的关系呢?安吉尔.G.乔丹博士认为,企业有60%到80%的时间和资金都花在系统的设计上,而作为重要的部分——系统测试花的时间和资金却很少。这是不合理的。中国的软件产业发展得非常快,如何提高软件开发的速度是摆在我们面前的一个问题。SEI有一个工作平台,能够把技术与管理结合起来。还有一个重要方面就是CMMI。事实上,任何软件企业都必须把足够的精力集中在这些问题上。 TSP:团队软件过程 SEI的信息都是公用的信息,简单归纳一下,SEI的一个战略目标就是要创建和应用,且放大新的软件工程的一些方法,并得到企业的采用。纵观软件的开发过程,有一些因素需要考虑,包括要改变你现在的软件工程行为,要建立一些非常能干的工作团队和树立团队意识。其中有几个变换步骤要遵从:一个是要建立质量的概念,软件的问题一定要找出来,了解用哪些因素能够尽量改进它。另外,你的最后目标一定要可度量,而且要非常地精确。除此之外,前端的经理一定要负责任,要提供一些可以改进的资源。最后,还要建立所有项目的优先级,提供一个持续的相互管理。 安吉尔.G.乔丹博士向大家强调:“软件项目的三个要素就是过程、团队和人。对于过程,可以使用CMM或者CMMI;对于个人,要取得很好的成绩,也可以使用CMMI的一个软件过程;要取得团队一个最好的效果,可以使用TSP,就是团队的软件过程。” 究竟什么是过程?过程是一系列的实践,是为了达到一个目的的实践,包括工具、方法、材料和人。那么为什么要注重这个过程呢?安吉尔.G.乔丹博士表示,过程应该比技术更重要,比人还要重要。技术和人都是必要条件,但不是充分条件,可是过程既是必要条件,又是充分条件。系统的质量,非常大地受到过程管理的影响。在这个意义上,制造业和软件的生产和设计是十分雷同的。因此,团队的软件过程非常重要。 CMMI:各个进程的关键元素 CMMI自出道以来,它所达到的目标就没有变过,第一个是质量,第二个是时间表,第三就是要用最低的成本。不过特别强调的是,CMMI不是传统的、仅局限于软件开发的生命周期,它应该被运用于更广泛的一个范畴——工程设计的生命周期。TSP的建立,也是为了支持CMMI的这样一个系统。 那么CMMI究竟是什么呢?它并不是一个过程,也不是告诉你怎么去做一件事情。如果用一句话来概括什么是CMMI,它就是各个进程的一个关键的元素,在很多领域里面一个集成的点。它是这样的一个基本架构,能够用来度量你的有效性和实用性;能够找出这样的一些机会,继续改进的机会,包括在商业目标、策略还有降低项目的风险等方面。 CMMI与CMM的区别呢?CMMI即CMM集成,是系统工程和软件工程的集成成熟度模型,CMMI更适合于信息系统集成企业。CMMI是在CMM基础上发展起来的,它继承并发扬了CMM的优良特性,借鉴了其他模型的优点,融入了新的理论和实际研究成果。它不仅能够应用在软件工程领域,而且可以用于系统工程及其他工程领域。 而项目管理作为项目的一个核心内容,又是如何定义的呢?有一个非常学术的定义,主要有几个要素,第一是由人来创建一个非常独特的产品服务;第二是用有限的资源来做这件事情;第三就是需要计划、实施和受控来执行。 现在的软件已经是软件密集型的系统。而整个系统是一个一体化的系统,包括和操作商、设计商、开发商等等一起来运行它。要避免软件项目的失败,管理的团队和管理的人员是最重要的。而导致软件项目失败的原因,包括时间不合理,人员不合理,还有经常性的需求改变,以及做出来的软件质量不高等因素。而如果能把项目目标量化、可以评估的话,就可以达到预期的目标,否则就会降低整个项目的成绩。 |
|||||||||||||||||||||||||