搜档网
当前位置:搜档网 › 软件项目风险管理

软件项目风险管理

软件项目风险管理
软件项目风险管理

软件项目风险管理

一、风险管理概述

软件风险是指软件开发过程中及软件产品本身可能造成的伤害或损失。风险关注未来的事情,这意味着,风险涉及选择及选择本身包含的不确定性,在软件开发过程及软件产品都要面临各种决策的选择。风险是介于确定性和不确定性之间的状态,是处于无知和完整知识之间的状态。另一方面,风险将涉及思想、观念、行为、地点等因素的改变。

当在软件工程领域考虑风险时,我们要关注以下的问题:什么样的风险会导致软件项目的彻底失败?用户需求、开发技术、目标计算机、以及所有其它与项目有关的因素的改变将会对按时交付和总体成功产生什么影响?对于采用什么方法和工具,需要多少人员参与工作的问题,我们如何选择和决策?对软件质量要达到什么程度才是“足够的”?

当没有办法消除风险,甚至连试图降低该风险也存在疑问时,这些风险就是真正的风险了。在我们能够标识出软件项目中的真正风险之前,识别出所有对管理者和开发者而言均为明显得风险是很重要的。

二、被动和主动的风险策略

被动风险策略是针对可能发生的风险来监督项目,直到它们变成真正的问题时,才会拨出资源来处理它们,更普遍的是,软件项目组对风险不闻不问,直到发生了错误才赶紧采取行动,试图迅速地纠正错误。这种管理模式常常被称为“救火模式”。当补救的努力失败后,项目就处在真正的危机之中了。

对于风险管理的一个更聪明的策略是主动式的。主动策略早在技术工作开始之前就已经启动了――标识出潜在地风险,评估它们出现的概率及产生的影响,对风险按重要性进行排序,然后,软件项目组建立一个计划来管理风险。主动策略风险管理的主要目标是预防风险。但是,因为不是所有的风险都能够预防,所以,项目组必须建立一个应付意外事件的计划,使其在必要时能够以可控的及有效的方式作出反应。

三、软件风险

1、软件风险包含两个特征:

不确定性——刻划风险的事件可能发生也可能不发生,没有100%发生的风险。

损失——如果风险变成了现实,就会产生恶性后果或损失。

2、进行风险分析时,重要的是量化不确定的程度和与每个风险相关的损失的程度。

为了实现这点,必须考虑以下几种不同类型的风险:

项目风险:项目风险是指潜在的预算、进度、人力(工作人员和组织)、资源、客户、需求等方面的问题以及它们对软件项目的影响。项目风险威胁项目计划,如果风险变成现实,有可能会拖延项目的进度,增加项目的成本。项目风险的因素还包括项目的复杂性、规模、结构的不确定性。

技术风险:是指潜在地设计、实现、接口、验证和维护等方面的问题。此外规约的二义性、技术的不确定性、陈旧的技术、以及“过于先进”的技术也是风险因素。技术风险威胁要开发的软件的质量及交付时间。如果技术风险变成现实,则开发工作可能变得很困难或者不可能。

商业风险:商业风险威胁到要开发软件的生存能力。商业风险常常会危害项目或产品。

五个主要的商业风险是:

(1)开发一个没有人真正需要的优秀产品或系统(市场风险);

(2)开发的产品不再符合公司的整体商业策略(策略风险);

(3)建造了一个销售部门不知道如何去卖的产品;

(4)由于重点的转移或人员的变动而失去了高级管理层的支持(管理风险);

(5)没有得到预算或人力上的保证(预算风险)。

3、风险分为以下方式:

(1)已知风险,是通过仔细评估项目计划、开发项目的商业及技术环境、以及其它可靠的信息来源(如:不现实的交付时间,没有需求或软件范围的文档、恶劣的开发环境)之后可以发现的那些风险。

(2)可预测风险,能够从过去项目的经验中推测出来(如:人员调整,与客户之间无法沟通,由于需要进行维护而使开发人员精力分散)。

(3)不可预测风险,它们可能、也会真的出现,但很难事先识别出它们来。

四、识别风险

识别风险是试图系统化地确定对项目计划(估算、进度、资源分配)的威胁。通过识别已知和可预测的风险,项目管理者就有可能避免这些风险,且当必要时控制这些风险。

每一类风险可以分为两种不同的类型:一般性风险和特定产品的风险。一般性风险对每一个软件项目而言都是一个潜在地威胁。特定产品的风险只有那些对当前项目的技术、人员、及环境非常了解的人才能识别出来。为了识别特定产品的风险,必须检查项目计划及软件范围说明,从而了解本项目中有什么特殊的特性可能会威胁到项目计划。

一般性风险和特定产品的风险都应该被系统化地标识出来。识别风险的一个方法是建立风险条目检查表。该检查表可以用来识别风险,并可以集中来识别下列常见子类型中已知的及可预测的风险:

?产品规模——与要建造或要修改的软件的总体规模相关的风险。

?商业影响——与管理或市场所加诸的约束相关的风险。

?客户特性——与客户的素质以及开发者和客户定期通信的能力相关的风险。

?过程定义——与软件过程被定义的程度以及它们被开发组织所遵守的程度相关的风险。

?开发环境——与用以建造产品的工具的可用性及质量相关的风险。

?建造的技术——与待开发软件的复杂性以及系统所包含技术的“新奇性”相关的风险。

?人员数目及经验——与参与工作的软件工程师的总体技术水平及项目经验相关的风险。

风险条目检查表能够以不同的方式来组织。与上述话题相关的问题可以由每一个软件项目来回答。这些问题的答案使得计划者能够估算风险产生的影响。

1、产品规模风险

项目风险是直接与产品规模成正比的。下面的风险检查表中的条目标识了产品(软件)规模相关的常见风险:

?是否以LOC或FP估算产品的规模;

?对于估算出的产品规模的信任程度如何;

?是否以程序、文件或事务处理的数目来估算产品规模;

?产品规模与以前产品的规模的平均值的偏差百分比是多少;

?产品创建或使用的数据库大小如何;

?产品的用户数有多少;

?产品的需求改变多少?交付之前有多少?交付之后有多少?

?复用的软件有多少?

2、商业影响风险

销售部门是受商业驱动的,而商业考虑有时会直接与技术实现发生冲突。下面的风险检查表中的条目标识了与商业影响相关的常见风险:

?本产品对公司的收入有何影响;

?本公司是否得到公司高级管理层的重视;

?交付期限的合理性如何;

?将会使用本产品的用户数及本产品是否与用户的需要相符合;

?本产品必须能与之互操作的其它产品/系统的数目;

?最终用户的水平如何;

?政府对本产品开发的约束;

?延迟交付所造成的成本消耗是多少;

?产品缺陷所造成的成本消耗是多少;

对于待开发产品的每一个回答都必须与过去的经验加以比较。如果出现了较大的百分比偏差或者如果数字接近过去很不令人满意的结果,则风险较高。

3、客户相关风险

客户有不同的需要。一些人只知道他们需要什么;而另一些人知道他们不需要什么。一些客户希望进行详细的讨论,而另客户则满足于模糊的承诺。

客户有不同的个性。一些人喜欢享受客户的身份,而另一些人则根本不喜欢做为客户。一些人会高兴地接受几乎任何交付的产品,并能充分利用一个不好的产品;而另一些人则会对质量差的产品猛烈抨击。一些人会对质量好的产品表示赞赏;而另一些人则不管怎样都抱怨不休。

客户和供应商之间也有各种不同的通信方式。一些人非常熟悉产品及生产厂商;而另一些人则可能素未谋面,仅仅通过信件来往和电话与生产厂商沟通。

一个“不好的”客户可能会对一个软件项目组能否在预算内完成项目产生很大的影响。对于项目管理者而言,不好的客户是对项目计划的巨大威胁和实际的风险。下面的风险检查表中的条目标识了与客户特征相关的常见风险:

?你以前是否曾与这个客户合作过;

?该客户是否很清楚需要什么;他能否化时间把需求写出来;

?该客户是否同意花时间召开正式的需求收集会议,以确定项目范围;

?该客户是否愿意建立与开发者之间的快速通信渠道;

?该客户是否愿意参加复审工作;

?该客户是否具有改产品领域的技术素养;

?该客户是否愿意你的人来做他们的工作;

?该客户是否了解软件过程;

如果对于这些问题中的任何一个答案是否定的,则需要进一步的调研,以评估潜在地风险。

4、过程风险

如果软件过程定义得不清楚;如果分析、设计、测试以无序的方式进行;如果质量是每个人都认为很重要的概念,但没有人切实采取行动来保证它,那么这个项目就处在风险之中。

过程问题:

?高级管理层是否有一份已经写好的政策陈述,该陈述中强调了软件开发标准过程的重要性;

?开发组织是否已经拟定了一份已经成文的、用于本项目开发的软件过程的说明;

?开发人员是否同意按照文档所写的软件过程进行开发工作,并自愿使用它;

?该软件过程是否可以用于其它项目;

?管理者和开发人员是否接受过一系列的软件工程培训;

?是否为每一个软件开发者和管理者提供了印好的软件工程标准;

?是否为作为软件过程一部分而定义的所有交付物建立了文档概要及示例;

?是否定期对需求规约、设计和编码进行正式的技术复审;

?是否定期对测试过程和测试情况进行复审;

?是否对每一次正式技术复审的结果建立了文档,其中包括发现的错误及使用的资源;

?有什么机制来保证按照软件工程标准来指导工作;

?是否使用配置管理来维护系统/软件需求、设计、编码、测试用例之间的一致性;

?是否使用一个机制来控制用户需求的变化及其对软件的影响;

?对于每一个承包出去的子合同,是否有一份文档化的工作说明、一份软件需求规约和一份软件开发计划;

?是否有一个可遵循的规程,来跟踪及复审子合同承包商的工作;

技术问题

?是否使用方便易用的规格说明技术来辅助客户与开发者之间的通信;

?是否使用特定的方法进行软件分析;

?是否使用特定的方法进行数据和体系结构的设计;

?是否90%以上的代码都是使用高级语言编写的;

?是否定义及使用特定的规则进行代码编写;

?是否使用特定的方法进行测试用例的设计;

?是否使用配置管理软件工具控制和跟踪软件过程中的变化活动;

?是否使用工具来创造软件原型;

?是否使用软件工具来支持测试过程;

?是否使用软件工具来支持文档的生成和管理;

?是否收集所有软件项目的质量度量值;

?是否收集所有软件项目的生产率度量值;

如果对于上述问题的答案多数是否定的,则软件过程是薄弱的,且风险很高

5、技术风险

突破技术的极限极具挑战性和令人兴奋,但这也是有风险的。下面的风险检查表中的条目标识了与建造的技术相关的常见风险:

?该技术对于你的公司而言是新的吗;

?客户的需求是否需要创建新的算法或输入、输出技术;

?待开发的软件是否需要使用新的或未经证实的硬件接口;

?待开发的软件是否需要与开发商提供的未经证实的软件产品接口;

?待开发的软件是否需要与功能和性能均未在本领域得到证实的数据库系统接口;

?产品的需求是否要求采用特定的用户界面;

?产品的需求中是否要求开发某些程序构件,这些构件与你的公司以前开发的构件完全不同;

?需求中是否要求采用新的分析、设计、测试方法;

?需求中是否要求使用非传统的软件开发方法;

?需求中是否有过分的对产品的性能约束;

?客户能确定所要求的功能是可行的吗?

如果对于这些问题中的任何一个答案是肯定的,则需要进一步的调研,以评估潜在地风险。

6、开发环境风险

软件工程环境支持项目组、过程及产品,但是,如果环境有缺陷,它就有可能成为重要的风险源。下面的风险检查表中的条码标识了与开发环境相关的风险:

?是否有可用的软件项目管理工具;

?是否有可用的软件过程管理工具;

?是否有可用的分析及设计工具;

?分析和设计工具是否适用于待建造产品;

?是否有可用的编译器或代码生成器;

?是否有可用的测试工具;

?是否有可用的软件配置管理工具;

?环境是否利用了数据库或数据仓库;

?项目组的成员是否接受过每个所使用工具的培训;

?是否有专家能够回答有关工具的问题;

?工具的联机帮助及文档是否适当;

如果对于上述问题的答案多数是否定的,则软件开发环境是薄弱的,且风险很高。

7、与人员数目及经验相关的风险

?是否有最优秀的人员可用;

?人员在技术上是否配套;

?是否有足够的人员可用;

?开发人员是否能够自始至终地参加整个项目的工作;

?项目中是否有一些人员只能部分时间工作;

?开发人员对自己的工作是否有正确的期望;

?开发人员是否接受过必要的培训;

?开发人员的流动是否仍能保证工作的连续性;

如果对于这些问题中的任何一个答案是否定的,则需要进一步的调研,以评估潜在地风险。

8、风险因素和驱动因子

为了很好地识别和消除软件风险,项目管理者需要标识影响软件风险因素的风险驱动因子,这些因素包括性能、成本、支持和进度。风险因素是以如下的方式定义的:

?性能风险——产品能够满足需求且符合于其使用目的的不确定的程度。

?成本风险——项目预算能够被维持的不确定的程度。

?支持风险——软件易于纠错、适应及增强的不确定的程度。

?进度风险——项目进度能够被维持且产品能按时交付的不确定的程度。

每一个风险驱动因子对风险因素的影响均可分为四个影响类别——可忽略的、轻微的、严重的、灾难性的。下表指出了由于错误而产生的潜在影响或没有达到预期的结果所产生的潜在影响。影响类别的选择是以最符合表中描述的特性为基础的。

五、风险预测

风险预测,又称风险估算,试图从两个方面评估每一个风险——风险发生的可能性或概率,以及风险发生了,所产生的后果。项目计划者、其它管理人员和技术人员一起执行四个风险预测活动:

(1)建立一个尺度,以反映风险发生的可能性;

(2)描述风险的后果;

(3)估算风险对项目及产品的影响;

(4)标注风险预测的整体精确度,以免产生误解。

1、建立风险表

风险表给项目管理者提供了一种简单的风险预测技术。(样本如下表)

项目组一开始要在表中的第一列列出所有风险可能,这些可以利用前面所述的风险检查条目来完成。在第二列队风险进行分类,风险发生概率放在第三列。每个风险的概率值可以由项目组成员个别估算,然后将这些值平均,得到一个有代表性的概率值。

一旦完成风险表的前四列内容,就要根据概率及影响来进行排序。高概率、高影响的风险放在表的上方。这就完成了第一次风险排序。

项目管理者研究已经排序的表,并定义一条终止线。该终止线(表中某一点上的一条水平线)表示:只有在那些线上的风险才会得到进一步的关注,线之下的风险则需要再评估以完成第二次排序。

风险影响及概率从管理的角度来考虑,是起着不同作用的(见下图)。一个具有高影响但发生概率很低的风险因素不应该花费太多的管理时间。而高影响且发生概率为中到高的风险以及低影响但高概率的风险,应该首先考虑。

2、评估风险影响

如果风险真的发生了,所产生的后果有三个因素可能会受影响:风险的性质、范围、时间。风险的性质是指当风险发生时可能产生的问题。例如,一个定义得很差的与客户硬件的接口(技术风险)会妨碍早期的设计和测试,也有可能导致项目后期阶段的系统集成问题。风险的范围结合了严重性及其整体分布情

况。风险的时间主要考虑何时能够感到风险,风险会持续多长时间。在大多数情况下,项目管理者希望“坏消息”越早出现越好。

以下的步骤用来确定风险的整体影响:

?确定每个风险元素发生的平均概率。

?使用前面的表格,基于其中列出的标准来确定每个因素的影响。

?完成风险表,分析其结果。

?风险预测和分析技术可以在软件项目进展过程中跌代使用。项目组定期复查风险表,再评估每一个风险,以确定新的情况是否引起其概率及影响的改变。

3、风险评估

我们建立如下形式的一系列三元组:[r,l,x]

其中r表示风险,l表示风险发生的概率,x表示风险产生的影响。在风险评估过程中,我们进一步审查在风险预测阶段所做的估算的精确度,试图为所发现的风险排出优先次序,并开始考虑如何控制或避免可能发生的风险。

要使评估发生作用,必须定义一个风险参考水平值。对于大多数软件项目而言,前面讨论的风险因素——性能、成本、支持、进度,也代表了风险参考水平值。即,对于性能下降、成本超支、支持困难、或进度延迟,都有一个水平值的要求,超过它就会导致项目被迫停止。如果风险的组合所产生的问题引起一个或多个参考水平值被超过,则工作将会停止。在软件风险分析中,风险参考水平值存在一个点,称为参考点或临界点,在这个点上,决定继续进行该项目或终止它(问题太多)都是可以接受的。

下图以图形方式表示了这种情况。如果风险的组合产生问题导致成本超支及进度延迟,则会有一个水平值,即图中的曲线,当超过它时会引起项目终止。

实际上,参考水平很少能表示成光滑曲线。在大多数情况下,它是一个区域,其中存在很多不确定性。

因此,在风险评估中,我们执行以下步骤:

?定义项目的风险参考水平值;

?建立每一组[r,l,x]与每一个参考水平值之间的关系;

?预测一组临界点以定义项目终止区域,该区域由一条曲线或不确定区域界定。

?预测什么样的风险组合会影响参考水平值。

六、风险缓解、监控和管理

进一步的所有风险分析活动都只有一个目的——辅助项目组建立处理风险的策略。一个有效的策略必须考虑三个问题:

?风险避免

?风险监控

?风险管理及意外事件计划

如果软件项目组对于风险采取主动的方法,则避免永远是最好的策略。这可以通过建立一个风险缓解计划来达到。例如,频繁的人员流动被标注为一个项目风险,基于以往的历史和管理经验,人员流动的概率为70%,而影响被预测卫对于项目成本及进度有严重的影响。为了缓解这个风险,项目管理者必须建立一个策略来降低人员流动。可能采取的策略如下:

?与现有人员一起探讨一下人员流动的原因(如恶劣的工作条件,低报酬,竞争激烈)

?在项目开始之前,采取行动以缓解那些在管理控制之下的原因。

?一旦项目启动,假设会发生人员流动并采取一些技术措施以保证当人员离开时的工作连续性。

?对项目进行良好组织,使得每一个开发活动的信息能被广泛传播和交流。

?定义文档的标准,并建立相应的机制,以确保文档能被及时建立。

?对所有工作进行详细复审,使得不止一个人熟悉该项工作。

?对于每一个关键的技术人员都指定一个后备人员。

随着项目的进展,风险监控活动开始进行。项目管理者监控某些因素,这些因素可以提供风险是否正在变高或变低的指示。在上例中,应该监控下列因素:

?项目组成员对项目压力的一般态度。

?项目组的凝聚力。

?项目组成员彼此之间的关系。

?与报酬和利益相关的潜在问题

?在公司内及公司外工作的可能性。

除了监控上述因素之外,项目管理者还应该监控风险缓解步骤的效力。例如:上例中,风险缓解步骤要求定义“文档的标准,并建立相应的机制,以确保文档能被及时建立”。如果有关键的人物离开了项目组,这是保证工作连续性的机制。项目管理者应该仔细地监控这些文档,以保证文档内容正确,当新员工加入该项目时,能为他们提供必要的信息。

风险管理及意外事件计划假设缓解工作已经失败,风险变成了现实。继续前面的例子,假定项目正在进行中,有一些人宣布将要离开。如果按照缓解策略行事,则有后备人员可用,因为信息已经文档化,有

关知识已经在项目组中广泛进行了交流。此外,项目管理者还可以暂时重新将资源调整到那些需要人的地方去,并调整项目进度,从而使新加入的成员能够“赶上进度”。同时,要求那些要离开的人员停止工作,进入“知识交接模式”。

RMMM步骤将导致额外的项目开销。因此,风险管理的部分任务是评估何时由RMMM步骤所产生的效益低于实现它们所花费的成本。本质上是讲,项目计划者执行一个典型的成本-效益分析来估算项目开销变化情况。

对于一个大型项目,可能会标识出30-40种风险。如果为每种风险定义三至七个风险管理步骤,则风险管理本身就可能变成一个“项目”。经验表明:整个软件风险的80%(即可能导致项目失败的80%潜在的因素)能够由仅仅20%的已知风险来说明。早期风险分析步骤中所实现的工作能够帮助计划者确定哪些风险在所说的20%中。

1、安全性风险和危险

风险不仅限于软件项目本身。在软件已经能够交付客户之后,仍有可能发生风险。这些风险一般与领域中的软件失败相关。

虽然一个良好的系统发生错误的概率很小,但是基于计算机的控制及监督系统中未被发现的错误可能会导致巨大的经济损失,或者更加严重

当软件被用作控制系统的一部分时,复杂性会以数量级增加。由于人的错误所引起的微小的设计缺陷,在使用软件时会变得难以发现。

软件安全和危险分析是属于软件质量保证活动,它主要是用来标识和评估可能对软件产生负面影响并使整个系统失败的潜在危险。如果能够在软件工程的早期阶段标出危险,则可以指定软件设计特征来消除或控制潜在地危险。

2、RMMM计划

风险管理策略可以包含在软件项目计划中,或者风险管理步骤也可以组织成一个独立的风险缓解、监控和管理计划(RMMM计划)。RMMM计划将所有风险分析文档化,并由项目管理者作为整个项目计划中的一部分来使用。RMMM计划的大纲如下:

Ⅰ.引言

文档的范围和目的

主要风险综述

责任

a.管理者

b.技术人员

Ⅱ.项目风险表

终止线之上所有风险的描述

影响概率及影响的因素

Ⅲ.风险缓解、监控和管理

缓解

一般策略

缓解风险的特定步骤

监控

被监控的因素

监控办法

管理

意外事件计划

特殊的考虑

Ⅳ.RMMM计划的迭代时间安排表

Ⅴ总结

七、软件风险的总结

当对软件项目期望值很高时,一般都会进行风险分析。不过,即使进行这项工作,大多数软件管理者都是非正式地和表面地完成它。化在标识、分析、管理风险上的时间可以从多个方面得到回报:更加平稳的项目进展过程;较高的跟踪和控制项目的能力;因为周密计划而产生的信心。

软件项目风险管理

软件项目风险管理 一、风险管理概述 软件风险是指软件开发过程中及软件产品本身可能造成的伤害或损失。风险关注未来的事情,这意味着,风险涉及选择及选择本身包含的不确定性,在软件开发过程及软件产品都要面临各种决策的选择。风险是介于确定性和不确定性之间的状态,是处于无知和完整知识之间的状态。另一方面,风险将涉及思想、观念、行为、地点等因素的改变。 当在软件工程领域考虑风险时,我们要关注以下的问题:什么样的风险会导致软件项目的彻底失败?用户需求、开发技术、目标计算机、以及所有其它与项目有关的因素的改变将会对按时交付和总体成功产生什么影响?对于采用什么方法和工具,需要多少人员参与工作的问题,我们如何选择和决策?对软件质量要达到什么程度才是“足够的”? 当没有办法消除风险,甚至连试图降低该风险也存在疑问时,这些风险就是真正的风险了。在我们能够标识出软件项目中的真正风险之前,识别出所有对管理者和开发者而言均为明显得风险是很重要的。 二、被动和主动的风险策略 被动风险策略是针对可能发生的风险来监督项目,直到它们变成真正的问题时,才会拨出资源来处理它们,更普遍的是,软件项目组对风险不闻不问,直到发生了错误才赶紧采取行动,试图迅速地纠正错误。这种管理模式常常被称为“救火模式”。当补救的努力失败后,项目就处在真正的危机之中了。 对于风险管理的一个更聪明的策略是主动式的。主动策略早在技术工作开始之前就已经启动了――标识出潜在地风险,评估它们出现的概率及产生的影响,对风险按重要性进行排序,然后,软件项目组建立一个计划来管理风险。主动策略风险管理的主要目标是预防风险。但是,因为不是所有的风险都能够预防,所以,项目组必须建立一个应付意外事件的计划,使其在必要时能够以可控的及有效的方式作出反应。 三、软件风险 1、软件风险包含两个特征: 不确定性——刻划风险的事件可能发生也可能不发生,没有100%发生的风险。 损失——如果风险变成了现实,就会产生恶性后果或损失。 2、进行风险分析时,重要的是量化不确定的程度和与每个风险相关的损失的程度。 为了实现这点,必须考虑以下几种不同类型的风险:

浅谈现阶段项目管理中的风险控制

浅谈现阶段项目管理中的风险控制 摘要 本文论述了现阶段工程建设项目管理中的风险控制的重要意义,着重提出了从项目决策到实施各阶段项目风险控制的分析和建议。 关键词:各阶段风险控制意义分析和建议 正文 工程项目建设是一个周期长、投资多、技术要求高、内部复杂、外部联系广泛的生产过程。在该过程中,不确定因素大量存在,并不断变化,由此产生的风险常常影响工程项目的顺利实施。随着社会生产力的提高和科学技术的发展,工程项目的规模和复杂性日益增大,风险所致损失也随之增大,甚至成为项目成败的关键。因此对项目的风险进行管理和控制变得尤为重要。 一、工程项目风险管理的意义 工程项目风险管理对于项目组织具有必要的现实指导意义: 第一,工程项目风险管理能促进项目实施决策的科学化、合理化,有助于提高决策的质量。工程项目风险管理利用科学的、系统的方法,管理和处置各种工程项目风险,有利于减少因项目组织决策失误所引起的风险,这对项目科学决策、正常经营是非常必要的。 第二,工程项目风险管理能促进项目组织经营效益的提高。工程项目风险管理是一种以最小成本达到最大安全保障的管理方法,它将有关处置风险管理的各种费用合理地分摊到产品、过程之中,减少了费用支出;同时,工程项目管理的各种监督措施也要求各职能部门提高管理效率,减少风险损失,这也促进了项目组织经营效益的提高。 第三,工程项目风险管理能为项目组织提供安全的经营环境,确保项目组织经营目标的顺利实现。工程项目风险管理为处置项目实施过程中出现的风险提供了各种措施,从而消除了项目组织的后顾之优,使其全身心地投入到各种项目活动中去,保证了项目组织目标的实现。

二、项目招投标阶段的风险控制 1、加强对业主和工程师的资格审查 我们都知道要参加一个项目的投标,业主和工程师会要求承包商提供有竞争力的资质材料,以供他们选择合格的承包商。同样道理,承包商在选择项目进行投标时,也要对业主和工程师的相关资质情况进行了解调查,以保证中标后该项目能够正常进行。对于业主,主要是调查业主的支付能力和履行合同的声誉,对于工程师,主要是了解他们的合同履行能力和职业水准,是否公正,是否能和承包商良好交流等情况.如果业主无良好的支付能力和声誉,或者工程师业务水平不高,会经常给承包商制造障碍,这种施工项目即使中了标也只会使自己陷入一个泥潭。在我项目施工现场,就有一个中地公司中标的项目,由于该项目的工程师经常对施工现场无理要求,最后承包商无法和工程师合作施工,导致工程师出指令赶承包商出场,虽然中地公司后来把工程师告上法庭,但不管结果如何,由于该项目有这样的工程师,中了这种项目对承包商来说已经是失败了。 2、充分认识投标报价的重要性,尽量把投标书做细做好 公司现处于高速发展状态,各个分公司和驻外办事处都在努力争取新项目。在此阶段,各公司成员都尽了最大努力为公司多中新项目付出了很多心血,但同时也有必要要求各投标单位和投标人员认识到做细做好投标书的重要性,不能光为了中标而去没有原则地调整投标书。如果投标书未做好,即使项目中了标,也只能是为公司增加负担,给公司的整体经营带来新的风险。 3、认真分析项目投标风险,确定投标报价原则 公司要扩大规模,自然要不断开拓新的工程领域,相应地各种风险也会伴随而来,此种情况下,更应全面地分析新项目的实施风险,及时向公司报告,由公司根据总体发展规划和整体的资金资源、人力资源等确定投标项目的取舍,同时明确各项目的利润率和各种主要费用预期上涨幅度等。通过公司统一的指导,才能采取不同的策略去争取新项目:该放弃的放弃,需要低价拿标占领市场的低利润报价,可以投高价的应尽量提高利润率等。只有在公司的整体规划下,才可最大地降低项目投标风险。促进公司业务的良性发展。 4、积极培养合格的投标人才,提高自身的投标水平,避免不合理的报价

软件项目管理风险管理

浅析软件项目管理中的风险管理 张尧 摘要:在项目的建设过程中,风险几乎无处不在。如何有效地分析、控制和管理风险,对项目的成功起着至关重要的影响。本文通过对当前软件项目的风险状况进行分析,列举软件开发项目的风险来源,并进行分析,最后给出如何合理管理软件项目风险的建议。 关键词:风险管理;Boehm模型;CMU/SEI模型 0.引言 软件行业是二十一世纪发展较快的行业,同时基于软件项目具有连续性、复杂性、少参照性和无标准规范等特点,该项目的开发过程总会遇到各种各样的风险。鉴于这种情况,我们提出软件项目的风险管理,其管理内容包括风险识别、风险量化、风险对策和风险控制等,当然,还有一系列的管理模型,比如:Boehm 模型、 CMU/SEI模型。做这些,目的只有一个,那就是:使软件项目的潜在机会或回报最大化,使其潜在风险最小化。 1.风险管理概述 每一个项目的完成,都是克服各种困难的结果,困难来于人、财、物。仔细观察不难发现,整个困难过程狭义的说就是各种风险的集合,风险无处不在,我们所要做和能做的便是采取一定的方式方法对风险进行管理,使事件能顺利朝我们的目标发展。软件中的项目风险管理是指为了最好的达到项目的目标,识别、分配、应对项目生命周期内风险的科学与艺术 1.1. 风险的来源 风险来于国家制度。一切工作都在按计划顺利的进行着,突然国家实施宏观调控,物价上涨,工人要求加工资,或者国家发布声明,这款软件不能研发,我们的软件项目要么不能按时完成,要么直接得从做,风险由此产生。 风险来于项目实施过程。软件项目具有一般项目的特点,那就是需要人力、物力的投入,还有就是自然环境的参与。整个过程,每一环境产生与目标相悖的行为,这对项目都会产生不可预知的挫折,风险由此产生。 风险来于我们的用户,工程都是按计划顺利完成的,可到和最终用户交接的时候,用户临时提出修改意见,顾客是上帝,在这个竞争尤为激励的年代,我们只能选择满足用户,风险由此产生。 1.2. 风险的分类

软件项目的风险分析

软件项目的风险分析 软件工程项目的开发也存在各种各样的风险,有些风险甚至是灾难性的。R.Charette认为,风险与将要发生的事情有关,它涉及诸如思想、观念、行为、地点、时间等多种因素;风险随条件的变化而改变,人们改变、选择、控制与风险密切相关的条件可以减少风险,但改变、选择、控制条件的策略往往是不确定的。在软件开发过程中,人们关心的问题是,什么风险会导致软件项目的彻底失败?顾客需求、开发环境、目标机、时间、成本的改变对软件项目的风险会产生什么影响?人们必须抓住什么机会、采取什么措施才能有效地减少风险、顺利完成任务?所有这些问题都是软件开发过程中不可避免并需要妥善处理的。软件工程的风险分析包括:风险标识、风险估算、风险评价和风险管理四部分 1、风险标识 从宏观上看,风险可以分为项目风险、技术风险和商业风险三类。由于项目在预算、进度、人力、资源、顾客和需求等方面的原因对软件项目产生的不良影响称为项目风险。软件在设计、实现、接口、验证和维护过程中可能发生的潜在问题,如规格说明的二义性、采用陈旧或尚不成熟的技术等等,对软件项目带来的危害称技术风险。开发了一个没人需要的优质软件,或推销部门不知如何销售这一软件产品,或开发的产品不符合公司的产品销售战略,等等,称为商业

风险。这些风险有些是可以预料的,有些是很难预料的。为了帮助项目管理人员、项目规划人员全面了解软件开发过程存在的风险,Boehm建议设计并使用各类风险检测表标识各种风险。 2、风险估算 软件项目管理人员可以从影响风险的因素和风险发生后带来的损失两方面来度量风险。为了对各种风险进行估算,必须建立风险度量指标体系;必须指明各种风险带来的后果和损失;必须估算风险对软件项目及软件产品的影响;必须给出风险估算的定量结果。 3、风险评价和管理 在风险分析过程中,经常使用三元组[RI,LI,XI]描述风险。其中RI代表风险,LI表示风险发生的概率,XI是风险带来的影响,I = 1,2,…L是风险序号,表示软件项目共有L种风险。软件开发过程中,由于项目超支、进度拖延和软件性能下降都会导致软件项目的终止,因此多数软件项目的风险分析都需要给出成本、进度和性能三种典型的风险参考量。当软件项目的风险参考量达到或超过某一临界点时,软件项目将被迫终止。在软件开发过程中,成本、进度、性能是相互关联的。例如,项目投入成本的增长应与进度相匹配,当项目投入的成本与项目拖延的时间超过某一临界点时,项目也应该终止进行。通常风险估算过程可分为

浅谈房地产项目的风险管理

浅谈房地产项目的风险管 理 This model paper was revised by the Standardization Office on December 10, 2020

浅谈房地产项目的风险管理 摘要:房地产项目的实施过程存在着很多风险,正确地对待、评价、处理过程风险,必须站在项目管理的战略高度,从项目启动组织到实施过程管理,全过程、全方位地的控制,加强对风险的管理,是保证项目目的、项目目标实现的关键。 关键词:房地产项目管理一、引言以2004年8月31日为分水岭,我国的房地产业进入了一个新的发展时期,随着国家经济大环境的变化,围绕着行业是否有“泡沫”,业内、业外争论的此起彼伏、沸沸扬扬,结果还是迎来了以“土地施行招、拍、挂”和非常严厉控制措施的“协议转让”,迎来了中国人民银行121号文件对房地产更为严格地贷款规定和银行利率的增调,迎来了一系列规范建设行为,提高行业自律水平要求的政策。业内的“一个前提、两条链”都出现了与以往区别很大的变化,风险因素不断增多,风险存在于整个项目开发过程,使中小房地产企业更是处于极为艰难的处境。因此,加强开发项目的风险管理,保证项目目的、目标的实现,是实现企业突出包围、稳步发展的关键过程。二、房地产开发项目的风险分析风险是在特定的客观条件下,在特定的期间内,那些可能发生的结果之间的差异程度,实际上就是实际结果与计划结果的变动程度,这种变化程度越大,所谓的风险就越大。房地产开发项目的风险,实际上是开发商实施开发过程中固有的风险,在现在的经济大环境中,主要表现在以下几个方面:1、项目的定位风险。房地产开发项目的市场定位包括项目的产品定位、建筑产品的质量定位、建设环境的品质定位,都是根据市场调查、项目的经济技术分析、项目可行性研究报告做出的,是指导项目决策、项目设计、项目营销策划方案等前期工作的依据。可以说,项目的市场定位确定以后,基本上就敲定了项目的建设风格、建设成本、营销推广方案,就决定了项目的销售前景,一旦市场定位不准确,项目的指导思想出现失误,是后期无法或者是非常困难弥补的风险,也是项目开发过程中,最大的风险,属项目建设的决策性失误风险,按照风险影响范围划分属于总体风险(决策风险),从某种程度上讲,其结果也是不可管理风险。

_软件开发项目的风险管理

_软件开发项目的风险管理 我讲的主题是:软件开发项目的风险治理,因为我认为风险治理在软件项目中专门重要,又不容易做好,因此期望通过和大伙儿讨论能够有一些思路和启发。 期望在那个地点在如下几方面展开讨论: 1.在软件项目治理中如何做好风险防范 2.软件项目中的典型风险事件是哪些 软件开发项目的风险治理 众所周知,软件开发过程可分为:需求分析、设计、编码、测试、安装及爱护等几个过程(在RUP方法中:业务建模、需求、分析设计、实施、测试、部署),实际上一个完整的软件项目前后还有其它过程,在那个地点列出的只是和软件开发有关的核心过程。 软件项目的生命周期能够分为四个时期(不同行业的项目生命周期不同),即初始时期、设计时期、实施时期、收尾时期。软件开发过程在软件项目的这四个时期中的分布情形如下(括弧里面表示RUP方法中的过程): 初始时期:大部分需求分析,少部分设计(大部分业务建模和需求,少部分分析设计)

设计时期:大部分设计,少部分编码(大部分分析设计,部分实施及测试,开始考虑部署) 实施时期:大部分编码和测试,少部分设计(大部分实施及测试,部分部署) 收尾时期:安装及爱护(大部分部署) 而项目治理则贯穿在整个生命周期的每个时期。 按照PMBOK,项目治理能够从范畴治理、时刻治理、费用治理、质量治理、人力资源治理、沟通治理、风险治理、采购治理和整体治理等9个方面考虑,关于软件项目治理来讲软件配置治理(属于整体治理)、软件质量治理、软件风险治理及开发人员治理(属于人力资源治理)等四个方面的治理尤为重要,软件开发的每个时期、每个过程都要重视这几方面的治理。 下面就以软件项目的风险治理为主题展开讨论。 软件项目治理的四个时期中,在初始时期项目成功的可能性最小,风险发生的概率也就最高,然而这时候一旦估量的风险发生了,缺失是最小的,例如:在那个时期如果某种缘故突然资金来源断了(这在需求时期是专门有可能的),以至于不能连续进行项目,不得不终止项目,那么这时候的缺失只是需求分析时期的投入。随着项目的进展项目成功的可能性变大,风险发生的概率逐步变小,风险对项目的缺失逐步变大,快到收尾时期的时候风

软件风险控制计划案例

软件风险控制计划 目录 1. 软件项目风险管理计划 (2) 2. 风险条目表 (2) 2.1. 产品规模风险 (2) 2.2. 需求风险 (2) 2.3. 商业影响所带来的风险 (2) 2.4. 相关性风险 (3) 2.5. 管理风险 (3) 2.6. 技术风险 (3) 2.7. 开发环境风险 (3) 2.8. 人员数目及经验风险 (3) 3. 风险定性分析 (4) 4. 定量风险估计 (5) 5. 风险管理清单 (5) 6. 项目风险措施应对 (6) 6.1. 网络环境风险和操作系统风险 (8) 6.2. 数据存取风险 (9) 6.3. 网上支付风险 (9) 7. 风险储备 (9) 8. 风险监控 (9)

1.软件项目风险管理计划 本计划主要针对项目开发涉及到的风险,包括在项目开发周期过程中可能出现的风险以及项目实施过程中外部环境的变化可能引起的风险等进行评估。在文中对所提到的风险都一一做了分析,并提出了相应的风险回避措施。由于风险是在项目开始之后才开始对项目的开发起负面的影响,所以风险分析的不足,或是风险回避措施不得力,都很有可能造成项目开发的失败。风险分析是在事前的一种估计,凭借一定的技术手段和丰富的经验,基本能够对项目的风险做出比较准确的估计,经过慎重的考虑提出可行的风险回避措施,是避免损失的重要环节。 2.风险条目表 2.1. 产品规模风险

?由于采用功能点估算成本,代码行小于50000 行,权重确定主观,另外,功能点到代码行的转换率全凭业界经验所得产品的初定在线活跃用户 为 5000 人。 ?软件接口包括财务分析软件,薪酬管理软件 2.2. 需求风险 ?对在线活跃用户缺少确定的把握 ?与其他部门沟通不协调 ?分析员对业务了解不全面 ?需求不断变化,由于不确定的需求导致新的市场 2.3. 商业影响所带来的风险 ?增加了信息真伪评估成本 ?签约安全成本增加 ?增加消费者的验货成本 ?增加客服成本 ?增加交易安全的法律成本 ?延迟交付造成成本消耗 2.4. 相关性风险 ?财物资源有限 ?项目经理管理经验不足 ?不可抗力造成的危害 ?高层管理人员对项目的时间要求不合理 2.5. 管理风险

项目-风险管理过程

风险管理

修订历史记录 A - 增加M - 修订D - 删除

目录 1. 目的 (4) 2. 适用范围 (4) 3. 名词术语 (4) 4. 概述 (4) 5. 过程定义 (4) 5.1 风险管理过程 (7) 5.1.1 角色和职责 (8) 5.1.2 入口准则 (8) 5.1.3 输入 (9) 5.1.4 过程活动 (9) 5.1.5 输出 (11) 5.1.6 出口准则 (11) 5.1.7 度量 (11) 5.1.8 确认与验证 (12) 6. 规程 (12) 7. 标准与规范 (12) 8. 裁剪指南 (12) 9. 模板与表格 (12) 10. 实施指导 (12)

1.目的 1.1 规范公司风险管理过程。 1.2 提供项目经理进行风险管理过程的说明和行动指南。 2.适用范围 2.1 机构 研发中心。 2.2 业务 项目实施过程中的风险管理,贯穿整个项目生命周期。 3.名词术语 3.1 RSKM( Risk Management):风险管理。 3.2 项目干系人(Stakeholder):在一定程度上,对项目的实施和成果负责,或受其影响的群组或个人。项目干系人可能包括项目团队成员、提供商、客户、最终用户等。 4.概述 风险管理是贯穿项目整个生命周期的一系列持续性活动,分别为风险识别、风险分析、风险减缓、风险跟踪、风险控制以及风险状态通报。 项目风险控制小组有必要在项目组例会或其它场合,与项目组骨干或项目组全体成员一起对项目风险管理进行交流,收集项目组成员对项目风险的意见和建议。对于不便公开的风险,项目经理需要控制项目组内部了解的范围。对各个项目形成的风险统计数据一并贡献到组织级资产库。 5.过程定义 5.1 组织级风险管理过程 考虑到项目级风险管理的有效性,组织层面需要建立相应的活动来提供项目风险管理一定的指导,活动频率定义为不低于1季度1次。具体活动如下所示:

毕业设计_浅谈工程项目管理中的风险管理论文

项目管理期末大作业浅谈工程项目管理中的风险管理

摘要 当前,中国现代化建设中各类风险事件时有发生,提升项目风险管理水平已成为中国工程建设行业面临的重要课题,并且需要项目参与各合作管理共同风险。鉴于伙伴关系模式能最大程度地整合资源,有助于相关组织的革新、学习和提高效率,创建了基于伙伴关系模式的项目风险管理模型。该模型系统地描述了伙伴关系应如何组织风险管理体系以及项目风险管理和评价与激励之间的紧密结合,使项目参与各组织通过资源最优化配置提升项目风险管理水平。并针对国内企业在工程项目管理方面存在的问题以及体制上存在的不足提出了一些较具体的建议。即:建构项目管理学科的培训内容;促进项目管理软件的开发与应用;建立科学的工程项目管理体系;重视工程项目的风险;抓紧培养人才,培育一批工程总承包和工程项目管理企业等。 关键词:工程项目;风险管理;管理;风险管理;风险计划 目录

1.引言.................................................................................................................. (3) 2.绪论........................................................................................................................ - 5 - 2.1工程项目风险管理研究意义..................................................................... - 5 - 2.2 国内外发展状况........................................................................................ - 6 - 3.工程项目管理中风险管理.................................................................................... - 7 - 3.1 工程项目管理风险管理概述.................................................................... - 7 - 3.1.1工程项目风险管理概述.................................................................. - 7 - 3.1.2风险管理中的问题.......................................................................... - 8 - 3.2 风险管理的基本过程................................................................................ - 9 - 4. 工程项目风险的分析........................................................................................ - 12 - 4.1 工程项目风险的定义.............................................................................. - 12 - 4.2 成本控制风险影响因素分析.................................................................. - 12 - 5.工程项目风险管理中成本管理.......................................................................... - 14 - 5..1 工程项目成本管理................................................................................. - 14 - 5.2 项目成本管理系统.................................................................................. - 14 - 5.3工程项目成本管理的具体措施............................................................... - 15 - 5.3.1提高项目人员的整体素质和责任感............................................ - 15 - 5.3.2力度于项目成本核算管理和监督................................................ - 16 - 5.3.3深入成本预测预控和经济合同的履行........................................ - 16 - 5.3.4劳务分承包商的使用和激励的关键性........................................ - 16 - 5.3.5加在力度抓好材料管理................................................................ - 17 - 6.项目风险识别的技术与工具 ............................................................................. - 17 - 6.1 检查表 ...................................................................................................... - 17 - 6.2流程图 ...................................................................................................... - 18 - 7.工程项目风险管理方法实际运用...................................................................... - 18 - 7.1 成本超支和工期延误风险的管理.......................................................... - 18 - 7.2某公司实施伊朗大坝项目的案例分析................................................... - 19 - 8.结论...................................................................................................................... - 22 - 参考文献................................................................................................................. - 23 -

_软件开发项目的风险管理.doc

软件开发项目的风险管理 我讲的主题是:软件开发项目的风险管理,因为我认为风险管理在软件项目中很重要,又不容易做好,所以希望通过和大家讨论能够有一些思路和启发。 希望在这里在如下几方面展开讨论: 1.在软件项目管理中如何做好风险防范 2.软件项目中的典型风险事件是哪些 软件开发项目的风险管理 众所周知,软件开发过程可分为:需求分析、设计、编码、测试、安装及维护等几个过程(在RUP方法中:业务建模、需求、分析设计、实施、测试、部署),实际上一个完整的软件项目前后还有其它过程,在这里列出的只是和软件开发相关的核心过程。软件项目的生命周期可以分为四个阶段(不同行业的项目生命周期不同),即初始阶段、设计阶段、实施阶段、收尾阶段。软件开发过程在软件项目的这四个阶段中的分布情况如下(括弧里面表示RUP方法中的过程): 初始阶段:大部分需求分析,少部分设计(大部分业务建模和需求,少部分分析设计) 设计阶段:大部分设计,少部分编码(大部分分析设计,部分实

施及测试,开始考虑部署) 实施阶段:大部分编码和测试,少部分设计(大部分实施及测试,部分部署) 收尾阶段:安装及维护(大部分部署) 而项目管理则贯穿在整个生命周期的每个阶段。 根据PMBOK,项目管理可以从范围管理、时间管理、费用管理、质量管理、人力资源管理、沟通管理、风险管理、采购管理和整体管理等9个方面考虑,对于软件项目管理来讲软件配置管理(属于整体管理)、软件质量管理、软件风险管理及开发人员管理(属于人力资源管理)等四个方面的管理尤为重要,软件开发的每个阶段、每个过程都要重视这几方面的管理。 下面就以软件项目的风险管理为主题展开讨论。 软件项目管理的四个阶段中,在初始阶段项目成功的可能性最小,风险发生的概率也就最高,但是这时候一旦预计的风险发生了,损失是最小的,比如:在这个阶段如果某种原因突然资金来源断了(这在需求阶段是很有可能的),以至于不能继续进行项目,不得不终止项目,那么这时候的损失只是需求分析阶段的投入。随着项目的进展项目成功的可能性变大,风险发生的概率逐渐变小,风险对项目的损失逐渐变大,快到收尾阶段的时候风险对项目的损失最大,随着收尾阶段的进行风险又逐渐变小。

软件项目风险管控

推介导读: 此论文从需求调研、开发、实施以及项目收尾四个项目阶段,列举了11种典型的常见风险,并给出了这些风险的详细和切实可行的风险规避措施。这些风险和措施实用、实在,值得做为公司项目管理财富库进行收藏,值得各项目组借鉴。 软件项目风险管控 1.什么是软件项目风险 软件项目风险是指在软件开发过程中遇到的预算和进度等方面的问题以及这些问题对软件项目的影响。软件项目风险会影响项目计划的实现,如果项目风险变成现实,就有可能影响项目的进度,增加项目的成本,甚至使软件项目目标不能实现。如果对项目进行风险管理,就可以最大限度的减少风险的发生。 2.项目风险及应对措施 软件项目的生命周期可以分为四个阶段,即需求调研阶段、开发阶段、实施阶段、收尾阶段,软件开发过程可分为:需求分析、设计、编码、测试等几个过程,在软件项目的每个阶段、每个过程都可能存在风险。下面结合项目谈谈各阶段碰到的风险。 2.1.需求调研阶段 1.风险描述: 调研涉众没有足够的时间参与调研活动,严重影响调研进度与调研质量。 应对措施: 开始调研时,召集公司的高层领导、各部门主管及参与调研的关键涉众召开调研 启动会,让所有涉众都重视本次调研活动,努力配合调研工作。在调研启动会上 明确调研涉众的职责; 在制定调研计划时,应事前与相关涉众做好沟通工作,努力减少调研计划与日常 工作安排的冲突; 相关人员通过移交日常工作等办法,有效保证相关涉众的调研时间; 调研人员设计调研提纲时,要有针对性,尽量努力提高调研效率。 2.风险描述: 调研成果不能真实和完整地体现管理层意图与企业经营管理需要。 应对措施: 通过客户方的多方协调,让管理层要重视调研人员的访谈,客观而真实地回答访 谈问题; 管理层调研提纲在设计时,不仅要做到有针对性,而且要有全面性; 调研人员在访谈管理层,要善于挖掘与总结管理层的管理意图与经营思路; 管理层的意图应宣达到所有涉众,努力做到在繁多的需求中,把握住管理思路的 主线。

软件项目开发风险

参加过项目制作的人都知道一个项目开发过程中会遇到许多困难,很多事情都会影响一个软件开发的失败风险是在项目中发生的一系列事件或不利结果的可能性。软件开发是一项高风险的活动,在项目开发过程的任何一个阶段都可能存在风险。采取积极的风险管理方式,可以使项目进程更加平稳,可以获得很高的跟踪和控制项目的能力,可以规避、转移风险,或缓解风险带来的不利影响。风险管理是对项目风险进行识别、分析、应对和监控的过程,是项目管理中很重要的管理活动,有效的实施软件风险管理是软件项目开发工作顺利完成的保证。风险管理的达成必须包括三个要素:首先,在项目开发计划中必须制定风险管理计划;第二,在项目预算中必须包含解决风险所需的经费;第三,评估风险时,风险的影响也必须纳入项目计划中。下面就软件开发过程中经常发生的风险, 2.需求不明确 需求不明确是软件开发过程中经常可能遇到的问题,这类问题往往表现在需求范围未界定、需求未细化、需求描述不清楚、需求遗漏、需求互相矛盾等多个方面。在软件开发过程的 生命周期各阶段中,需求不明确所造成的浪费是最大的,必须尽早尽可能解决。确定用户 需求是件非常困难的事情,我们常常从以下几个方面着手处理需求不明确问题: (1) 让用户参与开发 提供一个协作开发环境,让用户参与开发过程。如果条件不允许,至少应该在每次迭代的 需求分析和系统测试阶段,让客户能够参与开发。 在选择参与开发过程的用户时,一方面,要尽可能争取精通业务或计算机技术的用户参与。另一方面,如果开发的产品要在不同规模、不同类型的企业应用,应该选择具有代表性的 用户参与。 仅仅让用户参与是不够的,应该采取一定的激励措施,提高用户参与的积极性。 (2) 开发用户界面原型 用户通常不善于精确描述自己的业务需求,系统分析员需要借助白板、白纸等沟通方式, 帮助用户清楚表述需求。然后,开发一个用户界面原型,以便用户确认需求。用户界面原 型的作用仅仅是收集用户需求,不应该再作它用,也不要给用户造成系统快要实现的错觉。 (3) 需求讨论会议

项目风险管理案例分析 (1)

项目风险管理案例分析 一.项目风险管理 项目风险管理是指通过风险识别、风险分析和风险评价去认识项目风险,并以此为基础合理地使用各种风险应对措施、管理方法技术和手段,对项目风险实行有效的控制,妥善处理风险事件造成的不利后果,以最少的成本保证项目总体目标实现的管理工作。项目风险管理的重要性很大程度上就是避免资源的浪费。 二.企业进行项目管理案例分析 (一)案例背景简介 河北H-A会计师事务所承担省直大中型企业的审计工作。具有丰富工作经验,拥有一批具有丰富实践经验的注册会计师。 河北省某研究所现有50多位员工。在基于WINDOWS平台开发软件方面,具备较丰富的实战技能。河北H-A会计师事务所在审计工作中发现,很多企业都采用了会计电算化软件,对审计工作提出新的要求。社会审计工作的需要,对开发计算机辅助审计软件的愿望越来越强烈。所以就联合河北省某研究所进行联合开发 (二)实际项目分析 1.项目介绍 该系统基于windows和sql server进行开发,开发工具是powerbulider。项目开发过程中,共生成程序源代码约数万行,项目开发的难度和源代码行数都比预计的要多。 计算机辅助审计软件具有工作底稿制作能力和查证功能;数据可传递,能自动生成和人工输入相结合,产生合并抵销分录;能自动产生勾稽无误的审计报告和会计报表附注;有灵活开放的系统,方便用户进行二次开发等特点。 2.开发队伍的风险 开发团队维持在10人上下,事务所提供3人,开发单位6-7人,有一些人员只能部分时间工作,开发人员能够自始至终地参加整个项目的工作。开发人员的流动基本能保证工作的连续性。 3.技术风险 数据结构复杂,关联比较多。需要创建新的算法或输入,输出技术;软件需要与其他软件产品的数据库系统接口;客户能确定所要求的功能是可行的。同时,由于当时审计软件在国内的应用尚处于起步阶段,开发人员普遍对该系统比较陌生,这也带来了相当的技术风险。 4.客户相关风险 用户对自己真正的需求并不是十分明确,他们认为计算机是万能的,只要简单的说说自己想干什么就是把需求说明白了,而对业务的规则、工作流程却不愿多谈,也讲不清楚。有的用户日常工作繁忙,他们不愿意付出更多的时间和精力向分析人员讲解业务,这样加大分析人员的工作难度和工作量,也可能导致因业务需求不足而使系统风险加大。 5.项目按时完成的风险 另外,这个项目也像许多其它软件项目一样,面临着竣工日期带来的巨大压力。

软件开发项目的风险分析与控制

软件开发项目的风险分析与控制 摘要:本文通过对当前软件行业的风险状况进行分析,列举软件开发项目的风险来源,并进行分析,总结各类风险产生的原因和对项目成败的影响,最后给出软件开发项目在风险管理和控制的建议。 关键词:软件开发风险风险分析风险管理与控制 一、软件开发项目的风险背景 信息产业的发展是目前发展最快的行业之一,也是对社会影响最大的一个行业,它不但为我们创造了巨大的财富,而且从各个方面改变着我们的生活,达到一个行业,小到一项服务。我们不得不承认软件是二十一世纪最不可思议的产品。 伴随着软件开发技术的不断更新、软件数量的增多、软件复杂程度不断加大、客户对产品的要求也在不断的提高,随之而来的是软件开发项目给软件开发企业和需求企业带来的巨大风险。软件开发项目的成功与否会直接影响到公司的生存。这对软件开发企业来讲应该是更大的难题。一方面是业务需求更加复杂。人们对软件质量和用途的期望大幅度提高,对业务系统的要求也越来越挑剔。另一方面是开发成本不断缩减。在此形势下,风险管理与控制已成为软件开发项目成败的关键。 软件开发项目由于其具有连续性、复杂性、少参照性,无标准规范等特点,其风险程度较高。目前国内的大多数软件开发企业还缺乏对软件开发项目的风险认识,缺少进行系统、有效的度量和评价的手段。据有调查数据显示,有15—35%的软件项目中途被取消,剩下的项目不是超期就是超出预算或是无法达到预期目标。另外,软件项目因风险控制和管理原因失败的约占90% ,可见,软件风险控制与管理在目前的软件开发项目中的重要性。 二、软件开发项目的风险来源及对项目成败的影响 软件开发项目风险是指在软件生命周期中所遇到的所有的预算、进度和控制等各方面的问题,以及由这些问题而产生的对软件项目的影响。软件项目风险经常会涉及许多方面,如:缺乏用户的参与,缺少高级管理层的支持,含糊的要求,没有计划和管理等,总体概括下来应该由五大方面。

软件开发项目的风险管理

软件开发项目的风险管 理 文件编码(008-TTIG-UTITD-GKBTT-PUUTI-WYTUI-8256)

软件开发项目的风险管理 我讲的主题是:软件开发项目的风险管理,因为我认为风险管理在软件项目中很重要,又不容易做好,所以希望通过和大家讨论能够有一些思路和启发。 希望在这里在如下几方面展开讨论: 1.在软件项目管理中如何做好风险防范 2.软件项目中的典型风险事件是哪些 软件开发项目的风险管理 众所周知,软件开发过程可分为:需求分析、设计、编码、测试、安装及维护等几个过程(在RUP方法中:业务建模、需求、分析设计、实施、测试、部署),实际上一个完整的软件项目前后还有其它过程,在这里列出的只是和软件开发相关的核心过程。 软件项目的生命周期可以分为四个阶段(不同行业的项目生命周期不同),即初始阶段、设计阶段、实施阶段、收尾阶段。软件开发过程在软件项目的这四个阶段中的分布情况如下(括弧里面表示RUP方法中的过程): 初始阶段:大部分需求分析,少部分设计(大部分业务建模和需求,少部分分析设计) 设计阶段:大部分设计,少部分编码(大部分分析设计,部分实施及测试,开始考虑部署) 实施阶段:大部分编码和测试,少部分设计(大部分实施及测试,部分部署) 收尾阶段:安装及维护(大部分部署) 而项目管理则贯穿在整个生命周期的每个阶段。 根据PMBOK,项目管理可以从范围管理、时间管理、费用管理、质量管理、人力资源管理、沟通管理、风险管理、采购管理和整体管理等9个方面考虑,对于软件项目管理来讲软件配置管理(属于整体管理)、软件质量管理、软件风险管理及开发人员管理(属于人力资源管理)等四个方面的管理尤为重要,软件开发的每个阶段、每个过程都要重视这几方面的管理。 下面就以软件项目的风险管理为主题展开讨论。 软件项目管理的四个阶段中,在初始阶段项目成功的可能性最小,风险发生的概

(风险管理)软件项目风险管理计划

韩万江姜立新,《软件项目管理案例教程》,机械工业出版社,2005-02 【丛书名】国家示范性软件学院系列教材 10软件项目风险管埋计划 (2) 10.1软件项目风险管理概述 (2) 10.1.1风险概念 (2) 10.1.2风险类型 (4) 10.1.3风险的基本性质 (5) 10.1.4风险管理概述 (5) 10.1.5风险管理的意义 (5) 10.2风险识别 (6) 10.2.1概念 (7) 10.2.2德尔菲方法 (7) 10.2.3头脑风暴法 (7) 10.2.4情景分析法 (7) 10.2.5风险条目恼查表 (7) 10.2.6真他方法 (13) 10.2.7风险识别的结果 (13) 10.3风险评估 (13) 10.3.1概念 (14) 10.3.2定性风险评估 (14) 10.3.3定量风险评估 (15) 10.3.4风险分析结果表 (17) 10.4风险规划 (19) 10.4.1概忿 (19) 10.4.2回避风险 (19) 10.4.3转移风险 (19) 10.4.4损失控制 (19) 10.4.5自留风险 (20) 10.4.6风险规划结果 (20) 10.5风险控制 (20) 10.6风险管埋的建议 (21) 10.7案例说明 (21) 10.8小结 (22) 10.9习题 (22)

10软件项目风险管埋计划 任何项目都有一定的不确定性,如果没有很好的风险管理,项目就可能遇到麻烦。所以,在软件项目管理过程中,风险计划也是一个重要的计划,只有进行合理的风险管理,制定及时的风险计划,才能防崽于未然,做到主动控制风险,而不是被动地被风险所控制。本章我们进人路线图的第9站:风险计划,如图10—1所示。 图10-1路线图第9站:风险计划 10.1软件项目风险管理概述 在软件项目的开发过程中,必然要使用一些新技术、新产品,同时由于软件系统本身的结枸和技术复杂性的原因,需要投人大量人力、物力和财力,这就造成开发过程中存在某些“未知量”或“不确定因素”,这必然给项目的开发带来一定程度的风险,也可能会使项目计划失败或不能完全达到预期目标。因此,对项目风险进行科学、准确的判别,为项目决策层和管理人员提供科学的评估方法,是十分必要的。 项目中的风险有很多种,没有风险的项目几乎是不存在的,只是风险的多少、严重程度不同而已。 10.1.1风险概念 风险是损失发生的不确定性,是对潜在的、未来可能发生损害的一种度量。如果风险确实发生了,则它的发生会对项目产生有害的或者负面的影响。例如,在软件测试期间经常会发现故障,因此一个合理的项目必须做好发现故障时对它们进行修复的计划。同样,项目开发过程中几乎总悬会出现某些变更申请,因此项目管理必须相应地准备好变更计划,以处理这些事件。 另一方面,风险是一种概率事件——它可能发生也可能不发生。因此,我们通常会表现出很乐观,不是看不到风险就是希望它们不会发生。如果风险真出现了,这种态度会使项目陷入困境,这是一个大型项目中很可能发生的事情。因此,风险管理被认为是管理大型软件项目的最佳实践。 风险管理旨在识别出风险,然后采取措施使它们对项目的影响最小。风险管理是软件管理中相对较新的领域,它首次出现于贝姆(Bochm)关子风险管理的指商中。自那以后,软件的风险管理逐渐被人们所认识。

项目风险管理案例分析

项目风险管理案例分析 1公司背景简介 河北H-A会计师事务所是河北省财政厅对国有大中型企业进行社会审计的试点所,承担省直大中型企业的审计工作。具有丰富工作经验,拥有一批具有丰富实践经验的注册会计师。 河北省某研究所是省直科研单位,现有50多位员工。在基于WINDOWS平台开发软件方面,具备较丰富的实战技能。河北H-A会计师事务所在审计工作中发现,很多企业都采用了会计电算化软件,对审计工作提出新的要求。社会审计工作的需要,对开发计算机辅助审计软件的愿望越来越强烈。所以就联合河北省某研究所进行联合开发 2实际项目分析 2.1项目介绍 该系统基于windows和sql server进行开发,开发工具是powerbulider。项目开发过程中,共生成程序源代码约数万行,项目开发的难度和源代码行数都比预计的要多。 计算机辅助审计软件具有工作底稿制作能力和查证功能;数据可传递,能自动生成和人工输入相结合,产生合并抵销分录;能自动产生勾稽无误的审计报告和会计报表附注;有灵活开放的系统,方便用户进行二次开发等特点。 2.2开发队伍的风险 开发团队维持在10人上下,事务所提供3人,开发单位6-7人,有一些人员只能部分时间工作,开发人员能够自始至终地参加整个项目的工作。开发人员的流动基本能保证工作的连续性。 2.3技术风险 数据结构复杂,关联比较多。需要创建新的算法或输入,输出技术;软件需要与其他软件产品的数据库系统接口;客户能确定所要求的功能是可行的。同时,由于当时审计软件在国内的应用尚处于起步阶段,开发人员普遍对该系统比较陌生,这也带来了相当的技术风险。 2.4客户相关风险 用户对自己真正的需求并不是十分明确,他们认为计算机是万能的,只要简单的说说自己想干什么就是把需求说明白了,而对业务的规则、工作流程却不愿多谈,也讲不清楚。有的用户日常工作繁忙,他们不愿意付出更多的时间和精力向分析人员讲解业务,这样加大分析人员的工作难度和工作量,也可能导致因业务需求不足而使系统风险加大。 2.5项目按时完成的风险 另外,这个项目也像许多其它软件项目一样,面临着竣工日期带来的巨大压力。 3实际的风险管理状况 凭借公司在以往的经验,在此软件项目的整个生命周期中,任何阶段都有可能有风险存在,WBS是完整表示项目,且伴随整个项目生命周期的项目要素,所以以WBS为基础进行风险管理,既可以方便地识别,标识相应的风险来源,又方便和项日其他工作一起,统一管理。 在软件项目中,各阶段主要工作简述如下:

相关主题