软件企业导入CMM在时间、精力、资金等方面的投入都是非同寻常的。从准备阶段开始,咨询、预评估和评估及接待费用,CMM知识和软件工程技术培训费用,规程、规范、指南、管理办法等标准文件编制费用等一系列过程改进的费用很大,对中小型企业是一个不小的负担。因此,根据我公司具体情况,我们把导入CMM过程分成两个阶段。
第一阶段是企业自己组织CMM培训,结合项目开发的需要和自身能力,分期分批地将CMM 2 级的6个KPA在项目组中试点,取得经验后再在其他项目组全面贯彻实施。这样以较少的花费提高了管理人员和开发人员的过程管理意识,初步积累了实施CMM的经验。
在第一阶段取得收获基础上,我们在第二阶段聘请北京航空航天大学软件工程研究所和北京赛柏科技有限责任公司为咨询顾问,开始全面实施CMM,并在咨询专家的指导下准备组织预评估和正式评估。企业采用这种模式导入CMM有助于培养企业自己的过程管理人员,为CMM向更高的等级发展奠定良好的基础。
组织机构是过程改进的保证,软件企业要导入CMM首先要对原有的组织机构进行重组,这需要得到公司高层领导的绝对支持。我们重组了公司的管理体系,按照CMM的管理框架建立了SEPG、SQA、SCM等管理监督机构,协调好他们与软件工程组和测试组之间的关系,即相互配合,又保证其独立行使各自的职责。
在软件过程改进进程中,要首先深入分析企业的现状,找出困扰软件开发的主要因素,有针对性地逐步整改。要充分认识到,企业内部一些不合理的开发模式是多年来形成的痼疾,不可能靠发布一些规范就能轻松解决,在实施CMM规程时要根据企业的具体情况,由易到难,由粗到细,由松到严。在选择引入CMM管理的试点项目时,要考虑到开始时软件人员对过程管理的不适应可能对项目开发造成的影响,要选择开发时间相对充裕的项目进行试点实施,以避免由于工程进度的压力而放弃管理规范,使得CMM的过程管理流于形式。
中小型软件企业在导入CMM之前,开发过程的管理水平都很薄弱,各层管理人员大都是技术骨干出身,经过若干年的开发实践形成了自己的一套管理方法和思路,要改变原有的工作习惯是一个艰难的过程。在实施CMM管理体系时要首先统一全体开发人员的思想,组织开发人员逐步深入地进行CMM的系统培训和讨论,使他们真正理解CMM管理过程的每个关键实践的含义,不光要知道做什么,还要领会为什么这样做,否则会产生哪些不良后果。切忌简单地以行政命令强制推行CMM管理,招致开发人员的反感和抵触情绪,这只能导致CMM实施的失败。在导入CMM的过程中,公司高层领导和项目经理的支持是成功的关键。只有得到公司高层领导和业务骨干的有力支持,才具备开展CMM的资源和条件。有了这两类人员的支持,CMM的实施就有了保障。