UML软件工程组织

如何实施CMM?
胡大庆:(摩托罗拉大中华区网络方案部研发中心经理)

 

建立独立的质量保证体系

软件产品的质量与软件、文档、成本控制等多方面相关。国内的软件企业一般都有独立的产品测试部门,但很少有独立的质量保证部门,殊不知,测试产品通常是在产品开发的某一阶段完成之后才进行,而质量保证应该贯穿于产品开发、测试、维护的整个过程。实施CMM,最重要的步骤之一是要建立独立的质量管理部门,实行独立的报告机制。质量管理人员经过良好的培训,参与到项目的开发过程中去,而且即使质量管理人员的资力较浅,但经过一两年的培训,完全可能向资深的设计人员挑战。同时由于质量管理部门具有相对的独立性,因此质量管理人员尽管资力不深,但仍然有权利在发现质量问题时要求整个项目暂停,使问题得到及时的解决。

李启煊:注重实效,避免表面文章

创智已经通过了ISO 9000认证。ISO 9000固然有其优点,但国内企业在通过ISO 9000认证时存在一个普遍问题:比较注重表面化和文件化,对实际效果关注不够。另外,我们太注重专家和权威的意见,专家说可以做,我们就做;权威说不可以做,我们就不敢做。在这一点上,美国企业与中国企业完全不同,它们更注重实际的需求。

注重表面效果还带来了另一方面的问题,就是实施计划不周密,常常是只想到一部分就开始实施,缺乏全面的思考。一旦出现问题,整个计划都需要修改,就像盖房子,盖了拆、拆了盖,不断返工,总也做不好。

在具体实施时,国内企业最需要突破的难点是“同级复审(Peer Review)”。中国的传统文化讲究“面子”,开发人员不好意思去挑别人的错误。殊不知这样一来,软件中的错误就不能及时地被发现,提高软件质量也就无从谈起,更谈不到客观、严谨和公平。

李健:量化管理

软件企业不仅在产品开发中要有计划,在改善软件过程中也要有计划,同时还要有量化的数据。从理论上讲,量化数据对整个过程的改善将起到重要的作用。现在很多企业在进行软件过程改善时面临着一个很大的困难:很难控制整个流程。因为没有量化,就缺乏可操作性,看不出改善的结果。

其次,每完成一个项目,都要进行分析,了解量化和过程改善措施到底取得了什么成果?这其中有三个指标可以衡量改善的结果:第一是偏移度,考察整个项目中的时间计划、资源计划和人力投入计划,看看其偏移度是多少?5%以内是可以接受的;第二是“返工率(Rework)”,软件过程改善是否成功,“返工率”是一个很重要的指标,如果软件过程的改善使“返工率”降低了1%或2%,就说明效果很好;第三是“失控率”,任何一个软件项目都有很多控制措施,国内现在通常的模式是由负责人签字,例如,需求计划必须经过几个人签字才能生效。

何晓源:建立适当的奖励机制

我们在开展“同级复审(Peer Review)”活动时曾遇到这样的问题:项目组成员相互“留面子”,总觉得检查出别人的程序错误是一件不好的事情。如此一来,程序错误不能及时被发现,同时,CMM要求的“同级复审“也失去了意义。为了改变这种状况,我们建立了一套奖励机制,在“同级复审”时,如果检查的一方能够提出一些关键性的问题,公司将给予适当的奖励。通过这种方式,使“同级复审”能够得到很好的贯彻执行。

王家欣:(CA(中国)公司高级技术顾问)

小企业要重实施,轻评审

对小企业来说,实施CMM的目的是解决自身的质量问题、改善过程管理,没有必要搞耗时、耗力、耗钱的评审。我个人的看法是,如果企业面向国际竞争,或者为了与同行竞争,通过CMM评估能够促进其业务的发展,那么当然要花力气去做。反过来,如果通过评估获得证书对企业来说并不是最需要的,提高软件质量才是企业急需解决的问题,那么可以采用实用主义的方法,以CMM模型为指导,注重实施的效果。实际上,的确有一些企业并没有通过规范的SEI认证,也没有去做很多评估,但是依然取得了很好的软件质量管理效果,这些企业应该是中小企业的榜样。

吴穹:降低“门槛”

对中国软件企业来说,CMM Level 2的门槛已经很高了,它包括了软件工程涉及的大多数领域,如需求管理、配置管理、软件测试、SQA等,实施难度相当大。国内研究CMM的专家建议:在CMM1级和CMM2级之间增加一个“中间级”。我个人认为这是一种比较切实可行的做法,因为在实施CMM的初期通常都会造成生产效率的下降,企业或者项目组必须同时面对市场和改进管理的双重压力。降低CMM的实施“门槛”,可以使企业有充足的时间稳步地改善软件过程,获得更好的实施效果。

姜家齐:领导全力支持

实施CMM最重要的是让员工和领导层对如何应用CMM有一个比较清楚的概念。如果我们口头上讲CMM很重要,但是不愿在资金、人才、时间(特别是领导人自己的时间)上投入,那么实施成功的可能性极小。真正的CMM不是拿到这块牌子,而是在实际工作中运用它。如果企业的领导人很清楚这件事,把它作为头等大事,那么无论他再忙,都会起好带头作用,表明自己不仅愿意做,而且愿意把自己的时间、精力投入进去。

李健:(北航软件工程研究所)

分享成功经验

实施CMM必须让企业全体人员有一个清醒的认识,让不同层次的人对CMM都有比较深刻的理解。现在,摩托罗拉、鼎新、东大阿尔派、联想软件已经通过了不同级别的CMM评估,积累了一些经验,应该把它们的经验与大家分享,使其他企业不必再从零开始研究。此外,培训和咨询也是分享成功经验的手段,如果能够对企业领导和员工进行分层次的培训,将使企业少走弯路。

 

王依群:(长城计算机软件与系统有限公司总经理)

CMM也需要外部支持

除了领导的决心和企业内部员工的支持外,实施CMM还需要外部力量的支持,包括其他业务部门和客户的支持。长城软件主要从事行业应用的系统集成工作,我们的客户有国家税务总局、工商总局以及一些省、市政府,有了它们的配合,我们才能够顺利地改进软件过程。

王家欣:实施CMM需要改造企业文化

实施CMM、改进软件过程的难点在哪里?是对企业文化的改造。说到底,过程的管理实际上是人员的管理,企业领导层需要在企业文化的层面上与员工交流。由于国外企业实施CMM成功的例子很多,因此很多国内企业热衷于学习和模仿,但我们必须注意东西方文化的差异,完全照搬西方国家软件企业的经验是行不通的,毕竟五千年的中华文化底蕴确实与西方的文化有很大的差别。然而,实施CMM确实需要我们在文化方面进行某种程度的改进,这也是国内企业实施CMM的难点之一。



版权所有:UML软件工程组织