软件开发过程中的风险管理
2021-07-04于国泰
摘 要:为防止发生重大软件开发风险,从企业管理与软件开发经验等诸多方面出发,认真研究可能会出现的风险及其处理方法,并综合开发软件过程中各个环节的实际状况,以确定最终的风险预防方法,并希望为有关领域发展提出合理的建议和看法。
关键词:软件开发;风险分析;质量控制措施
一、对软件系统产品研发的公司风险分析方法
因为软件系统产品和服务流程的特点,导致了计算机软件系统公司在研发周期中面临着很多不确定因素,这也正是软件系统产品研发的经营风险所在。对软件系统产品研发的公司风险管理过程一般可包括以下二个基础步骤:风险评价与风险管理。风险评估主要包含了经营风险识别、风险分类和风险优先级顺序;而风险控制主要包含了风险规划流程,风险处理流程和风险监控流程。其中经营风险识别与分类是风险控制中最为关键的一步,因为只有识别与分析方法在软件工程项目发展中出现的经营风险,才能采取适当的行动,并提出适当的风险管理对策。而软件工程项目的投资风险重点表现在如下几方面。
(一)需要经营风险。应用需求风险一般有:模糊或变异的应用要求,必将造成了信息系统实际需要的紊乱;文件不能正确记载信息系统的实际需要;接口文件不统一,并可能存在着灰度和岐义;需要随着客户方面员工的发生变化而更改;对软件可靠性分析与可接受标准的要求与定义并不清楚;对系统不切实际的期待,包含生产进度、技术问题等;对商业软件产品定位不清而造成的客户需求与困惑。
(二)项目管理风险。管理风险主要有:项目角色和权责不清楚或界定错误,会导致不协调的活动、不合理的职责负担,以及工作重点不明显;项目管理角色和责任也不能被完全认识。项目中缺少或没有有效的管理人员,对产品实施必要的内部评审;项目汇报内容不真实,或要点不明显;管理制度不到位。
(三)人员风险。人力资源风险主要分为人员编制结构不合理、员工流动性大、工作队伍成员之间没有协作精神、疏忽或缺乏时间开展必要的项目训练、员工没有必胜的上进心、人力资源工作环境低劣等。
(四)开发环境风险。与新开发环境有关的主要风险有:新开发工具没有按时做到甚至没有预想的那么高效,开发者急需时机重新创建工作环境和转换新的开发工具;新的开发工具的学习期远比预想的漫长,而且工作内容繁杂:基础设施拥堵、设备混乱损坏、无法按时做到,或是设备虽齐全但却不配套。
(五)产品设计技术风险。产品设计技术风险主要有:选用不了解行业业务特征的开发商;设计项目的目标、范围超出了设计项目组的实际承受能力;使用不了解或者欠完善先进的开发工具、不适应业务特征的分析模型;设计品质降低,分别研发的模块无法高效集成,必须重新设计或制造;部分必要的功能无法使用现成的代码或者库完成,开发者也不得不采用开发新的库或自己设计开发新的功能;代码或者库品质降低。导致必须进行额外的试验,修改设计错误,甚至重复制作等,这些因素无疑都会让项目陷入毁灭性的风险境地。
(六)开发过程风险。开发过程风险主要有:不切实际的时间和成本要求;项目中缺乏富有经验的资深研究成员;应用于没有经过充分验证的最新技术、新研发平台,导致系统最终崩溃;对软件开发规划的调整,未能充分考虑项目的规模和现实状况;开发工具未能全面集成;客户文件格式和维护能力与当前的发展环境不符。
二、风险防范与控制措施
(一)加强交流互动。信息沟通困难是软件开发流程中风险的原因所在,所以,就应该强化企业内部与客户之间的技术沟通,正是基于如此,企业不但能够在需要变化之时随机应变,同时也能够在产品发展中途实现技术的变化与创新。在术语交流方面也能够实现语言统一,不但便于与顾客和生产方沟通,而且便于与生产方内部的各个单位进行沟通,在适当时候,企业甚至还能够直接进行一个交接的翻译人员,可以直接为各个部门进行产品翻译工作,这就能够极大降低生产员的工作压力,从而提升企业管理工作的有效性。
(二)引进了经验丰富的研究人员。通过使用经验丰富的、满足技术审核要求的开发人员来管理软件项目建设,并通过所提出的风险应对措施,实现了软件发展的平稳性与可控制。而尽管各种战略都具有着巨大的实用性,但由于经营风险并非总是只发生一次的,也并非总是一成不变的,所以,还需要由管理层员工继续对战略加以创新,从而保证生产项目的稳定进行,软件人才也不至于因此中断,而相应的软件服务质量也就会大大提高。
(三)建立有效协作的队伍。有效协作的管理队伍中,各个部门各司其职,每个人竭尽所能,都能夠找出符合自身的一项职责,各尽所能,人员间也能够互为交流经验,各个单位间也能够交流意见和协作,应用部分人员也能够参与其中,通过人员和各个单位间的互动,将使得产品的适用性提高。在管理者的统筹调度下,对产品的开发进度进行了严格控制,对项目的品质将会提高。
(四)运用科学进行风险预防。从风险管理的角度开展对生产过程的审计,通过罗列出各种危险的类型,对危险程度加以大范围确定,从而尽可能正确地预防危险,以便于减少因风险所造成的经济损失。对于供求风险而言,则必须保持当前的供需,对新的供需必须有效把握后,方可开展下一个生产。对于科技风险而言,则必须将专门的人员配置在前线,以期时时注意科技变化造成的经营风险等。
结语
由于将软件工程和普通工程比较,其特点主要表现在抽象性方面。本文就在软件开发流程中的各个环节,对软件开发中的风险进行了剖析,列出了一些开发流程中可能出现的风险,并给出了具体的管理方法。但由于软件开发中的风险往往是复杂多变的,有许多隐藏的潜在风险,因此必须在总体上、全过程上对风险展开深入细致地研究。
参考文献:
[1] 王亮. 中小软件开发企业会计核算与监督的风险及控制[J]. 现代商业,2014(4):251-252.
[2] 幸莉仙,韩玢,黄慧莲. AHP与FUZZY在软件开发项目风险管理中的综合应用[J]. 计算机系统应用,2012,21(4):161-164.
[3] 陶刘强,成筠. 浅析软件开发中的风险管理[J]. 中国管理信息化(综合版),2006,9(2):86-88.
[4] 李烨楠,张鹏,饶维,等. CFX软件在含硫天然气开发环境风险评价中的应用*[J]. 油气田环境保护,2016,26(1):38-41.
[5] 高新. 软件测试过程中的质量管理及风险应对分析[J]. 无线互联科技,2019,16(13):31-32.
作者简介:于国泰, 男 ,黑龙江省密山, 汉族 :1994年7月15日 ,大学本科, 信息安全管理与前段感知, 助理工程师 。