规范的软件过程和软件工程标准是取得软件项目成功的重要保障。常见的有关过程和标准的风险有:组织没有建立适用于本组织的软件过程规范或标准;没有管理机制保证项目团队按照软件工程标准来工作;流程的重组和标准的改变使开发人员不适应,甚至有抵触情绪;没有采用配置管理来跟踪和控制软件工程中的各种变更,等等。
IT行业的人员流动性大,个性较强,难于管理。一旦项目组织和人员发生变动,往往会关系到整个项目的成败。组织和人员管理方面的常见风险有:采用了不符合项目特征的组织结构和管理模式;人员离职或因特殊原因而不能参加项目工作;人员之间的沟通和协调产生障碍;人员之间产生冲突;因绩效评估、奖惩等方面的不当措施而挫伤员工的工作积极性;将项目的一部分外包给其他开发商,但与承包商之间缺乏良好的合作和沟通,等等。
软件项目所涉及的技术往往十分复杂,同时由于软件技术飞速发展,在项目中经常需要适当采用一些新技术,以更好地实现项目的目标。因此软件项目中经常隐含着技术风险,例如:团队对项目中的技术和工具缺少充分理解;缺少应用领域的经验和背景知识;采用了错误的技术和方法;需要对技术进行更新,但对新技术不熟悉;所采用的新技术不够成熟,等等。
首先表现在风险的存在是不以人的意志为转移的。不管风险主体是否意识到风险的存在,在一定条件下风险都可能变为现实。其次,风险的客观性还表现在它无时不有、无所不在,它潜在于各种活动之中。
风险何时何地有可能变为现实是不能确定的。由于人们对客观世界的认识受到各种条件的限制,不可能准确预测风险的发生。
风险一旦发生,就会给风险主体带来挫折、失败和损失,对风险主体不利。
在一定条件下风险可以转化,风险可以转化为非风险,非风险的事件也可转化为风险事件。
对于相同的风险,不同的风险主体的承受能力不同,不同的组织和个人往往对风险有着不同的容忍限度。风险和利益的对称性:风险和利益总是同时存在的,风险是利益的代价,利益是风险的报酬。
危机管理:风险已经造成麻烦后才着手处理。风险缓解:事先制定好风险发生后的补救措施,但不制定任何防范措施。着力预防:将风险防范作为项目的一部分加以规划和执行。消灭根源:识别和消灭可能产生风险的根源。
(1)风险规划:对风险管理进行系统规划和顶层设计,制定项目风险管理计划。(2)风险识别:识别出项目中的风险,并对其进行描述和分类。(3)风险评估:采用定性或定量的方法对风险发生的概率和产生的影响进行分析和评估。(4)风险应对:确定应对风险的方案和措施。(5)风险监控:在整个项目生命周期中跟踪已识别的风险,监测残余风险、识别新风险、实施风险应对方案并对其有效性进行评估。
*使用检查表法进行风险识别的优点是快速而简单,可以用来对照项目的实际情况,逐项排查,从而帮助识别风险。但由于每个项目都有其特殊性,检查表法很难做到全面周到。*在软件项目的收尾过程中,应通过总结项目经验,对风险核对表进行检查和改进。(2)德尔菲(Delphi)方法德尔菲方法又称专家调查法,本质上是一种匿名反馈的函询法。它起源于20世纪40年代末,最初由美国兰德公司应用于技术预测。把需要做风险识别的软件项目的情况分别匿名征求若干专家的意见,然后把这些意见进行综合、归纳和统计,再匿名反馈给各位专家,再次征求意见,再集中,再反馈,直至各专家的意见趋向一致,作为最后的结论。要使用好该方法需要注意它的三个主要特点:(1)德尔菲法中征求意见是匿名进行的,这有助于排除若干非技术性的干扰因素。(2)德尔菲法要反复进行多轮的咨询、反馈,这有助于逐步去伪存真,得到稳定的结果。(3)工作小组要对每轮的专家咨询结果进行统计、归纳,这样可以综合不同专家的意见,不断求精,最后形成统一的结论。
风险值=风险发生概率×风险影响程度
-节点2:100×0.8+(-10)×0.2=78(万元)-节点3:50×0.8+20×0.2=44(万元)-决策点1的期望损益值为:max{78,44}=78(万元)
风险应对就是针对风险分析的结果,制定风险应对策略和处置办法的过程,其目标是应对、减少、以至于消灭风险事件。(一)风险应对的主要策略:(1)回避风险回避风险是指当项目风险发生的可能性太大,不利后果也很严重,又无其他策略可用时,主动放弃或改变会导致风险的行动方案。回避风险包括主动预防风险和完全放弃两种。通过分析找出发生风险的根源,通过消除这些根源来避免相应风险的发生,这就是通过主动预防来回避风险。回避风险的另一种策略是完全放弃可能导致风险的方案。是最彻底的风险回避方法,可把风险发生的概率降为零,但也是一种消极的应对手段,在放弃的同时也可能会失去发展的机遇。注意事项:必须要对风险有充分的认识,对威胁出现的可能性和后果的严重性有足够的把握。另外,采取回避策略,最好在行动方案尚未实施时,若放弃或改变正在执行的方案,一般都要付出较高的代价。(2)转移风险转移风险又叫合伙分担风险,其目的是借用合同或协议,在风险事故一旦发生时将损失的全部或一部分转移到项目以外的有能力承受或控制风险的个人或组织。这种策略要遵循两个原则:第一,必须让承担风险者得到相应的回报;
第二,对于各具体风险,谁最有能力管理则让谁分担。
1.出售:通过买卖契约将风险转移给其他组织。这种方法在出售项目所有权的同时也就把与之有关的风险转移给了其他组织。2.外包:向本项目组织之外分包产品的开发,从而把风险转移出去。3.开脱责任合同:在合同中列入开脱责任条款,要求甲方(客户)在风险事故发生时,不令乙方(项目承担者)承担责任。4.保险与担保:保险是转移风险最常用的一种方法。项目承担者只要向保险公司交纳一定数额的保险费,当风险事故发生时就能获得保险公司的补偿,从而将风险转移给保险公司。所谓担保,指为他人的债务、违约或失误负间接责任的一种承诺。在项目管理上是指银行、保险公司或其他非银行机构为项目风险负间接责任的一种承诺。