随着国务院第18号文件明确鼓励软件进出口型企业通过国际质量方面的认证,并在省市政府、科委以及软件园发布鼓励政策的大力配合下,越来越多的企业希望改进软件过程来提高企业的竞争力。虽然很多软件企业得到了ISO 9000质量认证,但ISO 9000不是专门为软件企业设计的,因此有些地方不能真正为软件企业解决问题。最近,越来越多的软件企业希望通过实施基于CMM的软件过程改进提高自身竞争力,原因就是CMM是专门为软件企业设计的。
那么什么是CMM呢?
CMM是指“软件能力成熟度模型”,其英文全称为Capability Maturity Model for Software,英文缩写为SW-CMM,简称CMM。CMM的定义是:对于软件组织在定义、实施、度量、控制和改善其软件过程的实践中各个发展阶段的描述。CMM的核心是把软件开发视为一个过程,并根据这一原则对软件开发和维护进行过程监控和研究,以使其更加科学化、标准化、使企业能够更好地实现商业目标。CMM分成了5个成熟度级别,其中任何软件企业都可以认为是成熟度级别为1级的组织。换句话说,1级的企业在软件过程方面有很多问题。随着成熟度级别的升高,企业的软件过程能力越强。
但是,俗话说:“万事开头难”。对于很多企业的决策层,在启动CMM改进项目以前,特别是向CMM 2级前进的时候,往往会有各种各样的问题和困惑,也会有各式各样的错误理解。比如:在CMM实施前和过程中经常会出现什么问题?这些问题应该怎么面对和解决?在CMM的实施过程中应该有一个什么心态等等。这些问题在下面的文章中您都可以找到答案。我将对一些CMM实施过程中最常见的、决策层最关心的问题给出一些观点、解释和建议,希望能够通过这篇文章使大家对CMM的认识再上一个台阶,对今后想实施CMM的企业有一个初步的指导。
关于实施时间
Q:我们公司已经决定按照CMM 2级的要求实施过程改进,最快需要多久达到2级的水平?
A:这个问题就像一个病人充满希望地向医生询问:“你看我的病什么时候能好?”。虽然这是很多准备实施CMM的企业非常关心的一个问题,但是这个问题让任何人都会感到很难回答。这是因为过程改进所需要的时间与很多因素有密切关系,特别表现在以下方面:
★ 企业决定进行软件过程改进的目标和商业需要(如:改善软件开发管理;提高软件产品质量;降低软件开发工作成本;提高企业在业界的知名度和信誉等):不同的目标需要不同的工作方向去实现,改进的难度也不同,必然会影响时间进度。
★ 企业当前的过程情况:一个企业如果在软件开发过程方面已经比较规范,很多过程均已得到了良好的定义,并形成了文档,质量保证体系也很完善,则达到CMM 2级的要求应该容易一些,相对来说改进的时间也能够短一些。
★ 企业实施的范围:一个企业的哪些部门实施基于CMM的过程改进,或者说涉及过程改进的人员有多少,会影响时间进度。可以说,实施的范围越小、涉及的人员越少,实施越简单,时间越短。
★ 企业的文化:对于一个存在多年的企业,变化对它来说可能是非常困难的;一个企业是否愿意主动去接受变化,很大程度上将影响过程改进的难度和进度。通常情况下,一个刚成立不久的公司,实施过程改进的阻力要小得多,这就是“船小好掉头”的道理。
★ 将来要作为试点项目的周期:一般情况下,我们建议一个按照CMM 2级实施过程改进的企业选择3~5个生命周期比较完整的软件开发或维护类型的项目作为试点项目并参加CMM的评估。这些项目可以并发进行,但通常我们希望能有2个左右的项目能够在评估的时候达到试运行或正式交付的阶段。如果企业选取的项目周期都在一年以上,这也会影响进入评估的时间。
★ 10个月左右的时间比较常见:根据SEI官方发布的统计报告(截止到2002年8月份),从大多数进行评估的组织情况来看,组织从1级向2级改进通常需要23个月左右,我们可以通过下面这个图表来了解各个向高级别演进所需要的时间。大家不要被这个接近两年的时间吓坏了,这样的平均时间主要是因为大多数国外实施CMM的公司规模都比较大,项目周期也相对比较长。国内大多数软件企业的规模都不大,加上咨询公司的帮助,用10个月左右的时间达到CMM 2级要求还是比较常见的。
★ 实施时间上能不能再短一点呢?任何一个够资格的SEI授权主任评估师都遵从一个原则,一个组织中的过程在定义、形成文档并发布之后,需要一个至少六个月的稳定运行期。因此,可以说一个组织在实施按照CMM 2级要求的过程改进时,至少需要8个月左右的时间(2个月过程以及文档化加上6个月的稳定运行期)。除非有专业人员深入了解企业现状,可能会根据实际情况作少量调整。 (待续)
下期预知:
提示软件企业在资源投入方面应做的准备:人员、岗位及设备工具。
文章来源于领测软件测试网 https://www.ltesting.net/