您的位置:软件测试 > 软件项目管理 > 风险管理 >
软件项目风险管理
作者:网络转载 发布时间:[ 2013/5/22 13:50:51 ] 推荐标签:

七、经典风险管理理论

7.1 Boehm模型

Boehm用公式RE=P(UO)*L(UO)对风险进行定义,其中RE表示风险或者风险所造成的影响,P(UO)表示令人不满意的结果所发生的概率,L(UO)表示糟糕的结果会产生的破坏性的程度。在风险管理步骤上,Boehm基本沿袭了传统的项目风险管理理论,指出风险管理由风险评估和风险控制两大部分组成,风险评估又可分为识别、分析、设置优先级3个子步骤,风险控制则包括制定管理计划、解决和监督风险3步。

Boehm思想的核心是10大风险因素列表,其中包括人员短缺、不合理的进度安排和预算、不断的需求变动等。针对每个风险因素,Boehm都给出了一系列的风险管理策略。在实际操作时,以10大风险列表为依据,总结当前项目具体的风险因素,评估后进行计划和实施,在下一次定期召开的会议上再对这10大风险因素的解决情况进行总结,产生新的10大风险因素表,依此类推。

10大风险列表的思想可以将管理层的注意力有效地集中在高风险、高权重、严重影响项目成功的关键因素上,而不需要考虑众多的低优先级的细节问题。而且,这个列表是通过对美国几个大型航空或国防系统软件项目的深入调查,编辑整理而成的,因此有一定的普遍性和实际性。但是它只是基于对风险因素集合的归纳,尚未有文章论述其具体的理论基础、原始数据及其归纳方法。另外,Boehm也没有清晰明确地说明风险管理模型到底要捕获哪些软件风险的特殊方面,因为列举的风险因素会随着多个风险管理方法而变动,同时也互相影响。这意味着风险列表需要改进和扩充,管理步骤也需要优化。

虽然其理论存在一些不足,但Boehm毕竟可以说是软件项目风险管理的开山鼻祖。在其之后,更多的组织和个人开始了对风险管理的研究,软件项目风险管理的重要性日益得到认同。

7.2 CRM模型

SEI(Software Engineering Institution)作为世界上的旨在改善软件工程管理实践的组织,也对风险管理投入了大量的热情。SEI提出了持续风险管理管理模型CRM(Continuous Risk Management)。

SEI的风险管理原则是:不断地评估可能造成恶劣后果的因素;决定迫切需要处理的风险;实现控制风险的策略;评测并确保风险策略实施的有效性。

CRM模型要求在项目生命期的所有阶段都关注风险识别和管理,它将风险管理划分为5个步骤:风险识别、分析、计划、跟踪、控制。下图所示的框架显示了应用CRM的基础活动及其之间的交互关系,强调了这是一个在项目开发过程中反复持续进行的活动序列。每个风险因素一般都需要按顺序经过这些活动,但是对不同风险因素开展的不同活动可以是并发的或者交替的。

图中的箭头标识了信息的逻辑流,而沟通则是信息流的核心和手段。其中,风险识别依靠问卷完成,问卷覆盖了大概200个问题,一共涉及13个主要领域。风险分析侧重于理解每个风险在该项目中的发生几率和后果严重性,从而产生严重的10大风险问题。风险计划是将如下内容文档化:风险管理步骤的描述、负责人及其职责、行为执行和完结的时间,并且确定风险处理的优先级,制定整体的管理计划。风险跟踪是获取、整理并汇报10大风险问题当前的状态,其目的是收集精确的、及时的和相关的信息,并将它们表达成容易理解的方式提交给负责人。风险控制是为了根据风险及其缓解计划进行及时而有效的决策,具体操作包括分析风险跟踪阶段产生的风险状态信息,明确地决定采取什么行动,并实现它们。而处于核心地位的沟通则强调其有效性和针对性,要注意将合适的信息传达给合适的组织层次以得到有效的分析和管理,这些层次包括开发方和用户方双方的组织结构。

7.3 Leavitt模型

SEI和Boehm的模型都以风险管理的过程为主体,研究每个步骤所需的参考信息及其操作。而Aalborg大学提出的思路则是以Leavitt模型为基础,着重从导致软件开发风险的不同角度出发探讨风险管理。

1964年提出的Leavitt模型将形成各种系统的组织划分为4个有趣的组成部分:任务、结构、角色和技术。这4个组成部分和软件开发的各因素很好地对应起来:角色覆盖了所有的项目参与者,例如软件用户、项目经理和设计人员等;结构表示项目组织和其他制度上的安排;技术则包括开发工具、方法、硬件软件平台;任务描述了项目的目标和预期结果。Leavitt模型的关键思路是:模型的各个组成部分是密切相关的,一个组成部分的变化会影响其他的组成部分,如果一个组成部分的状态和其他的状态不一致,会造成比较严重的后果,并可能降低整个系统的性能。

将这个模型和软件风险的概念相对应,即一个系统开发过程中任何Leavitt组成成分的修改都会产生一些问题,甚至导致软件修改的失败。根据Leavitt模型,任何导致风险发生的因素都可以归结为模型中的组成部分,例如技术及其可行性;或者归结为组成部分之间的联系,例如程序开发人员使用某一技术的能力。因此,使用Leavitt模型从4个方面分别识别和分析软件项目的风险是极有条理性和比较全面的。在进行软件项目管理时,可以采用不同的方法对不同的方面进行风险管理。

Leavitt模型实际上是提出一个框架,可以更加广泛和系统地将软件风险的相关信息组织起来。Leavitt理论的设计方法和实现研究已经广泛应用于信息系统中,它所考虑的都是软件风险管理中十分重要的环节,而且简单、定义良好、适用于分析风险管理步骤。

八、结束语

总之,在软件项目开发过程中,当对软件的期望很高时,一般都会进行项目风险分析、预测、评估、管理及监控等风险管理。通过风险管理可以使项目进程更加平稳,可以获得很高的跟踪和控制项目的能力,并且可以增强项目组成员对项目如期完成的信心。风险管理是项目管理中很重要的管理活动,有效的实施软件风险管理是软件项目开发工作顺利完成的保证。

上一页12345下一页
软件测试工具 | 联系我们 | 投诉建议 | 诚聘英才 | 申请使用列表 | 网站地图
沪ICP备07036474 2003-2017 版权所有 上海泽众软件科技有限公司 Shanghai ZeZhong Software Co.,Ltd