UML软件工程组织

实施基于SW-CMM 软件过程改进前的常见问题解答——实施时间方面

 

2008-10-08 来源:网络

 

(1)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个月的稳定运行期)。除非有专业人员深入了解企业现状,可能会根据实际情况作少量调整。

(2)Q:根据我们对于CMM初步的了解,我们认为已经基本达到了2级的要求,可不可以直接从3级开始实施?

A:对于绝大多数从未做过软件过程改进的企业来说,这个问题的答案是否定的。很多企业的高级管理人员常常觉得CMM 2级根本不值得一提,在实施的时候完全可以忽略不计,一上来就直接考虑三级。这通常有两种原因,一是还没真正了解CMM 2级核心的要求。他们觉得项目管理不就是做做计划、定期开开会什么的;配置管理不就是版本控制嘛;质量保证?简单,找几个测试人员就齐了;需求管理就更不在话下了,我们公司哪个项目没有需求调研?哪个项目没有需求文档?至于说子合同管理,我们公司没这回事儿,不用做了……就这样,二级自然不在话下,三级还有点意思。可其实呢, CMM对于软件过程要求得很细,我还从来没有看到过一家公司的软件开发和管理流程一开始就和CMM的要求十分吻合。另外一个原因就是,这样的企业根本就没有通过量化的手段进行真正意义上的管理,很多项目的实际情况作为公司的高层实际上是完全不了解的,而这样的企业恰恰应该从CMM 2级认真做起。因此CMM 2级的6个关键过程区域都是为基本的项目管理提供一个基础,特别是建立起初步的度量体系,从而进行量化的项目管理,这对于建立高级别的关键过程区域非常有用,如果跳过CMM 2级直接去做3级,就会像地基没有打好就盖房子一样。