|
前言
CMM(软件过程能力成熟模型)的主要思想很清楚,标准的条例也很明确,但如何达到这种标准的可操作性比较差,可参考的、可借鉴的具体实施步骤比较少。
国内的绝大部分软件企业目前处于CMM的初级阶段,没有基础和经验。在实施CMM的过程中,往往感到迷茫,不知从何处下手。本文讨论软件企业实施CMM或通过CMM评估所必须经历的步骤,希望能起到一个抛砖引玉的作用,软件企业实际实施CMM时,可以根据自身的实际情况和具体要求加以应用。
1、提高思想认识
近年来,随着国民经济持续增长,作为高新技术的软件产业虽然发展很快,但和国外同行业相比仍存在很大的差距。究其原因,投资环境、人才和技术固然是制约因素,但我们认为,管理和政策显得更为关键。随着电子信息产业的发展,人们已经逐步认识到,软件是促进我国电子信息产业发展的关键技术。而要发展我国的软件产业,在战略上,必须将软件产业作为我国高新技术产业的龙头和国民经济发展的新增长点,在策略上,必须走软件过程管理专业化的道路。
CMM在中国的实施,从整体上看处于起步阶段,很多软件公司对ISO9000了解较多,也有很多公司都通过了ISO9000认证。相对而言,了解CMM的就不多了。具备一定规模的软件企业,对CMM非常感兴趣并表示了极大的关注,有部分公司也在积极实施CMM,但正式推行CMM需要在人力和经费上增加投入,一般的软件中小企业有一定困难。
根据全球软件销售额数字分析,今后几年软件和信息服务的市场规模将有一个巨大的发展。然而中国这样的一个大国,软件销售额还不到世界市场的0.5%。我国软件企业除少数几家在500人以上外,多数是在50人以下的民营、集体和个人的软件公司。以开发技术和规范化程序来衡量,总体上仍是相当落后的,大多数企业仍为手工作坊式制作,产品缺乏市场竞争力。因此,软件过程管理已成为发展我们软件产业的一个关键性问题。我们希望企业通过使用CMM模型,一个等级一个等级地去提高自己的软件开发及生产能力,提高企业的整体水平。
实施CMM对软件企业的发展起着至关重要的作用,CMM过程本身就是对软件企业发展历程的一个完整而准确的描述,企业通过实施CMM,可以更好地规范软件生产和管理流程,使企业组织规范化。而且,只有在国际市场取得成功的产品和企业才具有长久的竞争力和生命力,由于CMM已获得国际企业和用户的广泛认可,因此必须在软件企业实施CMM。
2、进行CMM培训和咨询工作
任何一个软件企业要想实施一先进的管理措施,首先应该做的就是理论基础的建设,作为一个过程式管理方法的CMM,同样也不例外。
根据CMM模型的要求,一个项目的开发一定要有章可循,而且要做到有章必循,这两点都离不开培训。培训工作需要投入很大的人力、物力和财力,只有企业的管理人员和软件开发人员对CMM真正了解和认识了,自觉地按CMM的方法去进行工作,才能真正实施CMM,而不是一时应付,做表面文章。
培训的内容需要精心地准备,主要有两个方面,第一,对所有员工包括经理在内的最基本的软件工程和CMM培训知识;第二,对各个工作组的有关人员提供专业领域知识等方面的培训;此外,在每次开发过程中,还要对普通人员进行软件过程方面的培训。
培训的方式有很多,第一,向有关专业培训咨询机构进行咨询。这些培训公司为CMM知识的导入起着主导作用,他们来源于各种背景,有国家有关研究所、相关协会、大学、原ISO9000咨询公司、新创办的CMM咨询公司、实施过CMM的企业等,但这些培训咨询公司主要集中在北京、上海,尤其是北京。在此,我们建议其他省市,特别是被批准为"国家软件基地"的城市,应加大力度,竭力扶植有关咨询培训机构。
第二,利用互联网资源进行咨询和培训。例如,可以利用Internet下载有关学习资料和别人的经验,可以报名参加CMM网校(http://www.21cmm.com,http://www.21cmm.com )进行系统的学习。
第三,聘请有关CMM专家到企业实地指导CMM的实施。企业职工可在被指导过程中逐步掌握CMM的要领和实施过程。值得注意的是,企业可以在最开始阶段聘请一位经验丰富的CMM专家,但以后一定要培养自己的专家,这样不仅能节约开支,还能使企业自己具有一个对CMM深刻理解的、有实践经验的专家,为企业今后的继续升级打下一个良好的基础。
3、确定合理的目标
CMM模型划分为5个级别,共计18个关键过程域,52个目标,300多个关键实践。每一个CMM等级的评估周期(从准备到完成)约需12-30个月。无论一个软件企业的软件过程处于什么样的水平,都可以在CMM框架的5个级别中找到自己的位置。CMM框架的不同级别是针对处于不同管理水平的软件企业制定的,一个软件企业实施CMM,首先必须了解自己的管理现状,对照CMM的级别,找到自己在CMM中所处的位置,然后有针对性采取与自己所处级别相适应的措施,使企业迟早纳入CMM的进化阶段,使软件过程管理早日得到改善,最终达到提高软件质量,获取经济效益的目的。
因此,要实施CMM,首先应该对本企业的现状有一个准确的评估。企业目前处于什么水平,企业发展的问题是什么,借助CMM要达到的目的是什么。然后再结合企业的实际情况选择CMM的切入点,确定总体目标。这个目标包括在多长时间之内,需要投入多少人力、物力和财力,要达到哪一级。
由于软件过程的建立和改进是一个渐进的、分轻重缓急的、逐步完善的过程。所以,在总体目标已经确定的前提下,还要制订近期目标和长期目标。
4、成立工作组
企业针对CMM的实施,应成立专门的CMM实施领导小组或专门的机构。CMM的实施需要有强有力的组织保证,领导层必须真正学习理解软件过程管理和改进的重要性,亲自领导和参与,要保证过程管理的人员配备,抽调企业中有管理能力、组织能力和软件开发能力的骨干人员,确实把此项工作当做企业生存和发展的大事来抓。
在CMM的实施过程中,工作组的成立是CMM的一个关键步骤。有几个重要的组织是必不可少的,这些组织包括软件工程过程组、软件工程组、系统工程组、系统测试组、需求管理组、软件项目计划组、软件项目跟踪与监督、软件配置管理组、软件质量保证组、培训组。
软件工程过程组是由专家组成的组,全心全意推进组织所采用的软件过程的定义、维护和改进工作。软件工程过程组统领CMM实施活动,协调全组织软件过程的开发和改进活动,制定、维护和跟踪与软件过程开发和改进活动有关的计划,定义用于过程的标准和模板,负责对全体人员培训有关软件过程及其相关的活动。
软件工程组负责一个项目的软件开发和维护活动(即需求分析、设计、编码和测试)的团体。
系统工程组是负责下列工作的个人(既有经理又有技术人员)的团体;规定系统需求;将系统需求分配给硬件、软件和其他成分;规定硬件、软件和其他成分的界面;以及监控这些成分的设计和开发以保证它们符合其规格说明。
系统测试组是一些负责笄和完成独立的软件系统测试的团体,测试的目的是为了确定软件产品是否满足对它的要求。
软件质量保证组是一些计划和实施项目的质量保证活动的团体(既有经理又有技术人员),其工作的目的是保证软件过程的步骤和标准是否得到遵守。根据文档化的规程制订软件项目的SQA计划;参与项目软件开发计划、标准和规程的制订和审查;评审软件工程活动,以检验一致性;定期向软件工作组执行其活动结果;根据文档化的规程对在软件活动和软件工作产品中所找出的偏差建立文档;与客户的软件质量保证人员一起对软件质量保证组组的活动和调查结果进行定期审查。
软件配置管理组是一些负责策划、协调和实施软件项目的正式配置管理活动的团体(既有经理又有技术人员)。维护配置管理库、控制变更;入库检查,出库登记;编写项目各个阶段的配置管理报告;制定项目阶段配置管理计划;管理项目中确认的要配置项。
培训组是一些负责协调和安排组织培训活动的团体(既有经理又有技术人员)。通常这个组织负责准备和讲授大多数的培训课程协调其他培训方式的使用。 |
|