如何实施CMM?
建立独立的 质量保证 体系 软件产品的质量与软件、文档、成本控制等多方面相关。国内的软件企业一般都有独立的产品 测试 部门,但很少有独立的质量保证部门,殊不知,测试产品通常是在产品 开发 的某一阶段完成之后才进行,而质量保证应该贯穿于产品开发、测
建立独立的
质量保证体系
软件产品的质量与软件、文档、成本控制等多方面相关。国内的软件企业一般都有独立的产品
测试部门,但很少有独立的质量保证部门,殊不知,测试产品通常是在产品
开发的某一阶段完成之后才进行,而质量保证应该贯穿于产品开发、测试、维护的整个过程。实施CMM,最重要的步骤之一是要建立独立的质量管理部门,实行独立的报告机制。质量管理人员经过良好的
培训,参与到项目的开发过程中去,而且即使质量管理人员的资力较浅,但经过一两年的培训,完全可能向资深的设计人员挑战。同时由于质量管理部门具有相对的独立性,因此质量管理人员尽管资力不深,但仍然有权利在发现质量问题时要求整个项目暂停,使问题得到及时的解决。
李启煊:注重实效,避免表面文章
创智已经通过了ISO 9000认证。ISO 9000固然有其优点,但国内企业在通过ISO 9000认证时存在一个普遍问题:比较注重表面化和文件化,对实际效果关注不够。另外,我们太注重专家和权威的意见,专家说可以做,我们就做;权威说不可以做,我们就不敢做。在这一点上,美国企业与中国企业完全不同,它们更注重实际的
需求。
注重表面效果还带来了另一方面的问题,就是实施计划不周密,常常是只想到一部分就开始实施,缺乏全面的思考。一旦出现问题,整个计划都需要修改,就像盖房子,盖了拆、拆了盖,不断返工,总也做不好。
在具体实施时,国内企业最需要突破的难点是“同级复审(Peer Review)”。中国的传统文化讲究“面子”,开发人员不好意思去挑别人的错误。殊不知这样一来,软件中的错误就不能及时地被发现,提高软件质量也就无从谈起,更谈不到客观、严谨和公平。
李健:量化管理
软件企业不仅在产品开发中要有计划,在改善软件过程中也要有计划,同时还要有量化的数据。从理论上讲,量化数据对整个过程的改善将起到重要的作用。现在很多企业在进行软件过程改善时面临着一个很大的困难:很难控制整个流程。因为没有量化,就缺乏可操作性,看不出改善的结果。
其次,每完成一个项目,都要进行分析,了解量化和过程改善措施到底取得了什么成果?这其中有三个指标可以衡量改善的结果:第一是偏移度,考察整个项目中的时间计划、资源计划和人力投入计划,看看其偏移度是多少?5%以内是可以接受的;第二是“返工率(Rework)”,软件过程改善是否成功,“返工率”是一个很重要的指标,如果软件过程的改善使“返工率”降低了1%或2%,就说明效果很好;第三是“失控率”,任何一个软件项目都有很多控制措施,国内现在通常的模式是由负责人签字,例如,需求计划必须经过几个人签字才能生效。
何晓源:建立适当的奖励机制
我们在开展“同级复审(Peer Review)”活动时曾遇到这样的问题:项目组成员相互“留面子”,总觉得检查出别人的程序错误是一件不好的事情。如此一来,程序错误不能及时被发现,同时,CMM要求的“同级复审“也失去了意义。为了改变这种状况,我们建立了一套奖励机制,在“同级复审”时,如果检查的一方能够提出一些关键性的问题,公司将给予适当的奖励。通过这种方式,使“同级复审”能够得到很好的贯彻执行。
王家欣(CA(中国)公司高级技术顾问) :小企业要重实施,轻评审
对小企业来说,实施CMM的目的是解决自身的质量问题、改善过程管理,没有必要搞耗时、耗力、耗钱的评审。我个人的看法是,如果企业面向国际竞争,或者为了与同行竞争,通过CMM评估能够促进其业务的发展,那么当然要花力气去做。反过来,如果通过评估获得证书对企业来说并不是最需要的,提高软件质量才是企业急需解决的问题,那么可以采用实用主义的方法,以CMM模型为指导,注重实施的效果。实际上,的确有一些企业并没有通过规范的SEI认证,也没有去做很多评估,但是依然取得了很好的
软件质量管理效果,这些企业应该是中小企业的榜样。
原文转自:http://www.ltesting.net