的风险是很重要的。
风险管理在项目管理中占有非常重要的地位。首先,有效的风险管理可以提高项目的成功率。其次,风险管理可以增加团队的健壮性。与团队成员一起进行风险分析可以让大家对困难有充分估计,对各种意外有心理准备,大大提高组员的信心,从而稳定队伍。第三,有效的风险管理可以帮助项目经理抓住工作重点,将主要精力集中于重大风险,将工作方式从被动救火转变为主动防范。
被动风险策略是针对可能发生的风险来监督项目,直到它们变成真正的问题时,才会拨出资源来处理它们。更普遍的是,软件项目组对风险不闻不问,直到发生了错误才赶紧采取行动,试图迅速地纠正错误。这种管理模式常常被称为“救火模式”。当补救的努力失败后,项目就处在真正的危机之中了。
对于风险管理的一个更聪明的策略是主动式的。主动策略早在技术工作开始之前就已经启动了。标识出潜在的风险,评估它们出现的概率及产生的影响,对风险按重要性进行排序,然后,软件项目组建立一个计划来管理风险。主动策略中的风险管理,其主要目标是预防风险。但是,因为不是所有的风险都能够预防,所以,项目组必须建立一个应付意外事件的计划,使其在必要时能够以可控的及有效的方式做出反应m任何一个系统开发项目都应将风险管理作为软件项目管理的重要内容。
在进行软件项目风险管理时,要标识出潜在的风险,评估它们出现的概率及产生的影响,并按重要性加以排序,然后建立一个规划来管理风险。风险管理的主要目标是预防风险,但不是所有的风险都能够预防。所以必须建立一个意外事件计划,使其在必要时能以可控的和有效的方式做出反应。风险管理目标的实现包含三个要素。首先,必须在项目计划书中写下如何进行风险管理;第二,项目预算必须包含解决风险所需的经费,如果没有经费,就无法达到风险管理的目标;第三,评估风险时,风险的影响也必须纳入项目规划中。
风险管理涉及的主要过程包括:风险识别,风险量化,风险应对计划制定和风险监控,如图1所示[1][3]。风险识别在项目的开始时就要进行,并在项目执行中不断进行。就是说,在项目的整个生命周期内,风险识别是一个连续的过程。
风险识别:风险识别包括确定风险的来源,风险产生的条件,描述其风险特征和确定哪些风险事件有可能影响本项目。风险识别不是一次就可以完成的事,应当在项目的自始至终定期进行。
风险量化:涉及对风险及风险的相互作用的评估,是衡量风险概率和风险对项目目标影响程度的过程。风险量化的基本内容是确定那些事件需要制定应对措施。。
风险应对计划制定:针对风险量化的结果,为降低项目风险的负面效应制定风险应对策略和技术手段的过程。风险应对计划依据风险管理计划、风险排序、风险认知等依据,得出风险应对计划、剩余风险、次要风险以及为其它过程提供得依据。
风险监控:涉及整个项目管理过程中的风险进行应对。该过程的输出包括应对风险的纠正措施以及风险管理计划的更新。
三、软件项目中的风险
软件项目的风险无非体现在以下四个方面:需求、技术、成本和进度。IT项目开发中常见的风险有如下几类:
ü 需求风险
①需求已经成为项目基准,但需求还在继续变化;
②需求定义欠佳,而进一步的定义会扩展项目范畴;
③添加额外的需求;
④产品定义含混的部分比预期需要更多的时间;
⑤在做需求中客户参与不够;
⑥缺少有效的需求变化管理过程。
ü 计划编制风险
①计划、资源和产品定义全凭客户或上层领导口头指令,并且不完全一致;
②计划是优化的,是"最佳状态",但计划不现实,只能算是"期望状态";
③计划基于使用特定的小组成员,而那个特定的小组成员其实指望不