UML软件工程组织

CMM实施中的四个常见问题
 作者:沈辉 本文选自:计算机世界网

 CMM实施中的四个常见问题

许多软件企业在实施CMM过程中,都投入大量的人力、物力,公司领导更是亲自督阵,制定了各种奖惩制度,按理说,CMM实施应该是很顺利的,但在实际实施过程中还会出现各种问题。下面是结合公司CMM实施过程中的情况总结出的几个常见问题。

缺乏经验,存在技术阻力

  这里的技术不是软件开发技术,而是与CMM实施有关的技术。阻力表现在两方面:一方面,由于对标准的要求不熟悉,所以编写过程文档质量较差;另一方面,由于项目经理对文档要求不理解,或对操作方法不熟练,导致执行的结果与要求相差甚远。

  由于CMM标准要求的内容较多,大家又都是初次接触,对标准的要求很难真正理解,更不用说熟练掌握了。因此,我们在编写公司的过程文档时,对于有些意见总是不能达成一致,需要反复讨论、甚至请教咨询方才能解决,文档编写速度很慢;有些文档主要是参考模板改编而成,改编人对原来的模板就不理解,改完后仍然不知所云。虽然用词晦涩、语义含糊、前后重复或矛盾,但为了赶时间,这些质量不高的过程文档略经评审就投入使用了。

  由于过程文档用词晦涩、语义含糊,项目经理在使用时不能理解文档的要求是什么。比如,在项目计划模板中,前后出现了两处工作产品介绍,项目经理就不能理解为什么,而文档编写人员也忘了自己原来的意图。后来,经咨询方解释才知道,原来前面应该是最终的软件产品,后面才是软件工作产品。

  如何把握实施力度,既保证过程质量,又不会对进度造成重大影响?由于经验不足,过程改进人员和项目经理对此总是不能取得共识。我们有一个项目计划,前后写了4版,差不多用了20天才通过评审。当然,这一方面是因为项目经理写作能力不强,文档确实存在较多问题;另一方面,也是因为SQA(软件质量保证)人员经验不足,要求太严,列出问题太多,导致项目经理无所适从。后来,还是咨询方及时纠正了这个问题,他们说:如果计划没有大的问题,能够用于指导下一阶段的工作就可以先评审通过,这样项目组工作才有据可依; 当然,问题还是要改,只要在以后的版本中予以更正即可。

进度与质量难以兼顾

  软件开发过程中,最常见的问题之一就是:项目进度要求与软件质量保证之间的矛盾。
  在没有开发规范以前,软件开发随意性较大,通常为了赶进度而牺牲管理工作的时间。项目经理往往是项目开发主要人员,管理工作量很小。现在就不同了。项目经理不仅要关注软件开发,还要加强过程管理,并且有了SQA工程师进行监督。这时,项目经理要拿出相当多的时间去做管理。由于经验不足,上述工作花费的时间远远超过了计划时间。

  由于实施CMM占用较多的时间,高级经理、项目经理就难免会有看法,认为实施CMM严重影响了项目进展,而短期内又难以看出质量保证的效果。而一旦他们认为质量保证对项目进度产生了负面影响,再要他们按照要求开展工作就有点困难了。

  从理论上讲,按照好的过程来管理开发工作,不仅可以提高开发质量,也可以加快开发进度。但实际上,由于经验不足,在实施初期,不仅看不到质量改善的效果,反而会降低开发速度,难怪有些人不愿意去做。这就需要公司决策层进行长远考虑,采取激励措施、提供资源保证,确保体系执行,进行持续改善。

目标和需求变化多,难控制

  这也是软件开发中的一个常见问题。
 瘀再分配,不要忽这是客观存在的,所以一定要预防那些光说不练者。  有一个软件产品研发项目,原来定义的客户目标群是中小银行,研发立项也得到了公司有关部门的批准,项目做到了详细设计阶段。但后来,销售部门提出目前中小银行对该产品的市场需求不大,应该调整客户目标为某大银行。为了适应客户目标和提交时间的改变,项目经理不得不改变软件系统的实现方法,改变体系结构,重新进行需求分析、调整概要设计。虽然这些因素本身与CMM无关,但是当时项目经理刚刚完成项目估计、项目计划以及文档评审工作,而现在,一切又要重新开始了。

  有时,虽然项目总体目标没有大的变化,但是客户需求频频变更。按照要求,对变更请求需要评审,还要修改从需求开始的所有文档以保持一致性。这样的事情如果频频发生,项目经理的很多工作成果都会被白白浪费,项目经理容易产生挫折感,严重影响实施CMM的积极性。

  在发生这种问题时,高级经理有责任做好项目经理的思想工作,告诉项目经理这不是他的错,他做得很好,并鼓励他继续做下去。这样,在一定程度上,能激励项目经理的信心和热情。

不同角色面临不同问题

  CMM毕竟是个新事物,绝大多数人对它不是很了解,因此在执行中问题很多。而由于资源有限,很多问题不能得到及时、有效的解决,影响了实施效果;在看不到明显效果的情况下,要求项目经理严格执行,又有很大的难度。这可能就是我们目前碰到的最大问题。

  从项目经理来讲,他们面临着两方面的压力:高级经理对他们进度的要求,远远高于CMM实施方面的要求;SQA人员要求他们按照CMM标准实施,但是在具体操作方法上又没有很好的经验可以提供,需要摸索着执行,很多时候都在做无用功。

  对于SQA人员来讲,一方面他们需要去做高级经理的工作,取得他们的理解和支持;另一方面,他们也要不断深入了解CMM的实施要点和操作方法,但是由于没有CMM专家的支持,经常会走弯路,导致项目经理颇有怨言。
从高级经理的角度来讲,公司给他们的资源也是有限的,客户要求的期限又是固定的,当进度与质量保证发生冲突时,如何去平衡?也确实是一个比较头疼的问题。

  从上面可以看出,CMM实施过程中,不同的角色面临着不同的问题,需要在实践中不断摸索,协商解决,寻找适当的方法去解决问题或减少问题。

  从目前情况看,CMM实施困难很多,但是,从发展趋势来看,CMM实施的前途是光明的。越来越多的企业认识到实施CMM的必要性,加大了实施投入来保证实施力度。而且,随着CMM实施人员的增多,大家不断总结、交流经验,问题也越来越容易解决。

 

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