软件项目风险管理研究
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
软件项目风险管理研究
[内容摘要]随着软件产业的迅速发展,软件的规模越来越大,复杂性也越来越高,风险变得更加难以控制,最终导致软件项目失败的结果越来越常见。如何对软件项目风险因素进行分析并有效地规避风险,从而致使项目顺利成功是进行软件风险管理的主要课题之一。只有充分地理解和学习软件风险管理的理论知识,同时在实践中不断地积累经验才能有效地进行风险防范和控制,达到减少风险的影响程度和实现利益最大化追求的目的。
本文从分析国内外软件风险管理的发展现状入手,详细地按照软
件生命周期各阶段将软件项目风险进行分类,并总结对比分析了国外
经典软件风险管理模型,同时介绍了软件风险管理全过程,同时基于经典软件风险管理模型,提出了改进的软件风险管理模型和方法,并根据自身经验对如今国内企业提出软件风险管理一些建议和意见。
[关键词]项目管理;软件风险;风险管理
1.研究背景
随着经济全球化的不断深入,以信息技术为依托的知识经济初见端倪,各国都在实施信息化带动工业化的发展战略,软件行业成为许多国家的支柱产业,软件业的发展程度从某种意义上体现了该国的综合国力,决定着国家未来的国际竞争地位。软件是一种特殊的逻辑产品,不具备实体的可见性,它是人经过智力劳动而产生出来、具有特殊性质的复杂事物川。一些调查表明,约的软件项目开发超出估计时间,大型项目平均超出交付时间,以上的软件项目开发费用超出预算。软件项目成功的几率要远远低于其它任何工程项目,软件行业面临着所谓的“软件危机”。在软件产品开发过程中存在着众
多不确定因素,这些因素使得软件项目比其它工程项目具有更高的风险。从学科发展角度来看,软件工程的形成得益于人们用工程化思想看待软件产品的开发,软件工程的产生又使得软件项目管理学科应运而生。软件项目管理的出现使所谓的“软件危机”得到了一定程度的缓解和控制。
项目管理的目标是在有限资源标注条件下,保证项目时间进度、质量、成本达到最优化。软件项目管理的主要目标是确保软件产品能够按预期方案交付,同时还要满足用户需求。软件项目风险管理的目的是要找出导致项目需求不明晰、不能按进度计划及时交付、产品质量存在缺陷、开发费用超支等各种不良后果的风险因素,对风险因素及可能造成的后果和危害进行定性和定量分析,从而为软件项目管理人员等提供有效的风险控制方案和措施,使其对软件项目的损失或影响降到最低程度或使决策者可以接受的程度。因此,软件项目风险管理是软件项目管理的重要部分。软件项目风险管理经过近三十年发展,已从理论、方法乃至实践都取得了一定进展。随着软件工程实践深入和软件企业的不断成熟,软件项目风险管理逐渐成为当前软件工程领域研究的热点问题,受到广泛关注。
2.国内外研究现状
软件项目风险管理理论框架模型研究情况
美国学者Barry Boehm在1989年出版的着作《软件风险管理》奠定了软件项目风险管理的理论基础。在随后的时间里,随着计算机技术和软件工程的的深入发展,软件项目风险管理的发展逐渐趋于体系化。下面简要介绍几种软件项目风险管理的理论框架模型。
和Charette的风险管理框架
Boehm在其着作《软件风险管理》中将软件项目风险管理分为风险评估和
风险控制两大部分,其中风险评估又分为风险识别、风险分析和风险的优先级排序,风险控制又分为风险管理计划、风险解决和风险监控。Boehm和Charette风险管理框架表如下:
在此框架中,风险识别主要指出一个潜在破坏项目成功的风险列表,这个风险列表将作为风险控制的基础。风险分析是指评估每个风险出现的可能性及其影响,判定风险的级别。风险优先排序是指按风险影响大小排出一个风险优先级。风险控制是由风险管理计划、风险化解和风险监控组成。风险管理计划是指制定一个应对每个重要风险的方案,同时应确保每一个单独的风险管理计划之间以及与整体项目计划之间相一致。风险化解是指每个重要风险所对应计划的执行。风险监控是指对解决风险的过程进行监控,风险监控还可以包括识别新的风险并将其反馈到正在进行的风险管理过程中。
和Haimes风险管理框架
Higuera和Haimes提出的软件项目风险管理框架是美国卡内基·梅隆大学软件工程研究所提出的风险管理理论体系的一部分。它将风险管理分为风险识别、分析、计划、追踪、控制五个步骤,风险管理方式是连续循环的,核心是风险交流,要求在软件项目生命周期所有阶段都关注风险管理的各项活动,即所谓持续风险管理框架模型(CRM)。如下图,持续风险管理框架模型。
图2 持续风险管理框架模型(Continuous Risk Management Paradigm)在各种软件项目风险管理理论框架研究中,每一理论体系都具有结构完整、内容完善的特点,并附带有与结构和内容相配套的方法和技术,它们借用运筹学、决策理论等思想、方法和工具,秉承了经典风险管理理论体系的优点,同时又体现了软件项目的某些特点。这些研究成果对于奠定整个软件
项目风险管理学科的基础起着非常重要的作用。
3.软件项目风险管理基本内容
软件项目风险管理定义
软件项目的风险管理更是软件项目管理中的重要内容。大量的统计表明,实行有效的风险管理是软件项目开发过程中减少损失的一种重要手段。
软件项目风险管理出现在上世纪年代末,到现在只有三十多年的历程,在软件项目风险管理领域中,人们多是借鉴于工程项目的管理方法来解决软件项目开发中出现的风险问题,并且对于软件项目的风险管理概念的理解是来自于其他工程项目的风险管理,并在其基础上有所讨论和改进。
因此,软件项目风险管理是指项目管理团队通过风险识别、风险量化和风险控制,采用多种管理方法、技术和工具,对软件项目所涉及的各种风险实施有效的控制和管理,采取主动行动,尽量使风险事件的有利后果带来的机会最大,而使风险事件所带来的不利后果威胁降到最低,以最少的成本保证项目安全、可靠的实施,从而实现项目的总目标。
软件项目风险的特点
软件项目管理的风险来自于软件项目自身的特点:
(1)软件产品不可见。
开发的进展以及软件的质量是否符合要求难于度量,从而使软件的管理难于把握;
(2)软件的生产过程不存在绝对正确的过程形式。
不同的软件开发项目应当采用不同的或者说是有针对性的软件开发过程,而真正合适的软件开发过程是在软件项目的开发完成才能明了的。因此项目开发之初只能根据项目的特点和开发经验进行选择,并在开发过程中不