求的不确定来自于两个方面:一是我国用户自身素质的原因。由于用户对开发过程和使用的技术缺乏了解与开发人员的沟通存在困难。在项目初期很难描述详细的需求;二是用户所处环境导致了需求的不确定,需求往往随着复杂多变的环境而变化。IT软件项目技术的不确定性主要来自于项目开发组织和人员。我国软件开发规范化程度较低,软件开发人员流动性较高,对项目顺利完成的影响较大。
第二,IT软件项目开发团队的人才结构不合理。据报道,我国过各类型的软件公司共有1万家但是软件开发人员却只有59万的开发人员,多数企业的员工都在50人以下。并且,我国在项目开发团队中绝大多数是从事程序开发、技术支持和服务的人员,缺乏既有项目管理经验又有技术开发实践的项目经理,无法满足对项目团队对各层次人才的需求。相比较国外动辄上百人的IT软件公司我国IT软件开发团队无论从数量还是质量上来说,都具有较大的差距。这种差距直接的后果就是项目开发过程中的风险较高,项目最终能够在预定的时间、性能和预算内完成的可能性较低。
第三,利益相关者带来的风险。IT软件项目的利益相关者是指参与项目、或其利益会因项目的实施或完成而受到积极或消极影响的组织或个人。IT项目的实施,不仅仅是技术的改进,而是整个组织、管理制度的变革,众多实施IT软件项目的企业对此认识不足、准备不足,因此,各类利益相关者往往带来很大的风险。
3 IT软件项目风险管理的三维结构
本文依据霍尔三维结构,针对我国IT软件项目的特点提出IT软件项目风险管理的三维结构。霍尔三维结构是系统工程方法论的一个基本框架,体现了系统工程方法的总体化、综合化、最优化、程序化和标准化的特点。运用此方法,能够清晰而简捷的描述在IT软件项目开发过程中的风险管理。IT软件项目风险管理的三维结构,该结构由时间维、逻辑维和知识维组成。IT软件项目的风险管理的三维结构是指在项目开发过程中,运用合理的工具、方法和手段,对项目的风险进行规划、识别、分析、应对、跟踪和控制的过程。
3.1 时间维
在IT项目风险管理的三维结构中,时间维是指IT项目开发的全过程。本文采用软件开发经典的瀑布模型作为时间维的要素。瀑布模型将软件开发分为用户需求阶段、需求分析阶段、系统设计阶段、系统编码阶段、系统测试和系统实施阶段。在项目开发的每一阶段中都会出现各种风险,但是每一种风险的危害程度在各阶段是不同的。每一阶段最有可能发生且可能产生危害最大的前两个风险列出。在用户需求阶段,主要的工作是调研用户需求和用户环境,论证项目的可行性、制定项目的初步计划,对开发计划进行审评等工作。在这一阶段,最有可能发生和一旦发生带来损失最大的风险是规划风险和需求风险。规划风险是项目在进行可行性分析之前,项目规划与实施项目企业的规划之间存在的差距引起的风险,该风险往往会导致企业的高层管理人员对项目的消极态度。
IT软件项目开发中最主要的成功因素是实施项目企业高层领导的支持,一旦高层管理人员对项目抱有怀疑的态度,在项目开发过程中遇到的各方面困难会很难克服,致使项目最终走向失败。需求风险是指在项目的开发过程中,由于用户可能产生的需求变化或与需求文件的不明确带来的风险,该风险导致需求分析的失误或失败。在需求分析阶段,工作的重点是在确定系统的运行环境,建立系统逻辑模型,确定系统功能及性能要求,编写需求规格说明、用户手册概要,测试计划,确认项目开发计划等,此阶段的主要风险是环境风险和需求风险。环境风险主要是指项目外部环境带来的风险,包括对外部资源的依赖,技术标准的变化和竞争环境的变化