过程可划分为结构型和非结构型,具体的方法有文件审查法、头脑风暴法和德尔菲技术等方法。
IT软件项目风险识别方法的选定依据项目的具体情况和项目每一阶段的特点来进行挑选。例如在用户需求阶段,工作的重点在于对环境的调研和可行性论证,此阶段的历史数据较少,易采用头脑风暴法、集思广益会等等,尽可能多的收集信息。在需求分析阶段,由于上一阶段收集到充分的信息,此阶段需要对信息进行筛选,可采用文献审查或层次分析法等方法进行风险的识别。系统设计阶段的风险来源主要是项目开发过程中的技术和人员,此阶段的风险识别方法可选择以经验型的方法为主,如分类树和工作结构分解等。
风险分析的方法分为定量的方法和定性的方法。定性的方法如风险概率与影响评估、概率与影响矩阵、风险数据质量评估、风险分类、风险紧迫性评估和调查和专家评分法等。定量的方法有敏感性分析、预期货币价值分析、决策树分析、蒙特卡罗技术、模糊综合评价方法等。
定性分析方法通常依赖主观概率来进行风险分析。如果对某一IT软件项目较为了解,而且能够做出较为准确的判断,可采用此方法。定量分析方法须建立在一系列历史数据的基础上,如果IT软件项目具有特殊性,或者没有适合的历史数据作为参考,则使用此类方法较为困难。在IT软件项目开发的前期,由于历史数据的缺乏和项目的特殊性,采用定性分析的方法能够较好的分析项目的风险。随着项目开发过程的不断推进,项目的环境和条件逐渐清晰,可获得的资源和信息越来越充分,此时可采用定量的方法进行分析。
风险应对的方法包括了风险规避、风险转嫁、风险减轻和风险接受等。IT软件项目风险回避是指在改变项目计划,以排除风险存在的条件,或者保护项目目标,使其不受影响,或对受到威胁的一些目标放松要求,例如,IT软件项目开发早期改变项目的计划不会给企业带来巨大的损失,可以通过风险回避的策略来应对风险。技术风险通常可以此方法来实现风险的应对。IT软件项目风险转嫁是指设法将风险的后果连同应对的责任转移到第三方身上,例如,将技术难度大的软件开发过程外包,或同有经验的开发商联系,进行联合开发等等。风险转嫁通常可以应用在对技术风险、环境风险和开发人员风险的应对上。IT软件项目风险减轻是指设法把不利的风险事件的概率或后果降低到一个可接受的临界值,例如,在项目开发早期出现的规划风险和需求,往往是由于沟通不足产生的风险,通过加强沟通和对项目的认识,能够在一定程度上降低风险的发生概率。
IT软件项目风险接受是指项目团队已经决定不打算为处置某项风险而改变计划,或无法找到任何应对的良策,例如,项目后期发生的技术风险,已经没有更改项目计划和降低或提高项目性能的可能性,此时只能是准备一定的资金,应对可能发生的风险。IT软件项目风险应对方法不仅仅要依据风险分析的结果,而且,在项目开发的不同阶段,项目风险的应对方法也应有不同。例如,在用户需求和需求分析阶段,这一阶段修改项目计划或目标对项目的实施影响不大,损失较小,所以在风险应对方面可以选择风险回避或风险转嫁。风险回避的成本较低,只要改变可能发生风险的条件,就能够应对风险。在用户需求和需求分析阶段,参与项目活动的利益相关者较多,在此时能够把一部分风险转嫁到这些利益相关者身上。但此种风险应对的方法较为消极,不能够时时采用。在系统设计和系统编码阶段,此阶段已经投入了一定的人力和物力,如果大规模修改项目计划或重新指定项目目标,会带来较大的损失,所以只能采用风险减轻或风险转嫁的应对方法。在系统测试和系统实施阶段,项目已经接近完工,投入巨大,此时不能再采用风险回避的应对方法,会对项目造成巨大的损失,并且打击项目团队工作的积极性,易采用风险接受的应对方法,准备一定的资金和技术,应对即将发生的风险。
4 总结
针对我国IT软件项目复杂性和风险高的特点,从时间维、逻辑维和知识维角度,构建了IT软件项目风险管理的三维结构,将IT软件项目涉及的开发过程、风险管理过程、风险管理方法等纳入到三维结构之中进行系统分析。不同的IT软件项目的特点和开发过程各有不同,在实践过程中还有待对此结构进行调整和改进。