技术开发 频道

软件过程改进“法宝”

【IT168 技术文章】

    国际学术界和工业界一致公认,软件产业的发展将经历三个不同的阶段。第一阶段是70年代中期至90年代中期的软件结构化生产阶段,该阶段是以结构化分析与设计、结构化评审、结构化程序设计以及结构化测试为特征。从80年代中期开始,软件生产开始进入以过程为中心的第二阶段,以个体软件过程PSP(Personal Software Process)、过程成熟度模型CMM和群组软件过程TSP(Team Software Process)为标志,这个阶段预计在2005年前后结束。而从1995年开始,国际上已经逐步进入以软件过程、面向对象和构件重用等三项技术为基础的软件工业化生产的第三阶段。

    而我国目前尚处在软件结构化生产阶段,刚刚开始向以过程为中心的第二阶段过渡。尽管国内的一些大型软件企业已经开始轰轰烈烈地搞起了基于CMM模型的过程改进工作,并取得了一定的成效,但更多的企业对过程改进的认识还不是很清楚。

    不可忽视的误区

    企业的软件开发能力取决于该企业的软件过程能力。如果一个企业软件过程能力越成熟,那么该企业的软件开发能力就越有保证。大量的实践经验表明,在体现企业软件开发能力的因素中,技术或工具并不是第一位的。其实,许多问题不是出在不懂怎么做,而是没有安排做,做的次序不对,或不知道怎样做得更好。

    目前,比照软件过程管理模型(如图一),中国的软件企业中还存在各种影响过程改进的因素和误区,主要表现在个体和组织两个方面。

    在组织方面,首先,中国软件企业实施CMM往往缺乏高级管理者的支持。其次,没有足够的SEPG资源。从很多情况考虑,SEPG成员要比其他CMM相关组综合素质高一个层次,CMM相关组的管理素质需要比技术类组高一个层次,才能顺利开展工作。第三,没有合适的先行者或者没有适当全局观的项目经理配合。被组织选为先行者的人员经常说自己没有时间,由于这些人都是从各个项目中抽出来的,一般人很难有足够的权力让他们为配合CMM做工作。最后,软件组织缺乏足够详细的项目计划和监督调整机制。

    在个体方面,首先,手工作坊式的个人英雄主义情结成为实施CMM的制约。其次,某些软件开发人员错误地认为过程管理会影响或压抑专业人员的创造性,其实这是不清楚过程的定义造成的。第三,由于软件项目的成功更多地依赖于少数人员的杰出技术能力和项目管理能力,成功项目的经验不能得到最大限度的继承,软件生产的可重复性相对比较差。最后,软件企业人员变更相对频繁也增加了实施CMM的难度。

0
相关文章