技术开发 频道

CMM2级实施技术问题分析

    4 质量保证与实践反馈
  实践反馈是质量保证体系得以有效运作的驱动力,企业应该为所有项目建立一条从SQA到项目经理以及更高层经理的反馈渠道。实践反馈是SQA组与高层经理相互沟通的过程,SQA组定期向高层经理汇报SQA的活动,并及时与项目组沟通,使项目组能尽早改进工作;当沟通不畅、发现项目组运作不力或发现组间协调困难时,应及时报告高层经理,通过高层经理的协调及时进行修正。
  有些项目经理认为自己心里有一套计划,只要按计划进行就可以按时保质完成项目,但事实并非如此,在项目组之间的协调问题上,高层经理的作用是非常明显的。如果仅仅为满足CMM的要求而虚设高层经理,这种做法是不可取的,因为如此一来,实践反馈是不完全的。
  SQA组在CMM实践中犹如一个司法机构,但这还不够,它还应该为改进过程管理提供资源。SQA组不一定完全由专职人员组成,也可调配一些擅长软件开发方法和软件过程管理的人员参与主要的SQA活动。
    5 同行评审
  从理论上讲,同行评审这个关键域的实施并不难,但实际上大多数企业都掌握得不够好,主要表现在以下方面:
    ◆ 评审时组间争论过多或过少
  这一问题在不同企业的表现也不同。调查表明,争论较多的情况是工作产品的输入/输出不清楚,组间缺乏沟通的公共平台,因此组间只有通过较多的讨论甚至争论才能弄清其他组的需求。遗憾的是,事后大家并没有坐下来认真讨论如何改进原工作产品的模板形式或表现形式,因而也就无法从根本上解决问题。另一种较极端的情况是,评审一个组的工作产品时,其他组很少发表意见,尽管有些问题是十分明显的。通过调研发现,这实际上是企业文化的问题。一种普遍的想法是“等我们实际做的时侯自然就清楚了”,但实际情况往往事与愿违,这使企业的工作效率大打折扣,但又不易被管理层意识到。无论是哪种情况,最终的原因是:“项目甚至企业缺乏持续改进过程管理的意识。”
    ◆ 缺乏心理训练
  做好同行评审的最大挑战是克服心理障碍。简单地说,同行评审就是被别人挑错或挑别人的错。因此,评审会就像是答辩会,必须做好充分的准备。当角色互换,自己成了挑错方时,则应该把被评审的工作产品看成是自己在较早前完成的,现在再做一次修改,且修改完成后,自己要拿它去参加评审答辩。经历几次这种心理角色换位,就会逐渐适应。如果大家都这么做,同行评审就会形成良好的氛围,这对形成健康的企业文化将起促进作用。
    ◆ 竞争与合作意识不充分
  从另一个角度看,同行评审又是竞争与合作的非常好的表现场所和形式,凡在这种场合讲话有理且意见中肯的人逐渐会成为团队的核心人物。在这种竞争的环境中,合作是基础,同行评审的目的就是在合作的前提下尽早且有效地排除工作产品中的缺陷。把握好竞争与合作的尺度,将有益于企业文化的发展,否则有可能出现恶性循环。如何把握呢?从大量的案例看,多数消化少数是较好的方法,因为文化是不可创造的。
    ◆ 考虑不全面
  同行评审存在的另一个问题是评审时仅注意工作产品内容本身,大家面对面地弄清内容后,却忽略了如何改进工作产品的表现形式,使新表现形式下的工作产品可更好地用书面形式表示,进而可减少面对面沟通的需求。当然,面对面的沟通并不是不好,但如果一个工作产品需要太多的口头表达才能被理解,则原因只有两个:书写不清楚或模板定义不好,如果是后者则情况更糟。
    6 缺陷预防与度量
  缺陷预防的目的是为了识别产生缺陷的原因并防止其再次发生。一些实施低级别CMM的企业通常都采用一些度量(metrics)来预防缺陷,包括软件大小、软件设计错误、编码错误、测试错误、设计评审覆盖、编码评审覆盖、产生测试覆盖、与过程原因相关的缺陷、与项目原因相关的缺陷等。
  个别企业选用了一些难度更大的度量。大多数情况下,这些企业并非要达到更高级别的CMM,而是从产品需求的特性出发,对工作产品进行缺陷分析和预防。其过程通常是:获取数据、数据整理、度量、发现原因并确定过程的改进措施,其典型例子包括设计复杂性与测试覆盖及测试深度、模块复杂性与测试覆盖及测试深度等。这类企业的软件产品一般具有以下特点:软件产品规模较大,通常在软件产品交付给用户后,通过相当长时间的不断维护,稳定性才能达到满意程度。如果在早期对可能产生较多错误的软件模块进行识别,加强对这些模块的早期关注和测试,就可较早地使系统达到稳定。这种方法常常用在大型软件开发中,但真正用好的并不多,主要原因有以下几点:
    ◆ 忽略了使用度量的环境
  大多数工作产品的度量都是为某一种特定的设计方法或编程语言设计的,忽略了这个因素,度量就容易失去准确性。此外,软件产品不同的行业特性往往也是造成度量产生偏差的原因。
    ◆ 忽略了对度量参数的修改
  一些度量参数是在原来的实践环境下确定的,当在新环境下使用时,其中的参数很可能需要进行修改,才能使度量的准确性得到保证。
    ◆ 忽略了对相关性的研究
  使用的度量与缺陷在本地的相关性越高,度量的价值就越大。获取这种相关性的方法一般是对本地的历史数据进行相关性研究,企业只有在确认满意的相关性后才可将度量用于缺陷预防。

0
相关文章