CMM软件过程改进前

发表于:2007-06-04来源:作者:点击数: 标签:cmm过程改进软件
有关ISO与cmm的比较 Q:我们已经拿到了 ISO9000 的质量体系认证,这对实施cmm有什么影响? A: 国内软件公司采用的ISO 9000系列质量体系认证通常有ISO 9001的1994年版和2000年版。ISO 9001和cmm非常相似的是,两者都共同着眼于质量和过程管理,而且它们都是
有关ISO与cmm的比较


Q:我们已经拿到了ISO9000的质量体系认证,这对实施cmm有什么影响?


A: 国内软件公司采用的ISO 9000系列质量体系认证通常有ISO 9001的1994年版和2000年版。ISO 9001和cmm非常相似的是,两者都共同着眼于质量和过程管理,而且它们都是基于戴明博士的全面质量管理产生的,因此不存在任何矛盾的地方。但是,它们的基础是不同的:ISO9001(ISO9000标准系列中关于软件开发和维护的部分)确定一个质量体系的最少需求,而cmm强调持续过程改进。在1994年版的ISO 9001中,cmm 2级的6个关键过程区域所涉及的部分,基本上都比较明确的做出了要求;而cmm 3级的7个关键过程区域中所涉及的内容大多数都提到了,但做出的要求不是非常详细。很多实施了94版ISO的企业在了解了SW-cmm以后,普遍反映cmm比ISO的要求明确、详细得多。如果94版ISO实施的效果很好的话,实施cmm 2级工作量是可以减少很多的。而2000版的ISO则更多的和cmm有直接对应的关系,甚至是大量cmm 4级和5级的要求。


目前我看到的大多数已经实施了ISO 9000质量体系认证的软件企业,在实施cmm的时候在以下方面会有一定的优势:


★ 都拥有已经形成文档的程序文件。但因为ISO 9001的高度抽象性,有些程序文件定义的不是很具体,cmm中有些关键实践无法体现,但也有些企业花费了不少精力将ISO 9001的条款和软件工程相关的实践进行了很好的结合,相对来说就能够体现绝大多数的cmm要求的实践。这样的话,按照cmm要求建立过程体系的工作量就可以减少很多了。


★ 对于过程改进的概念已经比较熟悉了。如果ISO实施的比较认真到位的话,过程改进方面的理念应该在企业中比较深入人心,无论是高层经理还是开发人员都会对这方面的工作比较认同和支持。


★ 绝大多数拥有ISO 9001质量体系认证的企业都已经配备了和质量保证相关的工作人员,质量目标、方针和意识都比较明确。


有利就有弊,某些企业如果ISO实施的不是很到位的话,在实施cmm的时候也可能遇到这些问题:


★ 通过ISO 9001质量认证的实施过程,企业过分强调认证本身的重要性,证书拿到之后定义的过程就不再全面、认真地实施了,公司的员工发现过程改进工作变成了走形式、走过场。因此在整个企业中弥漫着一种对于过程改进非常抵触和消极的情绪,绝大多数人员普遍对cmm表示怀疑、信心不足。


★ 高层经理对实施cmm难度认识不足,他们通常会觉得:9000的认证不是很简单么?几个人花上几个月的时间不就搞好了,cmm想必也是差不多的,实施以后公司也没有什么特别明显的效果和收益。于是他们觉得cmm这件事情很容易,不需要花很多的心思和人力就可以轻松过关,这样对于SEPG的过程改进工作难度就很大了。


上述情况对于cmm强调的持续过程改进带来的负面影响是非常巨大的。除了企业过分强调证书以外,产生这些问题的原因还有以下几个方面:


★ cmm分成了5个成熟度级别,每个级别都是更高级别的基础。而ISO 9001要求企业把所有的条款一次性做好,其中当然也包括一些cmm高级别中的类似要求。对于任何一家企业,在刚刚开始进行过程改进的时候,想很好地实现这些要求是非常不容易的。


★ ISO 9001中没有明确的制度化方面的要求,尽管定期地对企业进行复审,但很多企业仍然不清楚到底如何去更好地把这些流程制度化。在cmm中,有4类和制度化相关的关键实践。简单说来“制度化”的意思是:把企业中已经定义好的过程在相当长的时间和相对广泛的范围内保持良好、到位的实施。cmm每个KPA都有关于制度化方面的要求,比如:通过组织方针来约束所有人去遵循过程的要求;通过提供充足的资源和资金、培训以及分配明确的职责来保证大家的使用过程;通过收集数据和量化的分析来判断过程是否仍有不足,如何改进、如何提高过程的效率;通过不同级别的管理人员以及质量保证人员的检查和监督确保大家按照要求的流程去做事等。


★ cmm只关注软件,而ISO 9001有更大的范围,对于制造业非常合适,即使是IT领域,也包括了硬件、软件和服务。因为ISO 9001的咨询师和审计员不一定是软件方面的专家,加上ISO 9001的高度抽象性,审计员可以以不同的方式解释实践的合理性,这就使一些拿到认证的企业仍然是cmm 1级的组织。另外,软件企业实施ISO的过程中,遇到了一些以软件企业角度去理解相关条款的问题时,可能无法从咨询师和审计员那里获得满意的答案。我曾经看到这样一家企业,他们实施ISO 9000 2000版已经半年多了,此时决定实施cmm。我看了他们的程序文件,感觉定义的非常好,项目计划、配置管理、质量保证方面几乎已经达到了cmm 2级的要求,但通过和部门经理、项目经理以及开发人员代表座谈,发现大家实际的做法和过程要求的完全不一样。究其根源,就在于当项目经理和开发人员对于公司流程要求的做法和实践表示不理解或不明白的时候,负责定义流程的人员无法给出令人信服的解释,久而久之,流程的执行变成了形式化的东西。
在所有的评估活动中,大家最关心的恐怕就是评估的结果是如何确定的了。其实有了评估时前面数天的成果,最终的结论是很容易做出的。评估小组根据作出的一条条观察项,逐条检查用词是否合理恰当,是否得到了多个数据来源的反复确证,是否有不同观察项之间存在矛盾的情况。如果这些观察项都得到了检查并被确认无误,评估小组会对找到的不足之处(发现的弱点)进行分析,看是否对KPA下面的目标实现有显著的影响。评级的思路可以参见图3:


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


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


▲1-3分:不满足


▲4-6分:部分满足


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


▲8分:满足


▲9分:非常出色


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


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


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


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


Q:不同国籍的主任评估师资质方面有什么不同?


A:据不完全统计,目前在全球范围内SEI授权的主任评估师有300多位,不过不同的主任评估师在资质上面并不是全都相同。这要从如何成为主任评估师说起:如果要成为主任评估师,除了自身要有相当丰富的软件工程、项目管理等相关知识背景外,还要参加大量的SEI组织的cmm相关知识的官方培训。在正式成为主任评估师以前,必须亲自主持一次正式评估工作,由已经得到授权资格的主任评估师进行考察,如果这次评估工作经过考察没有出现严重的问题和错误,SEI将颁发主任评估师的授权认证。这样的证书在2年内是有效的,有效期内主任评估师可以主持正式评估,其结果SEI认可,也可以监控其他主任评估师候选人主持正式评估的工作。


本来这样的做法可以使成为主任评估师的“门槛”很高,但是还是存在一定的漏洞:如果一个人有个好朋友是主任评估师,他也想成为主任评估师,而他的朋友又不能很好的坚守原则,这样就很容易“混入”主任评估师的队伍。另外,目前很多主任评估师在给客户作评估之前,往往还提供一些相关的咨询服务,这种“既当教练又当裁判”的情况也难免会使一些主任评估师在作评估的时候放松尺度,使得进行过程改进的企业所有的过程改进工作变成了“花钱买认证”,而没有真正从中获益。


基于上述情况,目前国内一些比较有实力的咨询公司为了保证自己的服务质量,也为了能使国内的软件企业在进行基于cmm的过程改进的时候达到真正的效果,在主任评估师的选择上坚持高标准和严要求。他们去请在欧美国家知名度很高、信誉很好的主任评估师来国内主持正式评估工作。这些主任评估师中很多都是SEI首批授权的主任评估师,有些人甚至就是参与制定cmm的人员。这些主任评估师经验丰富,对于cmm的理解非常深刻,而且坚持原则,虽然这对国内的企业来说实施难度也增加了一些,但能够在这样的要求下达到cmm 2级以上的评价才是货真价实的。


还有一点,目前很多国内的软件企业也希望和印度的软件企业一样,通过实施cmm提高自身过程的能力成熟度,以便在海外市场上获得更多的外包订单。这个时候不同的主任评估师也会产生不同的效果。比如,当一家国内的软件企业在和一家美国的企业洽谈外包业务时,告知对方我们已经于某个时间达到了cmm 2级以上的成熟度,对方很可能要了解是由哪位主任评估师来做的评估,如果这位评估师在美国知名度很高,对方可能对这家企业“刮目相看”,后面的洽谈可能就会容易很多。这就像在日常生活中,同样是硕士学位,但知名度高的导师带出来了学生更容易被人接受是一样的道理。





Q:咨询公司对我们实施cmm有什么帮助?


A:目前有不少的软件企业希望通过自身的努力进行过程改进,然后进行正式评估,这是很常见的一种做法。不过,如果希望在实施的过程中困难少一点儿,时间短一点儿的话,最好还是与经验丰富的咨询公司合作。主要的原因在于:


★ cmm作为一个模型,具有高度的抽象性。因此cmm中并没有提出一家软件组织必须如何去做才算是达到了要求,它提出的只是“做什么”。举个日常生活中的例子来说,cmm提出的要求就好像一家公司要求地面要保持清洁,至于是用扫把扫还是用吸尘器吸并不重要。同样对于cmm中的要求,可以有很多种不同的实践来满足。可是,到底什么实践在自己的企业中实施起来既比较有效,还能达到cmm的要求,对于刚开始实施cmm的软件企业来说,这种判断和选择是很难把握的。而经验丰富的咨询公司结合了大量国内软件公司的实践、业内的最佳实践以及主任评估师推荐的实践,帮助企业达到cmm的要求,而且还比较简单易行,实施效果已经经过了很多次的证明,自然能够达到“事半功倍”的效果。


★ 咨询公司对于企业在实施过程中出现的问题经验丰富,可以有效的减少做错事情的可能性。比如高层经理对过程改进不够重视或者有一些误解,特别是资源方面的问题,咨询公司都可以及时发现,并协助参与实施的人员减少随之带来的负面影响。


★ 如果有些企业希望在一个既定的时间目标下达到某个成熟度级别,咨询公司可以帮助实施企业监控进度,对于发现进度落后的情况,根据咨询师的经验也可以及时发现,及时采取纠正措施跟上进度。


★ 如果企业自己实施cmm,还需要自己联系主任评估师,这样在费用上可能会开销很大,咨询公司如果提供评估服务,他们可以根据企业的需求(包括资质和成本等多方面)帮助企业联系到合适的主任评估师,减少企业自己联系的麻烦和额外的成本。
Q:根据我们对于cmm初步的了解,我们认为已经基本达到了2级的要求,可不可以直接从3级开始实施?


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


关于资源投入


Q:按照cmm 2级的要求,我们需要配备什么样的人员和岗位?


A:对于人员方面,一般包括以下几个方面:


★ 软件工程过程组(SEPG): 这个小组是按照cmm 3级的“组织过程焦点(OPF)”这个关键过程区域要求设置的,它专门负责一个组织中软件过程改进方面的组织协调工作。对于一个希望实施以cmm为基础的过程改进的企业来说,在向二级演进的过程中建立这样一个小组是一个非常有效的办法。通常这个小组应该由部分全职和部分兼职的人员组成,全职人员的数量一般占到实施cmm的整个组织人数的2~3%,兼职人员数量不限。SEPG成员应该能够在组织中比较有威望,沟通技能、谈判技能、协调能力比较出众,同时能有较丰富的软件工程方面的背景。SEPG对于过程改进工作可以和其它软件项目一样被看成一个专项小组。


★ 软件质量保证组(SQA):软件质量保证是cmm 2级的一个关键过程区域,cmm要求SQA组应该有独立于项目组的向高层经理汇报的渠道。如果企业过去从来没有SQA职能的人员,那么就需要建立SQA。SQA人数上根据试点项目的数量、规模决定。一般来说,10个开发人员左右的项目最好有一个专职的SQA。SQA可由项目组成员兼职,但我个人并不推荐这种做法。这是因为cmm明确要求SQA要有向高层经理直接汇报的渠道,在出现项目组无法解决的问题时及时向高层反映并寻求解决。如果SQA由项目组成员担任,很可能会失去这种独立汇报的机制,也可能失去客观性。SQA人员也可以来自SEPG,特别是对于过去没有这方面人员的企业,可以通过一段时间的学习并且参与制定相关过程来培养SQA,这样的人员成为SQA后,他们对过程的理解比较深,而且在开始的时候可以协助项目组做一些管理方面的工作,起到培训和示范的作用,很多企业这样做了以后,效果非常好。还有,应该注意的是要充分考虑人力资源的充足性,这也是cmm的要求之一。


★ 软件配置管理(SCM):和SQA一样,SCM也是cmm 2级中的一个关键过程区域,但SCM可以由项目组成员兼职担当。当然,如果能够有一个组织级的配置管理小组专门负责组织中所有的配置管理工作,效果可能会更好。


★ 项目管理:对于任何一个知道如何到位地管理项目的项目经理来说,cmm 2级要求没增加任何额外工作量,但对那些更像是“技术带头人”角色的项目经理来说,增加的工作量还是很大的,特别是大量的管理文档。通常,项目管理的工作量约为整个项目技术活动总体工作量的20%左右。也就是说,一个由5个开发人员组成的项目组中,应有一个专职的项目经理。对于初期管理很不规范的企业,项目经理必须要去适应新的习惯,形成大量文档,如果形成的文档要保证质量,项目经理真正掌握过程中要求使用的方法,那么管理方面的工作量可能会占这个人总工作量的将近一半。


★ 其他相关人员:cmm对于除了项目经理外的一些管理人员做出了要求,但主要是参加一些评审会、通过统计数据进行一些分析方面的工作,额外需要增加的资源投入基本可以忽略不计。对于具体的开发人员,需要严格按照规定的流程去做事,并要留下一定的证据(文档),以便为组织的过程体系和度量体系提供第一手的信息。如果开发人员有良好的工作习惯的话,这部分的工作量增加不算很多,约为原有工作量的5%左右。


Q:我们需要投入多少资源来进行过程改进以便达到cmm 2级的要求?


A:在这里,我们主要从以下几个方面考虑资源的配备:时间、人员和设备工具。对于时间资源,请参照上期的答案。对于人力资源,请参照上文。对于设备工具来说,除了Office和电子邮件工具外,基本上不需要什么其他的工具。但是如果能够使用一个比较完善的配置管理工具,而不仅仅采用操作系统文件目录的方式进行配置管理,配置管理过程相关的工作量减少会比较明显。其他的工具,像问题管理工具、某些流程的管理工具、任务安排、项目管理工具等,在初期实施过程改进时,最好都不要使用,因为在过程未得到完善定义前,使用工具只可能使过程的使用更加混乱。如果过程已经定义好,并且在组织中得到了较广泛的应用,使用一些问题报告工具、项目管理工具会提高工作效率。


另外,对于SEPG工作来说,必要的活动经费是不能忽视的。因为SEPG要学习、研究、宣传过程改进,如果活动经费不够,对他们的工作会有很大影响的。

Q:如果我们已经达到了cmm 2级的要求,有什么办法可以公布我们的成熟度级别呢?


A:SEI反复的强调,cmm正式评估的结果不是认证,它只是一种企业内部进行过程改进时的一个步骤,找出自己的问题以便于持续地进行改进。因此,对于正式评估的结果,不论成熟度级别是几级,主任评估师都要把评估结果提交给SEI的数据库,便于SEI统计全球评估活动的情况。但是,有些企业并不希望他们的成熟度级别被公布,一方面可能是认为自己的成熟度级别还不够高,认为公布出去不够光彩;另一方面,有的企业担心自己的竞争对手会了解这方面的市场信息,本来自己希望通过过程改进提高竞争力,竞争对手知道了也可以做过程改进,这样就不能提高自己的优势了。所以,SEI在缺省条件下是不会公开哪家企业当前是什么成熟度级别的,它只会定期公布一些汇总的数字。不过有些企业希望在SEI的官方网站上公开自己的成熟度级别,这也是可以做到的。具体方法如下:进入SEI的信息资源库:http://seir.sei.cmu.edu/pml/,该页面上方的部分主要说明了SEI提供自愿公开成熟度级别的功能的目的和用途,并重点强调了cmm正式评估结果不是一种认证,不要把公开成熟度级别看成是一种“证书”等内容。在该页面的下方,分别是自愿公开成熟度级别要填写的申请表格和察看当前已经公开了成熟度级别的组织名单,如图7。


如果是希望加入此名单,则在点击上图中的链接后进入下一页面,该页面的主要内容就是一份申请表格,用英文填写相关内容即可,如图8所示。


该表格较长,因篇幅关系无法全部列出。当申请成功之后,就可以在列表中看到相关的名单了。如图9所示。


在这里可以查看软件cmm或cmmI两种模型的情况,还可以查看不同的成熟度级别。在软件cmm成熟度级别为2级的组织名单中,我们还可以看到一些来自中国的组织,如图9的中国民航结算中心的信息。

后,软件企业的国际化进程也随之加快,一些大型软件企业完成cmm认证的同时,也为相当多的中小软件企业带来了希望,但他们在实施cmm的过程中,特别是在向cmm2前进时往往存在很多困惑和疑问。本文特别侧重对处于这一过程的软件企业碰到的各种疑难问题进行答疑解惑。


袁庆平,现担任北京博思美亚科技发展有限公司(Soft Tech北京分公司)cmm高级咨询顾问,曾为北大青鸟天桥股份有限公司、中关村科技软件有限公司、青岛中天科技发展有限公司等多家软件企业提供cmm、项目管理和软件工程相关的培训、咨询服务。曾在北京鼎新信息系统工程公司参与cmm 2级实施工作并担任项目经理。


有关cmm与cmmI的比较


Q:听说SEI最新推出的cmmI是什么?我们是应该选择cmmI还是cmm?


A:cmmI的全称为:Capability Maturity Model Integration,即能力成熟度模型集成。自从1994年SEI正式发布软件cmm以来,相继又开发出了系统工程、软件采购、人力资源管理以及集成产品和过程开发方面的多个能力成熟度模型。虽然这些模型在许多组织都得到了良好的应用,但对于一些大型软件企业来说,可能会出现需要同时采用多种模型来改进自己多方面过程能力的情况。这时他们就会发现存在一些问题,其中主要问题体现在:


■ 不能集中其不同过程改进的能力以取得更大成绩;


■ 要进行一些重复的培训、评估和改进活动,因而增加了许多成本;


■ 不同模型对相同事物说法不一致,或活动不协调,甚至相抵触。


于是,希望整合不同cmm模型的需求产生了。1997年,美国联邦航空管理局(FAA)开发了FAA-icmmSM(联邦航空管理局的集成cmm),该模型集成了适用于系统工程的SE-cmm、软件获取的SA-cmm和软件的SW-cmm三个模型中的所有原则、概念和实践。该模型被认为是第一个集成化的模型。


cmmI与cmm最大的不同点在于:


■ cmmISM-SE/SW/IPPD/SS 1.1版本有四个集成成分,即:系统工程(SE)和软件工程(SW)是基本的科目,对于有些组织还可以应用集成产品和过程开发方面(IPPD)的内容,如果涉及到供应商外包管理可以相应地应用SS(Supplier Sourcing)部分。


■ cmmI有两种表示方法,一种是大家很熟悉的,和软件cmm一样的阶段式表现方法,另一种是连续式的表现方法。这两种表现方法的区别是:阶段式表现方法仍然把cmmI中的若干个过程区域分成了5个成熟度级别,帮助实施cmmI的组织建议一条比较容易实现的过程改进发展道路。而连续式表现方法则通过将cmmI中过程区域分为四大类:过程管理、项目管理、工程以及支持。对于每个大类中的过程区域,又进一步分为基本的和高级的。这样,在按照连续式表示方法实施cmmI的时候,一个组织可以把项目管理或者其他某类的实践一直做到最好,而其他方面的过程区域可以完全不必考虑。


■ 软件cmm 2级共有6个关键过程区域,在cmmI增加了1个:度量和分析。原来的6个关键过程区域的名称和内容在cmmI中作了部分改进,但是主体内容没有大幅调整。软件cmm 4级共有2个关键过程区域,在cmmI中仍是2个,只是名称和内容有所改进。软件cmm 5级共有3个KPA,在cmmI中进行了合并,改为2个,但主要内容未变。变化最显著的在cmmI 3级上,原有的7个KPA变成了14个,其中原来对工程活动进行要求的KPA-软件产品工程进行了详细的拆分,并结合常见的软件生命周期模型进行了映射。cmmI中新增的过程区域中还涉及到过去未曾提到的内容,比如决策分析和解决方案、集成团队等。


到底是选择cmm还是cmmI主要基于以下几个方面进行考虑:


■ 实施企业的业务特点:如果企业的规模不是很大,业务又集中在软件开发为主,那么还是软件cmm比较适用。如果企业的规模比较大(开发人员100人以上),并且业务不仅仅集中在软件开发,还包括硬件开发哪怕是硬件代理(采购)都可以考虑实施cmmI。


■ 实施企业对过程改进的熟悉程度:如果企业已经实施过ISO 9000,并且取得了较好的效果,那么可以考虑实施cmmI。如果企业虽然没有实施过cmm,但是对于过程改进一直比较关注,接受过不少相关培训,甚至能够自发的进行一些过程改进,那么也可以考虑实施cmmI。如果过去没有接触过类似的工作,那么最好先从软件cmm 2级开始,首先建立持续过程改进的思路。另外,软件cmm的要求也比cmmI要稍低一些。可以适当降低实施的难度。


■ 实施企业对过程改进项目的预算:不论怎样,几乎可以肯定地说,实施cmmI的费用肯定要比实施cmm高出一些。而就模型本身来看,cmmI的2级7个过程区域在内容上并不比软件cmm的2级6个关键过程区域多多少。这样的话,我们完全可以“少花钱、多办事”,也就是说可以采用cmm的实施和评估方法,但可以在过程改进的时候参考cmmI的要求,这样就经济很多。

原文转自:http://www.ltesting.net