0 引言项目管理者联盟
伴随着中国加入世贸组织,网络经济的发展和电子商务的普及,IT软件项目的应用范围逐步深入到社会生活的各领域。但是,大量的调查研究显示,IT软件项目的失败率一直较高。项目风险管理水平对IT软件项目的成败有着不可忽视的影响。项目管理者联盟
IT软件项目的开发是以信息技术为支撑,以业务活动为主体,以现代化管理为指导思想的一项全新的、复杂的系统化工程。要对此项工程进行系统化的风险管理,不仅仅要依靠成熟的技术和方法,并且还要结合此类项目工程的社会、经济和文化和背景才能使项目取得成功。本文基于霍尔三维结构模型的思想,分析了我国IT软件项目的特征,在此基础上提出了IT软件项目风险管理的三维结构模型,讨论了项目开发阶段主要风险的管理方法。项目管理者联盟
1 IT软件项目风险管理的研究进展www.mypm.net
IT软件项目风险管理在国外开展的比较早。一方面,在基于过程研究风险管理方面的模型,比较有名的是Boehm提出的Boehm模型。美国在卡内基·梅隆大学设立的软件工程研究所(Software Engineering Institute:SEI)提出的连续风险管理(Continuous Risk Management:CRM),Microsoft公司提出的微软解决框架(Microsoft Solutions Framework:MSF),等。另一方面,突出风险管理中的核心风险的Elaine M.Hall提出的P2I2模式。项目管理者联盟
国内学者在IT软件项目风险管理方面也提出了许多有创建的研究成果。李清、薛四新依据项目管理知识体系和IT项目管理的特殊性,探讨IT项目管理的体系结构和模型驱动的集成技术与方法。方德英在在2003年从方法论角度阐明了风险管理的学科思想、学科体系设计机理和设计准则,构建了全面IT项目风险管理体系。而后,在2006年又从组织保障、制度保障和机制保障三个方面,论述了组织类型的选择原理、人力资源的配置方法、机制设计的优化思路,并总结了现有的制度标准和度量体系。王寓辰、张金隆等借助粗集理论对IT项目风险评价方式进行研究。项目管理者联盟
由上可见,当前国外对IT软件项目风险管理已经形成一定的体系和方法。但是针对我国IT软件项目的特征的风险管理过程还需要更深入的讨论。项目管理是集成了众多管理方法和技术的系统化管理,风险管理是其核心的管理要素。本文深入讨论的问题是将IT软件项目涉及的开发过程、风险管理过程、风险管理方法等纳入到三维结构之中进行系统分析。针对我国IT软件项目整体规模较小,人力资源不足,资金缺乏等问题,通过分析项目开发每一阶段的主要风险和应对方法,探讨了我国IT软件项目的风险管理。项目管理者联盟
2 我国IT软件项目特点分析项目管理论坛
IT软件项目具有独有的特征,使其区别于一般项目。而且,我国在IT软件项目的发展上也具有一定的特殊性,所以使得我国的IT软件项目风险管理同一般的项目风险管理有所差异。首先,从IT软件项目的需求领域来看,我国国民经济生活的各个领域都能够同信息技术相结合构成信息化项目但是我国企业众多,管理水平差异很大,普遍存在管理不规范,管理制度不健全的问题,使得IT软件项目在开发和实施过程中难度较大。其次,在项目开发过程中,由于应用组织和个人在知识水平方面的差异很大,在软件开发和应用方面存在大量问题。最后,我国软件业人力资源严重不足,直接导致我国IT软件项目开发的高风险。由此,使得我国IT软件项目具有一些更为明显的特征。项目管理者联盟
第一,项目需求的不确定和技术的不确定更为强烈。满足用户需求是项目开发的目的,用户需求的不确定是项目风险的重要来源。项目需求的不确定来自于两个方面:一是我国用户自身素质的原因。由于用户对开发过程和使用的技术缺乏了解与开发人员的沟通存在困难。在项目初期很难描述详细的需求;二是用户所处环境导致了需求的不确定,需求往往随着复杂多变的环境而变化。IT软件项目技术的不确定性主要来自于项目开发组织和人员。我国软件开发规范化程度较低,软件开发人员流动性较高,对项目顺利完成的影响较大。项目管理者联盟
第二,IT软件项目开发团队的人才结构不合理。据报道,我国过各类型的软件公司共有1万家但是软件开发人员却只有59万的开发人员,多数企业的员工都在50人以下。并且,我国在项目开发团队中绝大多数是从事程序开发、技术支持和服务的人员,缺乏既有项目管理经验又有技术开发实践的项目经理,无法满足对项目团队对各层次人才的需求。相比较国外动辄上百人的IT软件公司我国IT软件开发团队无论从数量还是质量上来说,都具有较大的差距。这种差距直接的后果就是项目开发过程中的风险较高,项目最终能够在预定的时间、性能和预算内完成的可能性较低。项目管理者联盟
第三,利益相关者带来的风险。IT软件项目的利益相关者是指参与项目、或其利益会因项目的实施或完成而受到积极或消极影响的组织或个人。IT项目的实施,不仅仅是技术的改进,而是整个组织、管理制度的变革,众多实施IT软件项目的企业对此认识不足、准备不足,因此,各类利益相关者往往带来很大的风险。项目管理者联盟文章
3 IT软件项目风险管理的三维结构项目管理者联盟
本文依据霍尔三维结构,针对我国IT软件项目的特点提出IT软件项目风险管理的三维结构。霍尔三维结构是系统工程方法论的一个基本框架,体现了系统工程方法的总体化、综合化、最优化、程序化和标准化的特点。运用此方法,能够清晰而简捷的描述在IT软件项目开发过程中的风险管理。IT软件项目风险管理的三维结构,该结构由时间维、逻辑维和知识维组成。IT软件项目的风险管理的三维结构是指在项目开发过程中,运用合理的工具、方法和手段,对项目的风险进行规划、识别、分析、应对、跟踪和控制的过程。转自项目管理者联盟
3.1 时间维talent.mypm.net
在IT项目风险管理的三维结构中,时间维是指IT项目开发的全过程。本文采用软件开发经典的瀑布模型作为时间维的要素。瀑布模型将软件开发分为用户需求阶段、需求分析阶段、系统设计阶段、系统编码阶段、系统测试和系统实施阶段。在项目开发的每一阶段中都会出现各种风险,但是每一种风险的危害程度在各阶段是不同的。每一阶段最有可能发生且可能产生危害最大的前两个风险列出。在用户需求阶段,主要的工作是调研用户需求和用户环境,论证项目的可行性、制定项目的初步计划,对开发计划进行审评等工作。在这一阶段,最有可能发生和一旦发生带来损失最大的风险是规划风险和需求风险。规划风险是项目在进行可行性分析之前,项目规划与实施项目企业的规划之间存在的差距引起的风险,该风险往往会导致企业的高层管理人员对项目的消极态度。项目管理者联盟
IT软件项目开发中最主要的成功因素是实施项目企业高层领导的支持,一旦高层管理人员对项目抱有怀疑的态度,在项目开发过程中遇到的各方面困难会很难克服,致使项目最终走向失败。需求风险是指在项目的开发过程中,由于用户可能产生的需求变化或与需求文件的不明确带来的风险,该风险导致需求分析的失误或失败。在需求分析阶段,工作的重点是在确定系统的运行环境,建立系统逻辑模型,确定系统功能及性能要求,编写需求规格说明、用户手册概要,测试计划,确认项目开发计划等,此阶段的主要风险是环境风险和需求风险。环境风险主要是指项目外部环境带来的风险,包括对外部资源的依赖,技术标准的变化和竞争环境的变化等,该风险对系统功能的确定产生很大的偏差。系统设计阶段的主要工作是建立系统总体结构,划分功能模块、定义各功能模块接口,数据库设计,制定组装测试计划,对已完成的文档进行评审,设计各模块具体实现算法,确定模块间详细接口,制定模块测试方案等。该阶段主要风险是技术风险和开发人员风险。技术风险主要是指软硬件的选择和使用。该风险的后果包括两个方面:一是导致项目目标功能的不完备,达不到技术要求;另外一方面是形成“信息孤岛”,过多的选择创新型技术可能使得企业信息化变成巨大的灾难。club.mypm.net
开发人员风险是指项目开发团队人员带来的风险,包括团队结构不合理、团队成员离职和团队内部冲突等,该风险导致无法发挥团队智力,项目设计水平低,为项目失败埋下祸根。系统编码阶段的主要工作是编写程序源代码,进行模块测试和调试,编写用户手册、对已完成的文档进行评审等。这一阶段对团队成员的依赖和对技术管理的依赖较强,所以管理风险和开发人员风险发生的概率较高,产生的后果也较严重。系统测试阶段主要工作是执行集成测试计划、编写集成测试报告、测试整个软件系统、试用用户手册、编写开发总结报告等。该阶段主要风险是开发人员风险和管理风险。开发人员风险包括团队其它开发人员与测试人员配合、沟通、互动不够,项目团队与应用组织人员之间的培训、理解、沟通不够,导致项目问题不能及时有效地解决。管理风险是指对开发团队的管理和实施项目企业的管理漏洞带来的风险,特别是实施项目企业的流程重组,虽然往往表现在将要开始实施时,实际上是涉及项目整体的问题。在系统实施的过程中,主要风险是管理风险和技术风险。项目管理者联盟
在此阶段,管理风险导致项目的人机界面难以确定,各部门之间的分工出现模糊,责任互相推诿等现象。企业的工作效率和管理绩效比实施项目前可能会有所下降,直接导致企业管理人员对项目的信心。技术风险在此阶段的表现是巨大的和难以更改的。技术风险的后果一方面体现在项目没有达到预期的性能标准或无法完全满足用户的需求;另一方面是项目的技术太过于超前,使得企业无法同外界进行正常的信息沟通和交流,致使企业空有一个信息化的外壳而没有信息化的实质。talent.mypm.net
3.2 逻辑维项目管理者联盟
依据项目管理知识体系指南(]PMBOK)的风险管理过程,逻辑维分为IT软件项目风险规划、风险识别、风险定性分析、风险定量分析、风险应对计划和风险控制。IT软件项目风险管理规划是谋划项目风险管理的活动。该规划的重点是确定风险管理目标和任务,确定IT软件项目风险管理要点,组织风险管理团队,分享组织知识资产等。IT软件项目风险识别是在分享组织知识资产的基础上,深入分析开发团队特征、用户特征、环境特征、利益相关者特征、资源特征等,对风险影响状态、风险影响因素、风险影响后果等做出初步的判断。IT软件项目定性风险分析是对风险发生的概率及影响进行评估和汇总,进而对各类可能发生的风险进行排序。定量风险分析是指对威胁项目顺利完成的重大风险进一步量化分析的过程。IT软件项目风险应对规划是一系列基于资源、能力、知识的技术应对方案和管理应对方案。IT软件项目风险控制是在监控开发过程的基础上,保证各阶段开发成果与开发方案一致,风险一旦发生,即启动应对方案。项目经理博客
3.3 知识维项目管理者联盟
知识维是指在IT软件项目风险管理的过程中应用到的方法。在图1中,列出了风险识别、风险分析和风险应对的各类方法。风险识别的方法可以从两个角度划分,一是从内容方面,另外是从识别的过程方面。内容方面可把风险识别的方法分成经验型和知识型,具体的方法有风险源清单法、分类树法,工作结构分解、鱼刺图和层次分析法等;从识别的过程可划分为结构型和非结构型,具体的方法有文件审查法、头脑风暴法和德尔菲技术等方法。项目管理者联盟
IT软件项目风险识别方法的选定依据项目的具体情况和项目每一阶段的特点来进行挑选。例如在用户需求阶段,工作的重点在于对环境的调研和可行性论证,此阶段的历史数据较少,易采用头脑风暴法、集思广益会等等,尽可能多的收集信息。在需求分析阶段,由于上一阶段收集到充分的信息,此阶段需要对信息进行筛选,可采用文献审查或层次分析法等方法进行风险的识别。系统设计阶段的风险来源主要是项目开发过程中的技术和人员,此阶段的风险识别方法可选择以经验型的方法为主,如分类树和工作结构分解等。项目管理者联盟
风险分析的方法分为定量的方法和定性的方法。定性的方法如风险概率与影响评估、概率与影响矩阵、风险数据质量评估、风险分类、风险紧迫性评估和调查和专家评分法等。定量的方法有敏感性分析、预期货币价值分析、决策树分析、蒙特卡罗技术、模糊综合评价方法等。项目管理者联盟
|