软件项目风险的识别与风险的分析报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
软件项目风险的识别与风险的分析
摘自—项目管理技术
软件开发项目是一项复杂的工程,涉及的因素很多,风险的管理过程有:风险的识别、风险的管理计划的制定、风险追踪、风险控制。风险识别是风险管理的第一步,而有效的风险分析是进行风险管理的基础,因此做好这2个过程的工作是软件项目成功的关键。
1软件风险的识别
风险识别过程的活动是将项目实施中的不确定性转变为明确的风险述。系统地识别风险是这个过程的关键,识别风险不仅要确定风险来源,还要确定何时发生、风险产生的条件,并描述其风险特征和确定哪些风险事件有可能影响本项目。风险识别不是一次性的活动,应当在项目执行过程中自始至终定期进行。
1.1风险识别的依据
从项目管理角度讲,风险识别依据有:合同、项目计划、工作任务分解WBS、各种历史参考资料(类似项目的资料)、项目的各种假设前提条件和约束条件。
从软件开发的生命周期看,每个阶段的输出(各种文档)都是下一阶段进行风险识别的依据,许多技术风险都可据此来分析。
1.2风险识别方法和工具
风险识别的方法很多,不同的方法适用于不同的场合,下表给出了常用的方法的适用情况。
软件项目的风险识别通常采用的工具为:
(1)风险核对清单:将可能出现的问题列出清单,然后对照检查潜在的风险。
(2)头脑风暴法:项目成员、外聘专家、客户等各方人员组成小组,根据经验列出所有可能的风险。
(3)专家访谈:向该领域的专家或有经验人员了解项目中会遇到哪些困难。
(4)风险数据库:一个已知风险和相关的信息的仓库,它将风险输入计算机,并分配下一个连续的给这个风险,同时维持所有已经识别的风险历史纪录,它在整个风险管理过程中都起着很重要的作用。
在实际应用中,风险核对清单是一种最常用的工具,它是建立在以前的项目中曾遇到的风险的基础上。该工具的优点是简单快捷,缺点是容易限制使用者的思路。
1.3风险种类
风险识别出来后应该规整分类,分类可从多种角度定义和划分,一般可按风险引发的原因、项目开发阶段、风险严重程度、风险区东引资等进行分类。下面介绍2种典型的软件风险分类方法。
(1)、SEI:1993年SEI发表了基于分类的风险辨识方法(TBQ)。该分类法把系统分为三个类(Class),每个类又分解为若干个因素(elements),每个因素通过其属性来体现特征。
(2)、美国空军软件项目风险管理手册:这种方法要求项目管理者根据项目实际情况影响软件风险因素的风险驱动因子,这些因素包括以下几个方面。
性能风险:产品能够满足需求和符合使用目的的不确定程度。
成本风险:项目预算能够被维持的不确定程度。
支持风险:软件易于纠错、适应及增强的不确定程度。
进度风险:项目进度能够被维持且产品能按时交付的不确定程度。
笔者借鉴SEI的思想,在大量调查和实践的基础上,结合已有的历史文献资料,对软件项目风险进行了分类和提炼,识别出8类风险,共48个风险因素,如表所示:
值得注意的是,尽管可以将风险进行分类,但风险之间总是
互相关联的,单独的风险很少发生,因此不能孤立地考虑任
何一个风险,因为一个风险类别的组成部分总是影响另一格
类别。
2软件风险的分析
风险分析是在风险识别的基础上估计风险的可能性和后果,并在所有已识别的风险中评估这些风险的价值。这个过程的目的就是将风险按优先级别进行等级划分,以便制定风险管理计划,因为不同级别的风险要区别对待,以使风险管理的效益最大化。
2.1风险分析流程
根据风险分析的容,可将风险分析过程细分为2个活动:风险估计和风险评价。通常项目计划人员与管理人员、技术人员一起,进行风险分析,该过程是一个不断重复的过程,在整个生命周期都要有计划、有规律地进行风险分析,分析流程如下图:
2.2风险的估计
风险估计是估计已识别的风险发生的可能性和风险出现后将会产生的后果,并描述风险对项目的潜在影响和整个项目的综合风险。
风险估计有以下4个环节:
(1)定义风险评估准则
评估准则是事先确定的一个基准,作为风险估计的参照依据。准则有定性和定量两种,定性估计即将肯能性分成等级,如:很大、大、中、小、级小5个等级,一般以不超过9级为宜。定量估计则是给出一个具体的数值,如:0.7表示风险发生的可能性为70%,当然,定量估计还是有其它方法,用模糊数表示风险的可能性就是一种常用的方法。
下表给出一个评估准则的例子:
可能性的评估准则
风险损失的评估准则
(2)估计风险事件发生的可能性
根据评估准则对每个风险发生的可能性进行预测,预测的值应该是多人预测的综合结果。
(3)估计风险事件发生的损失
风险对项目的影响是多方面的,因此损失的估计也应从多方面分别进行估计,通常对三个方面进行估计:进度、成本、性能。
(4)计算风险值
根据估计出来的风险的可能性和损失,计算风险值(R)R=f(p,c) 式中,p是风险事件发生的可能性,c是风险事件发生的损失。
评估者可根据自身的情况选择相应的风险计算方法计算风险值。
下表是风险评估的例子:
影响值=可能性*(对进度的影响+对成本的影响+对性能的
影响)
对项目风险进行分析是处置风险的前提,是制定和实施风险计划的科学根据,因此,一定要对风险发生的可能性及其后果做出尽量准确的估计。但在软件项目中,要准确地估计却不是件易事,主要有以下几个原因:
(1)依赖主观估计。由于软件项目的历史资料通常不完整,因此,都是根据经验进行估计。而且主观估计常常存在着相
互矛盾的问题,例如,某专家对一个特定风险发生的概率
估计为0.6,然而,当问及不发生的概率时,回答可能性
是0.5。因此许多学者将模糊数学理论引入到风险预测中,
以解决预测的可能性和准确性问题。
(2)人们认知的局限。由于人类自身认知客观事物的能力有限,所以不能准确地预知未来事物的发展变化,这也是导
致风险估计主观性的主要原因。
(3)项目环境多变。项目的一次性特征使其不确定性比其他经济活动达,因此,其预测的难度也较其他经济活动大。也
正是这个原因,风险管理应该贯穿整个项目周期。
2.3风险评价
风险评价是根据给定的风险评判标准(也称风险评价基