关于软件项目的风险控制管理研究

2019-10-12 00:16王成锐
科学与财富 2019年26期
关键词:风险控制风险管理

王成锐

摘 要:在所有軟件项目的开发过程中,由于存在难以预见和把控的不确定性因素,会给项目带来难以预估的风险,甚至导致整个项目的失败。首先介绍了项目中软件风险的背景,分析了如何识别这些风险。对项目中的风险管理分析、风险管理进行了详细的研究,提出对风险进行管控的方法论。最后对软件开发过程中常遇到的风险进行了分析和研究,提出了减少或预防风险发生的几种办法。研究软件项目过程中的风险管理,对于软件开发和整个项目管理过程有着非常重要的现实意义,也为项目的按期交付,成本维护等起到重要的现实作用。

关键词:软件风险:软件项目:风险管理:风险控制:风险方法

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

根据有关资料调查显示,有百分之十到百分之三十的软件项目在开发的过程中被取消,剩下的软件项目有的是没有在预期内完成,或者是软件开发的过程中超出了经费的预算。除此之外还有软件项目因为风险管理和控制失败的大约占百分之九十。目前国内的大多数软件开发企业还缺乏对软件开发项目的风险认识,缺少系统、有效的度量和评价的手段。所以风险管理是项目管理中不可缺少的一部分,而软件项目的风险管理更是软件项目管理中的重要内容。大量的统计表明,实行有效的风险管理是软件项目开发过程中减少损失的一种重要手段。风险管理不仅仅存在于项目可行性研究阶段,是贯穿在软件项目开发周期的全过程中。建立有效的风险识别、风险分析、风险计划、风险跟踪和风险对策的机制,是有效提高软件开发成功率的方法之一。

一、风险管理的内容

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

1.1风险识别

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

1.2风险评估

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

1.3风险计划

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

1.4风险应对

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

二、常见风险分析和研究

2.1组织和管理风险

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

2.2需求风险

在软件开发的过程中,如果不能控制和需求有关的风险因素,那么将会产生不好的结果,如软件有可能是错误的软件或者质量不合格的软件。当然很多软件开发项目都会面对这些不确定的威胁,如果早期对于这些不确定的风险置之不理,那么在项目过程中也得不到解决,那么“千里之堤,溃于蚁穴” ,这些不能控制的威胁将对软件成功的开发造成巨大的威胁。与客户相关的风险因素有,第一客户对软件缺少清晰的认识,没有对开发的软件各方面的特性以及功能有个全面了解。第二对产品需求缺少认同,当软件成功开发时,但对软件由于认识度不够或者别的原因导致对开发出来的软件缺少认同感。同时还存在一些需求风险因素如在做需求中客户参与不够,又或者是没有优先需求,再就是由于不确定的需要导致新的市场,其次是不断变化需求和缺少有效的需求变化管理过程以及对需求的变化缺少相关分析等。

2.3合同风险

风险存在的概率很大,大多是因为合同里的条款比较多引起的。比如如果在软件开发的过程中,没有对开发软件的范围有准确的定义,并且成为合同中一部分时,此项目即便成功了,也很难验收,并且项目开发的时间加长了,极大的加大了开发的成本。这就符合了软件项目经常以一定的价格签订合同,但签约方却希望更多的功能。

2.4设计和实施的风险

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

三、结论

通过以上的研究,可以说项目风险管理是项目管理的核心和难点而针对项目中的相关风险分析与应对措施, 我觉得我们的主要研究工作应该如下几点:

(1) 要较为全面地了解风险的概念与特点,认识项目与项目风险、项目管理与项目风险的区别;

(2) 风险管理实际上是一种经验和方法的积累,其应对风险的能力大小也主要取决于对相关经验与资料的整理与积累, 并且对于过往经验的运用是否正确等。

(3) 风险的识别是风险分析和应对的基础和前提,是关系到项目成败与否的关键。

(4) 得出了对于小型软件公司的项目管理的方法和可能存在风险的最高的阶段中。要杜绝掉职责不明、权限不清、人浮于事的情况发生,应该建设一个高效,团结、配合程度高的精干的开发团队。

参考文献:

[1] 林时蕴. 软件项目风险管理研究[D]. 合肥工业大学, 2007.

[2] 牟玲玲. 软件项目风险管理研究综述[J]. journal6, 2006, 43(10):202-205.

[3]刘明友, 帅建锋. 基于CMMI的软件项目风险管理研究[J]. 电脑知识与技术, 2013(1):63-66.

[4] 徐俊, 雷发胜. 复杂软件项目风险管理研究[J]. 软件导刊, 2008(11):47-49.

猜你喜欢
风险控制风险管理
探讨风险管理在呼吸机维护与维修中的应用
房地产合作开发项目的风险管理
试析基于现代风险导向的互联网金融审计
对行政事业单位内部审计信息化的探讨
论增强企业经营管理的风险意识
医院财务管理风险及改进措施分析
护理风险管理在冠状动脉介入治疗中的应用
本地化科技翻译的风险管理
风险管理在工程建设中的应用
新版GMP中质量风险管理实施初探