软件开发的风险分析及其控制

2018-05-25 09:37:15


  随着社会需求的不断增加,国家信息化得到逐步的发展,软件技术作为基础载体被应用到社会活动中,软件的开发项目也越来越受到人们的关注,但由于软件自身特点的限制,在软件开发的过程中容易出现各种各样的问题,因此,应在理性分析出软件开发项目风险要素的同时,及时针对风险采取相应措施进行规避并使其得到有效控制。 

  一、软件开发过程中的风险要素 
  风险要素分析作为软件能否开发成功的关键,需要在软件开发前进行确认,并将其归纳进整个开发过程的计划考量中,使其成为软件开发项目的一部分。软件开发的风险要素只要分为: 
  (一)软件开发的内容及质量风险 
  软件多是应需而生,社会的需要决定了软件的开发内容,而软件开发是一项长期而复杂的工程,与普通的工程项目相比具有很多潜在的风险,这些风险具有很大的危害性,需要开发人员及时对其定性并分析,使软件项目所受影响和损失降到最低。开发内容作为软件开发项目的基础,是整个开发过程的导向,始终贯穿于软件开发项目中。要想取得开发项目的成功就必须具备一个理性的开发内容及范围,如果在开发前不能将开发项目的内容及范围加以明确,必然会导致开发项目的风险甚至失败。 
  为了满足社会的进步和发展,软件开发也成为人们工作、生活的重中之重。软件开发项目的成功,不仅要具有明确的开发内容和范围,还要避免开发项目中出现质量问题。相应组织人员应制定质量技术衡量标准,使软件开发具有一定的规范性和可行性,否则,软件出现质量风险就可能导致软件开发项目达不到预定目标或者失败。 
  (二)软件开发的人员及组织风险 
  软件开发的过程由诸多因素组成,例如参与人员、组织团队、外界环境等,这就决定了开发过程的不确定性,工程中的控制与管理也就具有一定的难度。软件开发人员作为软件开发项目的主体,期间的人员变动或者人员的技术不达标,都可能使软件开发过程产生风险。 
  而组织风险是指,在软件开发项目组内部对于开发项目的内容或标准存在分歧,这样就容易因为计划的临时变动而带来软件开发的风险。组织的工作目的就是在决策者的引导下,通过对风险因素的分析将软件开发项目的风险降到最低程度,而工作的重点则是工程的进度、质量和资金,因此,组织风险的出现与否决定着软件开发项目的成败。 
  (三)软件开发的技术及政策风险 
  软件开发技术具有不确定性,在许多方面如设计、实施、验收和维护上都存在一些未知的因素,任何技术方案的变动都会引起软件开发的风险。技术主要表现在语言、环境及硬件层面,技术不过关会引起整个软件开发系统的变化,从而引起风险事件的发生。 
  同时,国家政策具有阶段性,它的制定来源于市场经济的变动,随着社会的不断发展,国家的相关政策也会随之调整,这些都可能成为软件开发中的风险,要阻止这类风险的产生是不可能的,想要赢得与政策风险的博弈,就要对当前的经济发展趋势及软件开发项目的可行性进行科学的比对,平衡在政策与风险之间的控制,这样不仅有利于项目的顺利开展,也大大提高了软件开发项目的成功率。 
  二、软件开发风险的控制途径 
  在软件开发的项目中,有些风险是可以根据已有的经验进行防范和控制,属于可预知类风险,有些风险则不以人的意志为转移属于不可预知类风险。风险根据不同的项目情况类别也不尽相同,想要有效的将风险控制住,就要在确定风险类别的基础上进行分析,采取科学有效的方法加以防范。 
  (一)通过风险监控防范软件开发的内容及质量风险 
  在软件开发项目中,开发的内容及质量风险属于可预知风险,而风险监控作为对软件开发风险控制的基础,对开发内容及质量风险具有一定的防范性。风险监控,是指对已潜在的风险进行监控并针对不同情况制定相应的措施进行解决,并对解决情况及进度加以实时防范,以防止风险的发生。 
  风险监控要从遏制风险的源头开始做起,软件开发的内容作为软件开发的基础是风险监控的首要任务,要规避内容风险,就要在软件开发项目开始前对开发的具体内容及范围进行明确定位并取得相关管理团队的一致通过,防止日后因软件开发内容的变动而产生风险,否则,根基不稳,就会导致软件开发进度的延误,前期所做的一切工作便会付诸流水,浪费人力物力。 
  质量问题,是软件开发项目的重中之重,只有质量过关软件才能造福于社会,反之一切都是空谈,要控制质量上的风险,就要在团队中明确质量技术标准并制定相关的技术文件,将开发过程规范化,防止质量问题的产生,尽量减少软件开发项目中质量风险的出现。质量,是项目工程的灵魂,只有把握住质量大关,产品才具有合格性。因此,要将风险监控的理念贯穿于整个软件开发的质量问题中,防范由于未达到相关技术标准而出现的质量风险。 
  (二)通过风险调控规避软件开发中的人员及组织风险 
  风险调控是指在软件开发项目的过程中,在已实施风险监控的基础上通过对软件开发方案进行探讨得出相关可行性并在开发过程中加以控制。在这个过程中,管理者应积极制定相关的可接受风险标准,对超出合理范围的风险及时予以调控,并不断从实践中总结经验形成相关风险数据库,为今后的软件开发项目提供参考资料。 
  在软件开发项目中,项目组相关人员的变动或者人员的技术不到位都属于可调控类风险,要想规避这类风险,就要在相关项目进行前加强对项目组人员的挑选,在给予员工物质条件的基础上多对员工的精神状态进行了解,避免出现项目进行中的人员离、换职现象。而人员的技术水平则需要相关管理者在招募时要对员工技术进行相应的考核,并且在挑选到合适的人员后,对人员进行系统而全面的业务培训,防止出现因人员对于业务不理解而产生的风险。   组织风险,一般是指在软件开发过程中,高层领导者或者组内人员对当前实施方案意见出现分歧而导致的风险,具有可调控性。俗话说,家和万事兴,用在团队之间也是一样的道理,只有大家共同协作,才能取得项目的最大利益,反之,组织内部意见不一致就会导致资金的缺失和计划的断档,延误工程进度。要想规避软件开发中的组织风险,就要在开发前对技术及方案进行讨论并达成一致意见,并在项目进行中加以适当的调控,对于超出预定风险范围的行为要及时加以制止,这样,才能进一步促进软件开发工程的顺利实施。 
  (三)通过风险缓解控制软件开发的技术及政策风险 
  在软件开发的过程中,经过前期的监控及调解方式,一般的可预知性风险就会得到有效的控制,但风险因素中的技术及国家政策因素具有不可预知性,这就导致了后期问题的产生。风险缓解是通过对不可预知类风险的审核和定期跟踪,将具体风险因素进行重点分析,从而对可能出现的风险进行缓解。尤其是在软件开发的过程中,很多风险因素后期会出现叠加的情况,管理者要根据项目的进度对不同的因素进行比对分析,得出相应的指标,对超出范围的部分找到原因并予以纠正,及时缓解因技术问题及国家政策带来的风险。 
  技术风险主要指开发、实施、维护等各个环节所潜在的问题,这些问题的共同特点是具有不确定性,这就导致了技术方案也随时可能出现临时变动,技术人员需要在整个软件的开发过程中定期对技术方案在合理范围内进行修正,以缓解因技术变动而带来的开发风险。 
  国家政策是软件开发项目的导向,它的变动所带来的风险不可预知性最强,需要管理者时刻保持警惕的心态。基于社会经济的不断发展,国家的政策也会随之进行相应的调整以满足社会人群的需求,这就需要管理者在熟悉相关政策法规的同时,对政策变动所引起的偏差及时作出调整,尽量予以纠正,以缓解软件开发过程中的此类风险。 
  三、结束语 
  随着社会的不断发展,在经济全球化的推动下,人们的消费欲望得到了有效的刺激,这就导致了软件开发项目的势在必行。想要促进软件开发项目的顺利进行,就要对开发过程中的风险因素进行分析,并根据其自身特点制定出相应的措施予以控制,只有这样,才能合理规避风险,达到成功开发软件的目的。 
  综上所述,软件开发项目不仅是经济发展的需要,也是社会进步的必然产物。在软件开发过程中,相关人员需要在不断吸取经验的基础上通过实践积累一定的经验,切实制定出规避风险的措施,降低风险出现的几率,为软件开发项目的成功作出充分准备,为满足社会需求作出贡献。