更多>>培训课程

站内搜索

更多>>联系我们

    烟台科瑞企业管理咨询有限公司

    联系人: 张玮琰(经理)

    全国客服:400 1866 518

    联系电话:13853517230、0535—6662581

    临沂公司:潘经理 18853970055

    淄博公司:张经理 13853383939

    滨州公司:张经理 13625435550

    电      话:0535—6662581

    工作 QQ:86857632

    E—mail: ytzwy@sina.com

    联系地址:烟台市芝罘区西大街158号

产品认证

CMMI认证
发布时间:2016-07-09   查看次数:7948

CMM实施过程探讨

一. 引言

软件产业已被许多国家所重视并置于战略高度加以发展,而目前我国软件产业却仍然发展缓慢。由于规模和技术能力的限制,我国软件生产企业从事的仍然是手工作坊式及小公司式的软件生产模式,缺乏软件工程的概念,不少软件企业处于自生自灭的状态。在这种情况下,软件企业承担大型软件工程的能力相对较弱,在国际市场上基本处于不利的竞争地位。导致这种现象的产生有一些深层次的原因,因此迫切需要探索一条适合我国软件产业发展的道路。

解决该问题的对策可以是通过国际认证取得参与国际竞争的通行证,改善企业管理,提高竞争能力。CMM(Capability Maturity Model,软件能力成熟度模型)通过对软件组织软件能力的评价、软件生产过程的评估及改进,提高开发软件产品的能力和质量,实现软件生产工程化。和邻邦印度相比,我国软件业和印度出口额差别还很大,在2003-2004财政年度,印度软件和IT服务的出口额达到了约122亿美元,中国2003年度的软件出口,据官方统计是20亿美元,只有印度的六分之一。导致这种差距的原因很多,就企业自身管理而言,我们比印度差的更多。从行业自身角度来看,印度软件行业导入CMM模型是成功的重要因素。通过CMM模式的管理,印度大幅度提高了其软件开发能力及软件产品的质量,保证了向美国和欧洲软件出口的高速增长。与此相比,我国的软件开发整体水平只是印度10年前的水平,软件生产方式普遍是手工作坊的软件生产过程,处于有章不循和无章可循的混沌状态。因此实施CMM是软件企业加强自身管理、摆脱困境的必经之路,是软件业与国际接轨的重要举措。

二. 模型各级别实施体会

CMM的实施给我们带来了新的管理理念,原来不懂得如何管理项目,对于项目预算、质量管理也缺少一个行之有效的方法,因此在项目执行过程中对于进展情况,软件产品质量如何从未有人明确知道。在与外国企业合作进行软件项目开发时,不能完全在一个高度上进行沟通,经常没有数据支持导致不清楚如何设定项目周期,不明确工作如何分配会更加科学。如今是高科技的年代,处在这样的情况下,我们的软件企业应如何立足?

从一个软件项目来讲,管理、技术和人永远是三个关键成功因素,缺少任何一个,都将不能形成有利的三角支撑,从而不能有利的支持软件项目的成功。从目前的现状来看,我们缺少的不是人,也不是技术,而恰恰是管理,如何科学的管理,才能开发出成功的软件,是摆在软件产业面前一个需要思考的问题。

当前全世界通用的质量管理体系,实际在理念上都是相通的。无论是ISO9001,还是CMM,还是6-Sigma,从理论上讲,都是想通过控制过程的质量从而实现产品质量的控制。而在这几个体系当中,CMM主要是针对软件开发过程提出的,把软件能力成熟度分成了5个级别,每一个级别都是在下面一个级别的基础上增加了新的要求。CMM所说的1级,实际上把没有任何管理和控制的企业,均被看成处在该级别上。

CMM2级的实施实际就是要具备基本的项目管理活动,如对项目的整个过程进行策划、对项目的进展情况进行跟踪、控制软件开发过程中产生的工作产品的版本、控制软件过程从而保证产品的质量、对客户提出的需求进行控制,尤其是需求的变更等。如果需要把软件外包生产,还要对分包方进行控制。实际上CMM2级实施的启动,难点在于思想的转变,需要打破以前的开发行为,而用一种新的开发模式来替代。往往由于开发人员不愿轻易改变自己的习惯, CMM2级的实施需要在一定的强制下完成。在这个过程当中,每个项目都要进行策划,明确开发过程中需要做什么、谁来做、什么时候做,明确每个任务的时间周期和成本,明确项目开发过程中可能会存在哪些风险,并把这些都记录下来,形成整个开发团队都需要遵从的开发计划。项目的实施过程中,为了统计项目进展情况,每个开发人员每周都要上交自己的报表,汇报任务的完成情况。对于工作产品版本的控制,也从杂乱无章的状态中摆脱出来,工作产品能够得到完整的保存,并保证在某个工作产品产生了变化后,和它有关的工作产品也会相应的变化,从而使所有工作产品之间保证一致性,这样至少能避免由于客户需求频繁变更引起的最终产品与客户要求不一致的问题。

通过CMM2级的实施,项目至少知道了需要的人力,大约需要多长时间,知道项目开发需要按照计划的步骤要求按部就班的实施。但是,对于工程过程,没有太多的关注,整个开发过程仍然可能比较随意,每个开发环节没有严格把关,产生的工作产品放行条件比较宽松,因此还不能完全保证工作产品的质量。因此到了CMM3级,在2级的基础上增加了对工程过程的要求和验证的要求。实施CMM3级初期制定的开发过程体系文件,主要是按照软件工程的要求,侧重于软件需求分析、设计、实现及测试等环节,并要求在每个开发阶段产生的工作产品都要进行评审和测试,对于如何进行评审和测试同时也制定了相应的流程。通常在没有实施CMM之前也曾经开展评审活动,但是在按照制CMM3级的要求制定评审流程后发现,以前的评审工作可能是低效的,评审会议经常持续数小时,但没有发现很多问题,评审会议经常发生争执,因此效果不好。而高效的评审会应该首先进行策划,安排好时间和评审角色,每个评审人员均有各自的侧重点,在评审会召开之前,每个评审人员均应进行个人审查,而真正的评审会议只是汇报个人审查时发现的问题而不讨论问题的解决方案,对于问题如何解决可以在会后和相关人员进行讨论,从而保证评审会议的有效性,节约了大家的时间。加入工程开发过程要求的同时,为了使项目的开发过程能得到更有效的能力保证,在组织级增加了培训的需求,对不具备相应的能力的项目相关人员,应该首先进行培训,在掌握了需要的技能之后才能上岗,可谓“磨刀不误砍柴功”。此时,在组织级也为保障体系的顺利实施,成立了SEPG(Software Engineering Process Group,软件工程过程组)小组,主要侧重与体系文件的编写和过程改进工作,并规划整个组织的过程体系建设。

在CMM3实施过程中就要有意识地收集相应的数据,如规模、工作量、缺陷、进度等,为将来的活动建立基础。 CMM4级及以上也是建立在数据基础上,设定质量目标,逐步统计出组织级的基线数据,只有掌握了这些数据,才能使我们分析缺陷的发展趋势,定位问题;能否判断新技术、新方法给我们带来的好处。从客观的角度出发做出各种决策和判断而非主观臆断,才能使我们更准确的掌握事物的本质,确保做出各种结论不违背客观规律,从而进一步实现过程持续改进的目的。

在CMM实施的几年中,感触最深的是思想的转变。在不知不觉中,CMM的理念已经逐渐融入日常的开发活动。开发人员已经形成了良好的习惯,如每周提交个人周报、对工作产品进行评审、按照规范流程提交源代码等。

经过几年CMM的实施工作,虽然变化是巨大的,但在实施过程中仍然还有不和谐的因素。尤其是很多意见集中于CMM实施延长了开发时间,一方面增加了项目管理的人力成本,另一方面在开发过程中需要编写开发文档而需要花费工时成本。因此CMM的实施与市场要求之间还存在一定的矛盾。我们应该关注体系执行的如何适应项目的需要,如何在管理和市场要求之间进行协调。

三. CMM实施过程中应该注意的问题

1. 理论和实践相结合

CMM每个级别的要求都是用KPA(Key Process Area,关键过程域)的形式给出,每个级别会在原有级别的基础上,增加相应的KPA,每个KPA提出具体的目标和实践要求。CMM是从国外引入的理念,实际上是引入的一种思想。我们应该掌握其精神实质,然后从我们的实际情况出发,考虑如何与我们的实践相适应。但从目前的执行情况看来,在很多理念的理解上,仍有偏差,一方面没有完全理解CMM的要求,一方面完全照搬CMM的要求,缺少灵活性,从而导致执行过程中感觉僵硬。

2. 培训的重要性

在CMM实施过程中,为了使大家能够更好的理解和执行,需要进行大量的培训。往往在培训过程中,更多的侧重于理论,与实践结合的仍不充分。因此导致虽然进行了培训,但在实际执行的时候,还会发现有很多不理解的地方。培训活动也应该作为长期坚持的工作,采用普及性培训和专题培训相结合的方式。

3. 形神兼备

要想保证实施的充分有效,则不能只在表面做文章。要做到“形神兼备”。体系要求什么就做什么是不够的,还要考虑内容的充分性。但目前的实施过程,我们发现,在很多地方还不能保证其充分性的要求,如项目开发中的工程过程文档内容。这样做的危害是花费了一定的时间,但缺远远达不到应有的效果,最终会导致怨声载道,增加了工作量,却没有充分体会到实施的好处。

4. 尊重客观规律

CMM实施应该是一步一个脚印的工作。曾有一个形象的比喻,一个还没有学会走路的孩子,怎么可能学会跑步?CMM也是如此,在执行CMM2级时,就像一个刚刚学会走路的孩子,而3级的要求就向在走路的基础上,要求学会跑步。不同的级别要求是需要时间的,在这个时间段主要是使基础更加牢固,从而逐渐向更高的要求迈进。从企业实际执行时间的数据统计分析数据可以显示,对于每个级别需要实施的时间,大约需要14至18个月。因此我们不能不顾事实而确定不切合实际的目标,而导致基础工作不扎实。

5. 人员的配合

在CMM实施过程中,尤其是刚刚开始的阶段,人员的选择是非常重要的一项工作。接受CMM理念和容易合作的项目经理,负责的质量保证人员,都是CMM实施的关键成功因素。选择好关键人员,很容易通过以点带面的形式使模型实施过程顺利和平稳。对于这个理念的接受,只有通过时间的磨砺而逐步成为大家的行为准则,决不是一蹴而就的过程。

6. 度量活动的开展

度量是CMM过程实施当中的一个难点,其实并不是因为度量工作本身的困难,而是我们以往的经验对度量活动比较陌生,不懂得如何收集、分析数据来为我们服务。在实施CMM过程中应该尽早启动度量工作,不仅仅是为了更高级别的实施活动做准备,而是需要尽早建立这种意识并不断积累数据。从商业目标出发通过规范的度量元定义、收集和分析过程,尽早确定关注的关键成功因素和关键过程,从而获取宝贵的历史数据,为将来的决策分析工作打下坚实基础。

不管怎样,我们都应充分掌握CMM的精髓和实质,并把这些理论融于实践,提供有企业特色的过程体系要求。

CMMI实施过程中制度化建设的方法

一、CMMI实施的现状

目前国内企业实施能力成熟度模型整合(Capacity Maturity Model Integrated即CMMI)如火如荼,不管是出于什么目的,软件过程改进是一个正确的方向,是产业提升的必由之路。因此企业这方面的需求更加趋于理性、更加趋于务实。

一般企业实施CMMI的过程是这样的:通过招标,选中一家咨询公司,在咨询公司的辅导下,开展C M M I实施。一般包括差距分析、CMMI知识培训、文件体系的建立、试点、制度化、邀请主任评估师进行评估等环节。

CMMI中一个准确的概念应该是评估,而不是认证。认证和评估在出发点和过程上都有着本质的区别。认证的目标很直接,就是为了获得一个特别通行证,而评估是判断企业成熟程度的一个标志。如果说I S O9000是认证可以行的通,那么CMMI则应该是评估。因为,企业在实施CMMI过程中企业发生了革命性的变化,不仅仅是获得一个证书那么简单。但是目前的问题是,国内的许多企业通过评估后,企业获得了一份通过CMMI评估的等级证书,用通过评估的等级证书去领取补助,实质上就是实施了CMMI认证。

二、对存在的问题分析

现在国内C M M I评估存在的问题是:实施C M M I,已经通过了等级评估,却无法保留其效果,重要的一点是制度化建设上出了问题,所以我们应在制度化建设上下功夫。

在制度化建设的实践中,管理人员也遇到了一些问题,产生了困惑,主要体现为:C M M I的体系文件已经制定,但对企业的规范化管理收效甚微;CMMI的体系文件执行不到位,不彻底;员工甚至部分中高层管理人员对所制定的CMMI的体系文件不重视,最后导致C M M I的体系文件虚无化,等等。那么以下的几个问题就值得探讨:

1.什么是制度化

制度化作为公司文化的一部分,一般指经营企业基本的方法,组织经常性的遵守。制度化在过程改进中是很重要的观念。在CMMI的通用目标和通用实践叙述中,制度化意指过程已根深蒂固在工作中执行,以及执行过程的承诺与一致性。当压力来时,制度化过程仍被维持。然而,当需求及目标因过程而改变,过程的执行也需要改变以确保仍然有效。CMMI的通用执行方法描述制度化观念的活动。

2.CMMI对制度化的说法(过程制度化的模式原件以及制度化的等级)

过程制度化的模式原件是通用目标和通用执行方法。通用目标和通用执行方法出现在CMMI过程域的最后。通用执行方法的详细说明出现在通用执行方法之后,以表达这些执行方法如何独特地应用于过程域中。

制度化的等级包含于通用目标中,并以个别目标相关的过程名称来表达。如表1所示。

表1 通用目标及过程名称


通用目标
过程的发展
GG1
已执行过程
GG2
已管理过程
GG3
已定义过程
GG4
量化管理过程
GG5
最佳化过程

3.过程间的关系

通用目标逐步发展,所以每个目标为下一个的基础。结论如下:

◆ 已管理过程是已执行过程

◆ 已定义过程是已管理过程

◆ 量化管理过程是已定义过程

◆ 最佳化过程是已量化管理过程。

如此,按照顺序应用,通用目标描述渐进式制度化的过程,从已执行过程到最佳化过程。

三、CMMI制度化建设的方法

CMMI实施过程中制度化建设的特点

◆ 制度已经形成,并经过试点;

◆ 人员岗位已有,已设立了E P G( 工程过程组) 、Q A ( 质量保证组)、EG(工程组);

◆ 由于认识的问题,导致从高层到普通员工对CMMI制度化重视度不够,就导致评估后E P G、Q A就没有存在的必要性,这也是CMMI制度化建设的难点;

◆ 体系实施遇到诸多问题,包括领导重视程度不够;开发人员、项目经理抵触情绪;质保人员和软件工程人员得不到应有的尊重和权威等等。这些问题的原因归根结底是文化冲突。

CMMI体系是基于法治的体系,而国人普遍习惯于人治的氛围,大到整个国家小到一个企业莫不如此,这种文化冲突正是很多问题的根源。

以CMMI的组织结构为例:它推荐在最高领导之下设立E P G(工程过程组)、Q A(质量保证组)、E G(工程组),这三个组构成是立法、监督和执法的制衡体系,体现的是西方文化的法治观念。

然而我们在整体企业管理上推行制度化都困难重重,何况是质量管理。这种冲突体现在两个层面上:

◆ 社会的文化环境与少数企业制度化要求的冲突;

◆ 企业基础管理的不完全制度化和质量管理的制度化特质的冲突。

制度化建设的步骤及时间

根据已选择的CMMI的表达方式和实施等级,根据制定的C M M I体系文档,实施制度化建设。

◆ 培训(过程宣贯):不但要培训CMMI的体系文档,还要培训质量观,提高质量意识,保持过程改进的组织和动力。

◆ 考核:从两方面进行:书面形式,实践形式。

◆ 实施:按照CMMI体系文件的规定做事,在必要的地方一定要形成记录;这里强调的是按照度量计划,

收集度量数据、改进信息,按照解决问题的机制和循环做事。

◆ 内部阶段性评审:企业EPG应建立起CMMI体系制度化建设的定期评审机制,由主管C M M I体系制度化建设的EPG组长主持,对CM MI体系制度化建设的有效性和效率进行验证、评价、总结,提出优化方案和措施。

制度化建设的评审内容包括以下方面:一是系统性评审,评审企业的制度化建设是否与企业战略相符,制度本身是否形成了体系。在这里,需要明确的是:制度化建设是企业管理的一种工具和手段,制度化建设必须与企业管理根本目的相符合,不能因为“制度化”而“制度化”;二是内容评审,对C M M I体系内容本身检验评审;三是管理方式评审,对企业制度化建设的管理方式进行检验;四是执行评审,对制度的执行情况进行评审。企业CMMI体系制度化评审可用一张评审表来体现,示例表2:

以上是制度化建设的评审示例,各企业在建立类似的评审制度时应根据企业的实际情况进行修正、改进。

◆ 邀请外部专家进行评估。

PIID(Practice Implementation IndicatorDescription)是CMMI 评估过程中的辅助工具,一般它是一张E X C E L表格,它主要的作用是提供实际证据表明和CMMI的对照关系。

表3(P I I D s示意)是对渐进的制度化程度的评判,是实施C M M I阶段式成熟度等级为三级时使用,用来评审制度化是否达到了已定义级。同理可推理出成熟度等级为四或五级时的PIIDs表。

◆ 把过程改进纳入企业的文化。从整个企业的层面来看,通过实施CMMI,事实上改造了原有的企业文

化,使制度化的观念深入人心,为企业引入西方先进的管理思想、推行全面的制度化管理奠定了思想和文化基础。

制度化建设做的好,就能切实地感受到企业文化很好,尽管企业文化有时是一种很难具体明说的东西。一个良好的企业文化应该是企业里从领导到员工都重视质量,具体可以表现为:系统没有经过严格测试不可以发布;文档没有经过评审不能正式出版;无论是小BUG还是大BUG在公司内都会记录并跟踪问题的关闭;测试与评审的任务都会在计划中明确识别出来;企业员工勇于承担责任,勇于实践,勇于吸收、采取有价值的管理改进与技术改进等等。

制度化建设实施的要点

制度化是一个固化到优化,再固化的过程,开始可能需要强制执行。CMMI制度化建设实施成功的要点:

◆ 企业文化与领导重视。

◆ 检查、监督和持续改善。没有检查或者缺少检查的制度化只会是一纸空文。检查其实也就是西方管理学中的分权思想的体现。检查和分权的目的遵从了一个基本的原理:人是会犯错误的。另外通过检查,将制度化的实施作为一种习惯和文化则是制度化的最高的境界。当制度化在企业中形成统一的意识,形成为一种习惯和文化时,制度化的成本就会大大降低或消除。

◆ 在检查、监督和持续改善过程中一定保持EPG和QA的长期性。

四、结束语:

制度化是西方管理学中强调的重点,制度化是科学管理的唯一出路。实施CMMI是一条没有终点的道路,整个企业建立了重视质量的文化,企业具有的强有力的执行力,这样的企业才真的将过程改进落实到了实处。

参考文献:张友生、徐锋《C M M/C M M I 在中国的实施状况调查报告[J]》;《CMMI Product Team. CMMI for Development》;《国内软件企业实施CMM有四大障碍》;郑文斌《企业制度化建设的检校方法》;任甲林《CMMI成功的根本原因是什么?》;李华领《关于软件开发过程制度化实施要点》。


在线咨询
在线客服

关闭