软件项目风险管理

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

软件项目风险管理

摘要:软件项目风险管理从原先被人忽视到目前的热捧,人们也从原来对它毫无作用到现在对软件的编译成功起着不容忽视的作用。为了防止骚扰软件项目以及调试的过程和产品制定的一系列规则,同时也是对软件项目、调试过程和产品有影响的风险进行评估和控制的过程。随着软件业的兴起,对软件项目风险管理研究的人也越来越多,因此关于这方面的理论也层出不穷,因此本文根据软件项目风险管理的相关理论,建立了本论文研究思路。

关键词:软件风险;风险管理;风险识别;风险分析;风险跟踪

1 风险管理的背景

1.1 风险的定义

风险定义有好几种,一是不希望事物发生变化,二是事物存在很多的,三是事件产生的影响。可以概括为“人们因对未来行为的决策及客观条件的不确定性而可能引起的后果与预定目标发生多种负偏离的综合。”公式表现为:风险f(事件,不确定性,后果)。用数学表达式则为:R=f(s,P,X),其中R表示风险,S表示时间,P表示不利事件发生的概率,X表示该事件发生的后果。

1.2 风险管理的背景

随着社会对软甲的需求增大,软件的开发技术不断更新,难度不断增大,但软件的数量却依然增加很多,同时随着社会节奏加快,软

件的供应商需要提供不间断的软件更新服务。但与此同时,各种难度的上升,给企业在开发软件的过程中加大了风险。软件项目能否开发成功,关系着一个企业的生死存亡。但矛盾的是,随着开发软件的业务增大,但对软件的质量和用途也随之提高,这对软件开发商造成了巨大的压力,在这种情况下,软件风险管理和控制成为软件开发成败的关键点。

根据有关资料调查显示,有百分之十五到百分之三十五的软件项目在开发的过程中被取消,剩下的软件项目有的是没有在预期内完成而夭折,或者又是软件开发的过程中超出了经费的预算。除此之外还有软件项目因为风险管理和控制失败的大约占百分之九十。目前国内的大多数软件开发企业还缺乏对软件开发项目的风险认识,缺少进行系统、有效的度量和评价的手段。所以能建立有效的风险识别、风险分析、风险计划、风险跟踪和风险对策的机制,是有效提高软件开发成功率的方法之一。

2 风险管理的内容

为了最大化的减少软件风险的发生,可对软件项目进行风险管理。而软件项目风险管理过程是指软件风险从认识到采取措施的过程包括风险识别、风险分析、风险计划、风险跟踪和风险对策等,从而将可控因素最大化,将不可控因素到最小,从而对未知的风险消灭,从而对风险进行回避或者缓解。

2.1 风险识别

风险识别的常用方法通常有现场观察法,财务报表法、环境分析

法、流程图法、座谈法、相关部门配合法等。风险识别要确定影响本项目的潜在威胁的来源以及在何种条件有影响,怎么产生并有什么特性等,风险识别并不是一次就可以后顾无忧的,需要贯彻到整个软件的生命周期中。

2.2 风险评估

风险评估时对风险影响力进行衡量的活动,即衡量风险发生的概率和风险发生后对项目目标的影响程度,从而为后面制定风险对策提供依据。对已识别的风险要进行估计和评价,常用的方法有:概率分布、外推法、多目标分析法等。

2.3 风险计划

风险计划:风险计划是通过技术手段或者其他方法来降低风险的发生,将风险评估后的结果进行处理。风险计划就是在软件开发的过程中起指导作用,如先处理那个风险,怎么消除风险,如何避免风险等。

2.4 风险应对

风险应对就是对风险计划的执行,共有三种方向来进行风险应对。一是风险控制法,对存在风险进行主动出击进行消灭或许能避免风险:二是转移风险,将存在的风险进行转移:三是风险存留,就是风险威胁不大时,可以对风险不采取任何措施。当然在软件的开发过程中,要想有效的消灭风险,就得让风险还在初级阶段的时候消灭。再者就是风险发生时,要考虑后果再最大化的缓解风险。

3 风险的分类及各类风险产生的影响

3.1 组织和管理风险

一是管理层做出了错误决定,技术决策导致计划进度缓慢,延长计划时间;二是低效的项目组结构降低生产率;三是管理层审查决策的周期比预期的时间长;四是预算削减,打乱项目计划;五是工作失误与重复工作;六是非技术的第三方的工作时间比预期的延长。

3.2 需求风险

在软件开发的过程中,如果不能控制和需求有关的风险因素,那么将会产生不好的结果,如软件有可能是错误的软件或者质量不合格的软件。当然很多软件开发项目都会面对这些不确定的威胁,如果早期对于这些不确定的风险置之不理,那么在项目过程中也得不到解决,那么“千里之堤,溃于蚁穴”,这些不能控制的威胁将对软件成功的开发造成巨大的威胁。

与客户相关的风险因素有,第一客户对软件缺少清晰的认识,没有对开发的软件各方面的特性以及功能有个全面了解。第二对产品需求缺少认同,当软件成功开发时,但对软件由于认识度不够或者别的原因导致对开发出来的软件缺少认同感。同时还存在一些需求风险因素如在做需求中客户参与不够,又或者是没有优先需求,再就是由于不确定的需要导致新的市场,其次是不断变化需求和缺少有效的需求变化管理过程以及对需求的变化缺少相关分析等。

3.3 合同风险

风险存在的概率很大,大多是因为合同里的条款比较多引起的。比如如果在软件开发的过程中,没有对开发软件的范围有准确的定

义,并且成为合同中一部分时,此项目即便成功了,也很难验收,并且项目开发的时间加长了,极大的加大了开发的成本。这就符合了软件项目经常以一定的价格签订合同,但签约方却希望更多的功能。

3.4 设计和实施的风险

在软件开发的准备工作,因为设计不满足要求,导致软件重复设计。在无法使用已有的代码或者库实现新开发软件,导致软件的必要功能有问题,因此软件开发人员需要重新设计代码或库现实又或者重新开发软件的功能。其次认为增强工具能节省很多时间,但却没达到应有的预期效果。最后,不能有效的连接整合开发的模块,需要重新设计和开发。

相关文档
最新文档