CMMI模型与风险管理思想的结合

  • 来源:建米软件
  • 2011-11-01 16:06:44

        从理论上讲,CMMI应用在软件外包企业可能有两个优点。一是可用于确定企业/组织的过程能力,利于提高企业的国际知名度;二是有助于找出企业/组织中产品质量及过程改进方面较为关键的问题,从而为它们的过程改进提供指南。

  根据CMMI原来的定义,CMMI有两种表述方式:阶段表述和连续表述。前者采用5个等级的成熟度模型,后者采用6个等级的能力等级模型。按照过程域划分,CMMI总共有22个过程域,其中CMMI2级包括7个过程域(需求管理、项目规划、项目监控、供应商合约管理、度量与分析、过程与产品质量保证和配置管理),CMMI3级包括11个过程域(需求开发、技术解决方案、产品集成、验证、确认、机构过程焦点、机构过程定义、机构培训、集成化项目管理、风险管理和决策分析),CMMI4级包括2个过程域(机构过程性能、量化项目管理),CMMI5级包括2个过程域(机构创新及部署、因果分析)。

  从上述可知,CMMI中关于测试流程的指导就来源于CMMI3级中验证与确认这两个过程域。按照CMMI标准,我们首先可以构建出软件外包测试项目测试流程框架软件测试流程活动包括测试活动的执行角色、发生时间以及先后继承关系等方面。

  其中,软件测试流程主要有以下几个步骤:第一步是创建测试计划,第二步是执行测试,第三步是对整个测试过程的评价。在具体应用中,我们发现这一测试流程存在一些问题:

  第一,一些高级测试人员认为简单化的测试工作,如果按照CMMI标准化要求,这一工作可能变得复杂化,工作量增加,相反报酬却没有增加,所以实施起来存在主观上的人为抵制风险。

  第二,CMMI要求的专业化程度较高。因此一些企业通常会雇佣专业的C M M I 咨询顾问来指导实施。咨询顾问一般会结合其在其他企业的工作经验,为本企业提出解决方案和实施建议。但是软件测试人员能否有效贯彻实施这一方案,却是个问题。

  第三,外包测试流程中某些活动的发生的时间与一般软件开发项目的测试流程有所不同,比如说:测试评价一般都位于项目执行期,而对于外包测试项目来说,由于测试进行流程就代表了整个项目的进行流程,所以在测试结束时的测试评价活动就相当于在项目结束期的总结活动了。

  第四,测试流程的细化与实现过程。虽然前后两步对于完善软件外包测试服务流程都具有同等重要的作用,但是流程的细化和实现过程是CMMI应用的难点,也是影响流程改进成败的关键。正因为根据CMMI思想指导软件测试流程改进在实施过程中存在上述风险,我们认为,利用风险管理思想,把风险管理活动与测试流程改进活动相结合,可以进一步完善软件外包测试流程。所谓风险管理,就是提前认知或预测识别风险,进而有计划地消除或降低风险。

  为了便于量化管理,常见的风险定义由以下3个参数表述:
  ①风险严重性:指风险对项目造成的危害程度;

  ②风险可能性:指风险发生的几率;

  ③风险系数:是风险严重性和风险可能性的乘积。

  一般地,风险管理有4个主要活动,即风险识别、风险分析、风险减缓和风险跟踪。在项目的生命周期内,上述4个活动将被循环执行,直到项目的所有风险都被识别与解决为止。据此,我们可以得出基于风险管理的软件测试流程。

  (1)风险识别。根据企业项目实施经验识别出软件外包测试项目的潜在风险。风险的识别除了来源于项目管理及相关专业知识,主要还要依靠性质相近项目的实践经验,所以即使专业CMMI咨询顾问也不得不在问讯企业内各相关人员后才能做出改进方案。因此风险识别角色的确定成为了第一个关键点,这不仅要求具备扎实的管理及专业知识,同时还应具备丰富的项目实践经为了避免责任过于集中(在一人身上)的风险,企业还可以采用集思广益法以及建立项目风险库来收集企业内各项目实际遇到的困难及解决方案等以供参考。

  (2)风险分析。为识别出的各种风险估计严重性和可能性,继而求出风险系数,确定测试流程改进及实施的关键点以及优先级。风险分析方法主要参照风险管理知识来进行,其分析中所用的统计数据则来自于专业知识以及实践经验的总结,同样也可以来自于企业项目风险库内的各项目历史数据统计。
(3)风险减缓。按照风险系数大小针对各个风险点给出合适的流程改进以及实施建议。如上所述,流程改进理论将主要参照CMMI3中验证与确认这两个过程域进行,而具体实施建议则要结合企业的实际应用环境加以灵活调整,比如因CMMI标准流程的启用而导致项目相关成员工作量的调整。

  (4)风险跟踪。记录新的测试流程实施过程,跟踪风险状态并依此制定出新的测试流程改进实施计划。开始新的测试流程并不能代表流程改进进程的结束,风险要素为活动因素,它们会随外界条件的变化而改变,或新增或消失,其重要性、可能性等或增加或减少,因此通过风险跟踪我们可以验证流程改进的成果,同时也可以让风险管理思想所引导的测试流程改进随之进行相应的变化。风险跟踪依据则主要来源于项目实践中的各种常用报告以及专门为了便于风险跟踪而设计的各种数据报告。


预约免费体验 让管理无忧

微信咨询

扫码获取服务 扫码获取服务

添加专属销售顾问

扫码获取一对一服务