0引言
随着社会需求的增加和计算机技术的迅速发展,软件产业在经济发展中的地位日趋重要。但是,由于软件产品的纯知识性,随之而来的软件项目高失败率也成为一个焦点。20世纪80年代末,软件项目风险管理作为一门学科应运而生。经过近30年的发展,出现了一系列的软件项目风险管理工具和方法。由于对风险管理技术和实践缺少了解,风险管理技术却没有得到广泛的应用。鉴于此原因,本文对近年来出现的一些风险管理方法进行分析与比较,以期对软件开发企业起到一定的帮助作用。
1软件项目风险管理定义
SEI认为,“风险”就是承受损失的不确定性。风险管理是指在项目中含有过程、方法和工具的管理风险实践,它建立了预先决策的规范环境,使得:
①连续地评估风险;
②明确了哪些风险因重要而需要处理;
③实施处理这些风险的战略。
Hall认为风险管理是评估和控制影响软件项目、过程或产品的风险的实践,该实践围绕目标设定、项目计划、执行、度量、改进和发现新信息部分展开。Boehm认为,软件风险管理指的是“试图以一种可行的原则和实践,规范化地控制影响项目成功的风险,其目的是辨识、描述和消除风险因素,以免它们威胁软件的成功运作”。
2软件风险管理技术、工具和方法
经过近30年的发展,软件项目风险管理研究中出现了一系列的技术、工具和方法。其中,软件工程研究所(SEI)为整个风险管理提出了一整套的标准步骤。这篇论文将对具有代表性的6个软件项目风险管理工具和方法进行介绍和分析。
2.1软件风险评估(SRE)技术
SRE模式是由SEI开发的,旨在对与系统相关的
风险进行识别、分析、沟通、缓解。SRE系统包括风险管理流程、软件开发风险分类图(SDRT)以及基于问卷的分类法(TBQ)。该模型有五个过程,分别为风险识别、风险分析、计划、风险跟踪和风险控制,即对软件项目中存在的风险行识别并加以分析评估,对风险进行优进化排序,并对TOP风险加以管理,制定相应的应对计划,最后进行跟踪控制。
SRE不但是一种诊断工具而且还是一种决策工具。该技术从产品,过程和约束条件上进行风险处理,识别和分类。另外,项目成员参与风险识别与分析过程,并设法规避风险领域以面对自己的开发计划。因此,项目经理可以在早期阶段了解项目风险。
2.2团队风险管理(TRM)技术
Ronald P·Higuera,David P·Gluch,Richard L·Murphy指出,团队风险管理是指“在软件开发项目生命周期的各个阶段中,所有项目直接涉及到包括组织,团队,部门和代理等都作为团队的参与者参与其中,协同进行对组织结构和操作活动的风险管理。团队风险管理,为政府和承包商提供了过程、方法和工具,从而使这两个组织都能够单独的或者共同的参与决策过程,从而防患于未然。”团队风险管理活动使所有人包括从开发者到客户都参与到一个组织当中。这种技术确保通过项目可以反复地和协作地进行持续风险管理。TRM工作程序是风险识别,定期评估和分析新风险,计划资源的合理利用以降低风险,风险跟踪和风险规范行动,开始风险控制并将之变成问题,最终,项目中的伙伴关于风险开始沟通。
2.3 Softrisk模型
Softrisk风险管理技术是由于一些传统的风险管理技术存在缺陷的情况下出现的。Softrisk模型结合其它项目管理来探讨风险管理,确保了风险管理自动化并且适用于任何类型和规模的项目。Ayad AliKeshlaf,Khairuddin Hashim指出,Softrisk模型“是建立在一种思想基础上设计出来的,这种思想就是风险文档化和集中注意力在最大风