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

2009-02-23 来源:网络

 

(1)Q:CMM的评估方法是怎样的?

A:基于CMM 的正式评估有一个专用的名称:CBA IPI (CMM Based Appraisal for Internal Process Improvement – 用于内部过程改进的基于CMM 的评估)。如果用一句话来介绍这种评估活动的话,可以这样说:它是通过抽取一个组织中的采样数据和信息,通过文档审阅、同组织中各个不同角色的人员以访谈、讨论的形式获取数据和信息,对这些收集到的信息进行整合、分析、确认,形成最终的结果。正式评估之前的一段时间,通常还会组织预评估(Pre-assessment),绝大多数SEI 授权的主任评估师都会采用迷你评估(Mini-assessment)的方式。

下面详细一点地介绍这套评估方法。评估过程中的活动可以分成2 大类:前现场活动(Pre-On-Site Activities)和现场活动(On-Site Activities)。

★ 评估小组:每次评估的时候都需要有一个评估小组,人数大约是4-8 人。其中组长由SEI 授权的主任评估师担任。对于级别高(如4 级或5 级)的评估,往往需要2个主任评估师共同参加。其他的人员多数来自被评估的公司内部,SEI 这样要求主要是希望将来评估的结果能够更容易被公司大多数人接受。不过,如果评估结果不好,对于来自被评估公司内部的评估小组成员可能是很痛苦的。至于说这些人是否能够在评估中保持客观性是至关重要的,这个方面可以由主任评估师来保证。另外,评估小组成员的知识技能背景会对评估结果产生显著的影响,因此要求评估小组成 员熟悉CMM。

★ 前现场活动:前现场活动实际上也是在现场完成的,只不过更多的是在正式评估开开始前要完成的工作,一般是在预评估最后的时候完成,主要包括识别评估范围、制定评估计划、填写成熟度问卷等。其中识别评估范围对被评估的公司非常重要,这项工作主要分为2 个方面:一是在公司的什么范围进行这次评估,是整个公司还是其中某些部门?二是这次评估评的是CMM 几级?要知道,如果我们确定这次评估是2 级的,那么对于3 级和更高级别的KPA 在评估中根本不予考虑。不存在这种可能:我们先在整个公司范围进行评估,如果发现某些部门做得不好,就从评估范围中剔除,退一步可以评几个部门的。在正式评估的时候,评估范围是不允许调整的。成熟度问卷是SEI 提供的标准问卷,但现在几乎所有的主任评估师都不把它看成是一个重要的工作,因为该问卷基本上就是把模型中的要求用陈述句换成了一般疑问句,几乎所有答卷人都能够判断出来填“是”会比其他的选项要好,于是这份问卷地变成了一种形式。唯一被认为有价值的东西是问卷中每个问题后面可能更多填写的补充或注释。

★ 现场活动:现场活动遵循SEI 要求的标准流程执行,如图2所示。

其中,重点要说的是访谈和评级的过程。访谈是整个评估工作中非常重要的一个数据来源。参与访谈的人员一般分为3 种类型:项目经理、中(高)层经理以及功能区域代表。中(高)层经理就是直接听取项目经理汇报项目情况的管理人员,他们可以在项目组出现无法解决的问题时负责协调和处理。功能区域代表是具体的实践人员的代表,包括系统分析设计人员、编码人员、测试人员、配置管理员以及质量保证人员等。对于项目经理,需要进行单独的访谈,会根据评估要考察KPA 一一提出问题,每个人平均约有1— 2 个小时的时间。中(高)层经理和功能区域代表分成组来参加访谈,回答相应的问题。评估小组的成员在访谈过程中会做笔记,参加访谈的人员基本上就是根据自己亲身经历如实介绍情况即可,因此回答是没有标准答案的。不过很多参加访谈的人员会感到非常紧张,特别是单独接受提问的项目经理们,曾经有的项目经理正在回答一个问题的时候,说着说着突然停下来问:“你刚才问的问题是什么来着?”其实大可不必,因为评估小组会严守保密性的原则,首先不会向任何人透露谁说了什么,在评估工作结束后还会销毁所有的纪录。在评估中每天访谈工作结束之后,评估小组根据所记录的笔记进行整理和分析,和CMM 的每条关键实践分别对应,写出根据所发现的情况作出的结论(这样的结论性语句称为“观察项”)。

在所有的评估活动中,大家最关心的恐怕就是评估的结果是如何确定的了。其实有了评估时前面数天的成果,最终的结论是很容易做出的。评估小组根据作出的一条条观察项,逐条检查用词是否合理恰当,是否得到了多个数据来源的反复确证,是否有不同观察项之间存在矛盾的情况。如果这些观察项都得到了检查并被确认无误,评估小组会对找到的不足之处(发现的弱点)进行分析,看是否对KPA 下面的目标实现有显著的影响。评级的思路可以参见图3:

在CMM 中,每个KPA 下面都有若干个目标,并有数条关键实践与目标对应。如果一个目标对应的关键实践没有明显的弱点阻碍该目标的实现,则认为该目标得到了满足。如果一个关键过程区域下面的所有目标都满足了,则该KPA 也就是满足的。当某个成熟度级别之下所有的KPA 都是满足的,则被评估的公司成熟度级别就是此级别。这句话必须要正确的理解:一方面,如果一家公司希望成为CMM 3 级的组织,则必须在评估中把2 级和3 级包含的所有关键过程区域都做到满足才能实现这一目标。另外,即便某家公司已经在正式评估中达到了2 级的要求,一段时间后该公司希望进行3 级的评估,2 级的内容同样要在评估中检查。另一方面,举个极端的例子来说,如果一家公司做3 级的评估,评估结果是3 级的所有KPA 均得到了满足,但2 级中如果有不满足的KPA,则该公司的成熟度级别为1 级。虽然这情况几乎不可能出现,因为如果该公司2 级有做得不好的KPA,3 级的KPA 几乎不可能全都做得很好。下图是比较常见的一种情况,因为2 级中有没有做好的KPA,虽然是做3级的评估,但结果是1 级(见图4)

★ 预评估与正式评估的区别:参照图2,预评估(即迷你评估)主要的区别在从第六步之后的内容简化成了一步:预评估结果展示。预评估通常作4 天左右,检查的样本数据会比正式评估时少一些。还有一点非常重要的区别是:预评估时不评级,结果中不会提及当前组织的CMM 成熟度级别的情况,但对于所有KPA 下的目标,都会给出一个1-10 分之间的分数。不同的分值代表的意思是:

1-3 分:不满足

4-6 分:部分满足

7 分:基本满足,但有少许不足

8 分:满足

9 分:非常出色

10 分:世界级的实践,非常完美

如果所有被评的KPA 的目标都是7 分或8 分的话,可以说正式评估的结果极有可能是比较乐观的。但如果有目标还在3 分或4 分附近徘徊的话,那可能就需要再经过几个月的时间努力改进,否则正式评估很有可能会得到失败的结果。

(2)Q:ISO 9000 质量体系认证定期需要复审,CMM 是否也是这样?

A:ISO 9000 质量体系认证一般每年都需要复审,但CMM是不需要的。因为CMM 的评估主要目的是找出与被评估企业的软件过程相关的问题,从而使该企业针对这些发现的问题进行企业内部的自发的改进。因此SEI 强调CMM 评估不是一种认证,SEI 也从来没有向任何一家组织发过这样的证书。既然不是认证,就不必进行复审,无论评估的结果是好是坏。目前国内企业在评估之后得到的证书格式都不是统一和标准的,但SEI 授权的主任评估师会在证书上签字,并把评估结果发送到SEI 的数据库中。


火龙果软件/UML软件工程组织致力于提高您的软件工程实践能力,我们不断地吸取业界的宝贵经验,向您提供经过数百家企业验证的有效的工程技术实践经验,同时关注最新的理论进展,帮助您“领跑您所在行业的软件世界”。
资源网站: UML软件工程组织