CMM/CMMI的由来及过程改进效果
十几年来,我国一直采用国际上广为流行的质量管理标准ISO9001来解决工程项目中暴露的各种质量问题。由于ISO9001标准面对的是极为广泛的领域,难以针对计算机软件这一特殊的领域,特别是软件过程中某些质量管理问题未能得到解决,甚至并未涉及。有很多的企业已经认识到这点,但用什么方法来解决这些问题呢?
美国人Philip Crospy在“Quality Is Free”中提出了“质量管理成熟度坐标图表”,目的是显示出质量管理的全部运作,以帮助企业上层领导与质量管理的具体执行者之间的沟通。美国卡内基·梅隆大学的软件工程研究所(SEI)经过多年的研究,在Crospy的这个质量成熟度框架中引入软件过程并加以成熟度等级的细化,从而开发了软件成熟度模型(Capabil-ity
Maturity Model,CMM),并在2002年又推出了更适合于系统工程开发成熟度模型集成(Ca-pability
Maturity Model Integra-tion,CMMI);在我国,解放军总装备部也于2003年推出了军用软件能力成熟度模型(GJB5000),并在军工企业中逐渐推广。成熟度模型已经从最先的软件项目过程改进逐步推广到系统集成项目、纯硬件开发项目等。CMMI模型中融合了全面质量管理的思想,目的是只要对企业的项目管理和项目工程中的基础结构和实践进行
持续的过程定量管理和改进,就可以克服软硬件生产中的困难,增强研制开发能力,从而能按时、不超预算地制造出高质量的产品。
依据SEI 2002/8月的统计资料:全世界申请CMM/CMMI评鉴的组织中,其中有4.0%来自电子相关领域(Electronic
re-lated organization),这些“高成熟度等级公司”,在引进CMM后,均获得很好的投资回报,不论在生产力及品质上都有很好的成长,相关比较数据如下:生产力约有10%到20%的提升;产品错误率约降低一个数量级;对项目的预估与控制能力约提升40%到50%;软件成熟度每提升一级,约可降低5%到10%的开发成本;在连续5年改善软件开发流程后,软件瑕疵数降低90%,上市时间增快40%,开发成本则降低75%;依据SEI的研究资料显示,成功公司软件产品的瑕疵,比不成功的公司少了1/3以上,客户满意度也因而较高。
我国企业过程改进实施中遇到的问题
带着软件研发过程中的质量管理问题,各软件企业通过接触CMM/CMMI(以下简称CMMI),已经认识到通过实施过程改进,可以有效帮助实现企业的商业目标,缩小与国外企业的差距,因此国内许多软件企业轰轰烈烈地开展CMMI评估,部分省、市政府对此也非常鼓励支持。但是,在我国企业实施过程改进的这几年中,已暴露出如下的障碍:
1、制度化理念与既有企业文化的冲突
体系实施遇到的诸多问题,包括领导的重视程度、开发人员、项目经理认识程度、质量保证人员和软件工程人员得不到应有的尊重和权威等等,最根本的原因是文化冲突。CMMI体系是基于法治的体系,而国人普遍习惯于人治的氛围,大到整个国家小到一个企业莫不如此,这种冲突正是很多问题的根源。以CMMI的组织结构为
例,它推荐在最高领导之下设立EPG(工程过程组)、QAG(质量保证组)、SEG(软件工程组,即项目组),这3个组构成是立法、监督和执法的制衡体系,体现的是西方文化的法治观念。而我们现行的管理体制与CMMI的体制不相符,在整体企业管理上推行制度化本来就已困难重重,何况是较单纯的项目质量管理。这种冲突体现在两个层面上,一是社会的文化环境与少数企业制度化要求的冲突,二是企业基础
管理的不完全制度化和质量管理的制度化本质的冲突。
从整个企业的层面来看,通过提高产品质量,事实上改造了原有企业文化,使制度化的观念深入人心,为企业引入先进的管理思想、推行全面的制度化管理奠定了思想和文化基础。
2、CMMI改进周期太长,没有很显著的效果
CMMI的实施不是在短时间内可以看到显著成效的,它强调“逐步改进”,而非突变。每升一个级别可能会花费一年半以上的时间。在这样的情况下,如果企业管理者没有一个坚定的支持态度,很难保证实施不被半途而废。而这样的失败又成了新的打击人们信心的案例,造成恶性循环,从而造成社会上对CM-MI体系的怀疑态度,也会成为企业实施CMMI的障碍。
3、领导参与不够,造成各级人员实施的信心不足
有人说,“企业实施CMMI,最高领导的支持是关键”,其实这句话还应改为“企业实施CM-MI,最高领导的亲身参与是关键”更好。因为,每个企业开始实施CMMI,肯定都获得了领导的支持,但是当实施过程中碰到一次又一次的抵触和碰撞时,试问,又有多少领导还能保持十足信心?再加上市场上的一些负面言论,体系实施往往从这时候开始被一步步遗忘……所以,领导不仅应当支持,而且应当亲身参与;不是表面上的,而是抱着一个坚定的信心、执着地投入到里面去。对于为此会付出多少辛苦、时间、精力、资源都应该有充分的心里准备。把推行过程质量管理当作企业推行全面制度化的一个手段和阶梯。
高层领导亲身参与的第一个好处是:由于不断地研究,他会成为此中专家,所以能够保持其自信,而不被市场和现实的噪音所影响;第二个好处是可以有效的触动原体制下的深层次缺陷,有些潜在问题是质量管理部门推不动或没有能力看到的。
4、CMMI理论与企业具体的实践结合不紧密,造成各级人员实施的深度不够
在CMMI与企业具体情况相结合过程中,CMMI只提要求,要做什么,没有告诉怎么做,具体的实施方法需要由EPG组在咨询公司的协助下来制定,再由具体的部门和项目人员去具体实践。由于EPG组对CMMI
的理论还没吃透,而咨询公司对各企业的具体情况不清楚,所提供的服务是浅层次咨询,只是把标准的知识引进来,怎么结合使用基本是企业来琢磨,因此EPG组在开始一段时间内无法把CMMI的理论与企业已有的计划管理、质量管理等方面规章制度有机结合,只知道机械式地把CMMI的理论照搬照抄,建立的过程管理流程既考虑不全要素覆盖,也不知道要兼顾流程效率。这样一来,也直接导致了项目实施参与的深度不够,遇到困难就无法(本来也不愿)继续下去,找到各种理由(譬如增加一定的工作量,制定详细计划反而降低工作效率,等等)来抵制CMMI过程改进。
提高执行力,促进项目过程改进实施
现实中,为什么一个国有企业的下岗女工一到麦当劳就能迅速成长为一个主动找活干的勤快人?为什么在世界众多超市中,惟有沃尔玛能雄踞零售业榜首?为什么满街的咖啡店,惟有星巴克风景独好?其原因都与企业的执行力有关,企业的核心竞争力的最关键一个环节就是它的执行力如何。
项目实施过程改进是一个企业围绕制定的既定战略目标而实施的行为,而企业的执行力是企业实现其既定战略目标的能力,因此,当企业在实施CM-MI遇到困难时,就一定要努力提高执行力,不断促进MMI实施的继续,这样才能在各个项目取得过程改进成功,继而提高整个企业的过程改进能力,降低生产成本,提高产品质量和用户满意度。
企业的执行力主要由三个因素组成:流程、技能、意愿。流程是指企业运作流程,包括管理流程和业务流程,技能是指企业成员的职业技能,意愿是指企业员工工作的主动性和热情。如何提高实施过程改进的执行力应该围绕“如何提高项目管理和开发过程中CMMI的适应性”、“如何提高项目成员实施CMMI的能力”和“如何提高成员参与实施CMMI的积极性”这三个方面展开,本人认为应从以下几点来加强:
1)知道在做什么和想做什么
要提高过程改进的实施执行力,首先要让大家明白CMMI是什么以及为什么要实施过程改进。就这些而言,在咨询公司对企业做初次咨询时就已经讲得很明白了,也许大家会说早忘了,那么可以向EPG组咨询,或者向咨询公司咨询,甚至可以直接到SEI的网站上去了解。企业实施过程不是为了得奖或者是达到某个成熟度等级,而是为了建立一个有利于研制开发最好的系统/软件和成为最好的系统/软件组织的、优秀的企业文化,以此来帮助企业通过不断的过程改进,实现企业目标,获得最大的效益。
通过实施过程改进,能保证系统/软件开发的质量与进度,能对“杂乱无章、无序管理”的系统/软件开发过程进行规范化;帮助我们对系统/软件研制开发过程进行不断改进,增强研制开发与改进能力,能按时、不超预算地开发出高质量的软件和系统集成项目,从而提高管理水平,增强企业的国际竞争能力。通过实施过程改进,也能够培养一支高水平、专业化的过程改进队伍,提升人的能力,变个人资产为组织资产,沉淀出大量的组织优秀实践。
2)设定目标并逐步找对方法
CMMI的基本要求与ISO9001是一致的,包括:形成文档化的制度、规范和范本;严格按照制度办事;按照要求形成必要的记录;检查、监督和持续改善。这些正是我们不喜欢的东西,但是抛弃这些,制度化管理还能剩下什么呢?
古人说,“谋定而后动”。既然不可避免地要实施CMMI,那么就必须静下心来,好好制定一个明确的实施目标,应该着重考虑以下方面:我们企业要实施到成熟度的哪一级?过程改进第一步要做到什么,第二步要做到什么,后续再怎样?EPG组的成员准备如何选择、如何组织、如何分工?每年的过程改进计划如何能最好地分解企业各部门所要做的工作,以及在哪几个方面是实施过程改进的重点?如何让CMMI规范与企业已有的实践结合得更紧密,如何让企业的流程更适合开展CMMI?如何使得大家都参与出谋划策,使得在分阶段实施CMMI时能获得较好的效果?什么样的项目比较合适做试点,试用地比较成功后再向其它项目推广?如何让大家积累的数据能真正地“说话”,等等。
3)加强交流沟通,增强团队协作能力和成员参与积极性执行力
体现还在于目标清晰一致,实施CMMI是一个企业行为,执行的人员来自不同的部门,有不同的观点和立场,存在职位高低的差别。如果没有清晰一致的目标或者有了目标但是大家不认同,就会出现意见相左,力量就会分散,变成一盘散沙。在目标一致的前提下,还要加强团队沟通,包括EPG组与项目之间、项目内部成员之间,彼此充分沟通并达成一致的目标认识,从而有利于CMMI实施,特别是在遇到困难的时候团结一致去解决问题而不相互推诿。只有这样,才能使过程改进具有生命力。
4)设置合适的人在合适的岗位
联想集团的创始人柳传志先生把执行力归结为一句话“选拔合适的人到恰当的岗位上。”执行力是企业贯彻落实领导决策、及时有效地解决问题的能力。因此,在CMMI实施过程中,企业、项目中每个人都应不同程度的参与。
对于高层领导来说,需要正确认识CMMI实施带来的额外工作量,配备必要的资源,CMMI实施最直接的后果就是带来了很多的事务性管理工作,这要求设立一些专职的角色,如质量保证、配置管理,或者配备适当的工具,把相应的工作量从项目经理的身上分离出来。否则一旦技术和管理展开竞争,牺牲的肯定是管理;高层管理人员还有必要改变自己的管理习惯,原来很多事都口头裁决,现在需要先看有没有规范,如果有,就尊重规范,规范就是文档化的组织意志。实施过程改进,一定程度上打破旧平衡,建立新平衡,这个过程中开始阶段会相对混乱,对正在运行的项目会产生一定的影响,甚至于在个别企业中,出现技术人员由于适应不了新的工作方式而离职的例子,这些情况,高层领导都应该心理上有所准备,对CMMI抱有坚定的信心
对于项目经理来说,要改变技术本位主义,国内的项目管理大多是技术出身,没有接受过系统的项目管理知识培训,CMMI本质就是解决管理问题,所以对项目经理来说,做CMMI就是从技术上分出一部分时间来做管理,管理者需要主动调整心态以适应新的情况。贯彻CMMI不可能奢望全体人员一致拥护,但是项目经理的积极参与却是必要的,因为项目经理是沟通项目层和管理层的桥梁,对于CMMI的贯彻起着承上启下的作用。项目经理要做过程改进的“明白人”,认识到过程改进工作正是为项目服务的,而不单单是被动的服从高层领导的安排和质量管理人员的规划等等。
对于质量管理人员来说,要增强服务意识,质量部门是主要的制度制定者,但这并不意味着质量管理人员就应该高高在上。一线开发者是为用户服务的,而职能管理部门又是为一线服务的。服务意识的增强体现在深入了解项目经理对过程改进的需求,根据实际需要驱动质量工作重点,争取在局部先有所突破。质量宣传要密切接触一线人员,采取多种灵活方式,多了解反馈,这可能比会议形式的宣贯更有效。过程改进需要不断的成功来推动后续的改进。
对开发、测试人员,要改变以自我习惯为中心的做事方式,适应遵循过程规范的工作习惯。只有大家关注过程规范,它才有可能得到不断优化和成熟。避免“两张皮”。开发人员还需要通过自身努力,借鉴PSP(PersonalSoftware
Process,个人软件过程)的方法提升个体软件能力,这是个自我提高工程,须以个人的上进心为动力等等。
5)加强宣贯培训
过程改进是思想观念和工作方式的改变,是企业文化的改变,它涉及到企业中绝大部分工作人员。只有高素质的人员,执行成熟的良好过程,才能生产出好的产品,培训在过程改进中是不可缺少的助力器。加强培训,可以加速培养过程改进的骨干队伍,建立庞大的过程改进队伍。对于过程改进的宣贯培训,可以采用多种形式,还需要给每个参与人留出时间来让他们能有一定的时间学习。特别应强调的是,对于项目管理人员的管理培训是至关重要的。因为项目管理人员处在承上启下的关键位置,规范体系的落实、组内配置管理、组内质量数据的收集等都离不开这一层管理人员的配合。而实际情况是,项目管理人员往往都是从技术出身,管理意识不足是普遍存在的问题。这层管理人员进行强化的质量意识培训和项目管理培训是非常迫切的。如果通过培训能使大家明白怎样做一个合格“科研管理人员”,真正增强其管理的意识,就会发现项目经理主动配合质量管理工作,因为他们认识到,质量管理其实是项目管理职能中非常重要的部分。
面对着国际和国内竞争的越来越剧烈,企业实施CMMI时应该有心里准备并准备付出努力。只有这些问题能够很好的解决,CMMI的实施才会真正获得成功,企业告别作坊式管理的愿望才能真正实现。美国著名DELL电脑公司的创始人迈克尔·戴尔先生说过“一个企业的成功,完全是由于公司的员工在每一阶段都能够一丝不苟地切实执行。”因此,对于CMMI而言,前期应“打破神秘,从头学起”;后期应“调整心态,从我做起”;前期重在学,深入学有利于打破神秘,尽快结束争论和观望;后期鼓励做,要调整心态,改变习惯,从自身开始,积极配合解决在实施过程中出现的各种问题,方可获得过程改进的成功。
|