软件工程-风险管理

软件工程-风险管理
软件工程-风险管理

风险管理

引言

风险是关注未来将要发生的事情。今天和昨天已不再被关心,如同我们已经在收获由我们过去的行为所播下的种子。问题是:我们是否能够通过改变我们今天的行为,而为一个不同的、充满希望的、更美好的明天创造机会。其次,这意味着,风险涉及改变,如思想、观念、行为、或地点的改变……第三,风险涉及选择及选择本身所包含的不确定性。因此,就象死亡和税收一样,风险是生活中最不确定的元素之一。

当在软件工程领域考虑风险时,Charette的三个概念定义是显而易见的。未来是我们所关心的——什么样的风险会导致软件项目彻底失败呢?改变也是我们所关心的——用户需求、开发技术、目标计算机、以及所有其他与项目相关的因素的改变将会对按时交付和总体成功产生什么影响呢?最后,我们必须抓住选择机会——我们应该采用什么方法及工具?需要多少人员参与工作?对质量的要求要达到什么程度才是“足够的”?

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

1.1 被动和主动的风险策略

被动风险策略被戏称为“印地安那·琼斯学派的风险管理”[THO92]。印地安那·琼斯在以其名字为影片名的电影中,每当面临无法克服的困难时,总是一成不变地说:“不要担心,我会想出办法来的!”。印地安那·琼斯从不担心任何问题,直到它们发生,再做出英雄式的反应。

遗憾的是,一般的软件项目管理者并不是印地安那·琼斯,且软件项目组的成员也不是他的可信赖的伙伴。大多数软件项目组还是仅仅依赖于被动风险策略。被动策略最多不过是针对可能发生的风险来监督项目,直到它们变成真正的问题时,才会拨出资源来处理它们。更普遍的情况是,软件项目组对于风险不闻不问,直到发生了错误,这时,项目组才赶紧采取行动,试图迅速地纠正错误。这常常被称为“救火模式”。当这样的努力失败后,“危机管理”[CHA92]接管一切,这时项目已经处于真正的危机中了。

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

1.2 软件风险

虽然对于软件风险的严格定义还存在很多争议,但在风险中包含了两个特性这一点上是已达成了共识的[HIG95]:

·不确定性——刻划风险的事件可能发生也可能不发生;即,没有100%发生的风险(100%发生的风险是加在项目上的约束)。

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

进行风险分析时,重要的是量化不确定性的程度及与每个风险相关的损失的程度。为了实现这点,必须考虑不同类型的风险。

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

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

商业风险威胁到要开发软件的生存能力。商业风险常常会危害项目或产品。五个主要的商业风险是:(1)开发了一个没有人真正需要的优秀产品或系统(市场风险);(2)开发的产品不再符合公司的整体商业策略(策略风险);(3)建造了一个销售部门不知道如何去卖的产品;(4)由于重点的转移或人员的变动而失去了高级管理层的支持(管理风险);

以及(5)没有得到预算或人力上的保证(预算风险)。应该注意到的很重要的一点是:简单的分类并不总是行得通。某些风险根本无法事先预测。

另一种常用的分类方式是由Charette[CHA89]提出的。已知风险是通过仔细评估项目计划、开发项目的商业及技术环境、以及其他可靠的信息来源(如,不现实的交付时间,没有需求或软件范围的文档、恶劣的开发环境)之后可以发现的那些风险。可预测风险能够从过去项目的经验中推断出来(如,人员调整、与客户之间无法沟通、由于需要进行维护而使开发人员精力分散)。不可预测风险就象纸牌中的大王,它们可能、也会真的出现,但很难事先识别出它们来。

1.3 识别风险

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

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

一般性风险和特定产品的风险都应该被系统化地标识出来。 Tom Gilb[GIL88]很贴切地表达了这点:“如果你不主动攻击风险,风险就会主动攻击你”。

识别风险的一个方法是建立风险条目检查表。该检查表可以用于识别风险,并使得人们集中来识别下列常见子类型中的已知的及可预测的风险:

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

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

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

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

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

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

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

风险条目检查表能够以不同的方式来组织。与上述每个话题相关的问题可以由每一个软件项目来回答。这些问题的答案使得计划者能够估算风险产生的影响。我们也可以采用另一个不同的风险条目检查表,它仅仅列出与每一个常见子类型有关的特性。最后,列出一组“风险元素和驱动因子”[AFC88]以及它们发生的概率。关于性能、支持、成本、及进度的驱动因子将在以后讨论。

1.3.1 产品规模风险

有经验的管理者几乎都对下面的陈述没有异议:项目风险是直接与产品规模成正比的。下面的风险检查表中的条目标识了与产品(软件)规模相关的常见风险:

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

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

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

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

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

·产品的用户数有多少?

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

·复用的软件有多少?

在每一种情况下,待开发产品的信息必须与过去的经验加以比较。如果出现了较大的百分比偏差,或者如果数字相近但过去的结果很不令人满意,则风险较高。

1.3.2商业影响风险

有一个大型软件公司的工程经理在他的墙上挂了一个镜框,上面写着:“上帝给了我头脑使我成为一个优秀的项目管理者,同时每当销售部门设定项目的最后期限时,也让我经历了地狱般的煎熬”。销售部门是受商业驱动的,而商业考虑有时会直接与技术现实发生冲突。下面的风险检查表中的条目标识了与商业影响相关的常见风险:

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

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

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

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

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

·最终用户的水平如何?

·必须产生并交付给用户的产品文档的量与质如何?

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

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

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

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

1.3.3 客户相关的风险

并非所有客户都是一样的。Pressman和Herron[PRE91]在讨论这个话题时曾经说过:

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

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

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

客户常常是矛盾的。他们希望昨天的一切工作都是免费的。生产厂商经常陷入客户自己的矛盾之中。

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

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

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

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

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

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

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

·该客户是否愿意让你的人来做他们的工作,即,当你的人在做具体的技术工作时,该客户是否会坚持在旁边监视?

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

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

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

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

软件项目风险管理

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

软件项目的风险分析

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

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

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

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

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

软件项目管理风险管理

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

软件项目风险管理

软件项目风险管理 1 前言 一般来说,软件工程师总是非常乐观。当他们在计划软件项目时,经常认为每件事情都会像计划那样运行,或者,又会走向另外一个极端。软件开发的创造性本质意味着我们不能完全预测会发生的事情,因此制定一个详细计划的关键点很难确定。当有预想不到的事情引起项目脱离正常轨道时,以上两种观点都会导致软件项目的失败。 目前,风险管理被认为是IT软件项目中减少失败的一种重要手段。当不能很确定地预测将来事情的时候,可以采用结构化风险管理来发现计划中的缺陷,并且采取行动来减少潜在问题发生的可能性和影响。风险管理意味着危机还没有发生之前就对它进行处理。这就提高了项目成功的机会和减少了不可避免风险所产生的后果。 2 什么是风险 所谓“风险”,归纳起来主要有两种意见,主观说认为,风险是损失的不确定性;客观学认为,风险是给定情况下一定时期可能发生的各种结果间的差异。它的两个基本特征是不确定性和损失。IT行业中的软件项目开发是一项可能损失的活动,不管开发过程如何进行都有可能超出预算或时间延迟。项目开发的方式很少能保证开发工作一定成功,都要冒一定的风险,也就需要进行项目风险分析。在进行项目风险分析时,重要的是要量化不确定的程度和每个风险相当的损失程度,为实现这一点就必须要考虑以下问题: 要考虑未来,什么样的风险会导致软件项目失败? 要考虑变化,在用户需求、开发技术、目标、机制及其它与项目有关的因素的改变将会对按时交付和系统成功产生什么影响? 必须解决选择问题,应采用什么方法和工具,应配备多少人力,在质量上强调到什么程度才满足要求? 要考虑风险类型,是属于项目风险、技术风险、商业风险、管理风险还是预算风险等? 这些潜在的问题可能会对软件项目的计划、成本、技术、产品的质量及团队的士气都有负面的影响。风险管理就是在这些潜在的问题对项目造成破坏之前识别、处理和排除。 3 风险管理 项目风险管理实际上就是贯穿在项目开发过程中的一系列管理步骤,其中包括风险识别、风险估计、风险管理策略、风险解决和风险监控。它能让风险管理者主动“攻击”风险,进行有效的风险管理。 在项目管理中,建立风险管理策略和在项目的生命周期中不断控制风险是非常重要的,风险管理包括四个相关阶段: 风险识别识别风险的方法常用的有风险识别问询法(座谈法、专家法)、财务报表法、流程图法、现场观察法、相关部门配合法和环境分析法等。

软件项目开发风险

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

软件风险管理

风险管理计划 1. 引言 1.1 本文件的范围和目的 项目风险管理描述了在整个项目生命周期内项目团队如何组织和开展项目风险识别,度量,应对和监控等项目管理活动,是一份指导项目团队进行项目风险管理的纲领性文件。项目风险管理的目标在于提高项目中积极事件的概率和影响,降低项目中消极事件的概率和影响,确保项目在可控的范围内完成项目目标。 1.2 概述 1.2.1 目标 提高项目中积极事件的概率和影响,降低项目中消极事件的概率和影响,确保项目在可控的范围内完成项目目标。当不能很确定地预测将来事情的时候,可以采用结构化风险管理来发现计划中的缺陷,并且采取行动来减少潜在问题发生的可能性和影响。风险管理意味着危机还没有发生之前就对它进行处理,这就提高了项目成功的机会并减少了不可避免风险所产生的后果。 1.2.2 需要优先考虑规避的风险 (1)业务风险产品规模风险,商业风险,项目需求风险,客户特性风险,过程风险

(2)技术风险 技术情况风险,开发环境风险 (3)组织风险 人员数目及其经验风险 1.3组织 1.3.1领导成员 蒋妍,范楚楚,宋蕊蕊,谭琳琳,杨欣颖,赵术洁 1.3.2责任 1.4风险规避策略的内容说明 1.4.1进度安排 1.4.2 主要里程碑和审查行动(1)项目风险分析通过项目风险分析

对项目进行宏观控制,作出风险发生的概率及时作出规避策略,降低项目成本。 (2)项目风险应对对于出现的不确定风险应及时做出应对措施,提出风险规避备选方案及建议方案,降低项目的失败性。 1.4.3 预算 风险情况调查所需花费预算成本 风险类别风险调查预算 需求风险客户特性风险调查问卷 市场调研 1000 1000需求变动5000 过程风险软件工程培训3000评审结果后续5000 技术风险技术变动5000 开发环境风险开发工具变动1000 人员数目及经验风险人员管理5000 2 风险识别 2.1 风险情况调查,风险来源 收集资料 项目产品或服务说明书,项目的前提,假设和制约因素,本项目可与类比的项目。

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

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

软件风险控制计划案例

软件风险控制计划 目录 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. 管理风险

软件开发项目的风险管理

-------------------------------------------------------------------------------------------------------------------------------------------- 软件开发项目的风险管理 原作者:李艺兰 1月27日参加了项目管理联盟组织的‘北京项目管理爱好者聚会’,我被易风邀请做了一个主题演讲,其实不是什么演讲,只是结合理论谈了自己的一些想法和工作中遇到过的经验教训,更主要的目的是给大家出一个讨论和交流的主题,希望能起个抛砖引玉的作用。 我讲的主题是:软件开发项目的风险管理,因为我认为风险管理在软件项目中很重要,又不容易做好,所以希望通过和大家讨论能够有一些思路和启发。 现在把我准备的内容整理帖出来,希望在这里继续讨论,大家在如下几方面多展开讨论: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)关子风险管理的指商中。自那以后,软件的风险管理逐渐被人们所认识。

软件开发项目的风险管理

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

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

软件项目风险管控

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

软件工程-风险管理

风险管理 引言 风险是关注未来将要发生的事情。今天和昨天已不再被关心,如同我们已经在收获由我们过去的行为所播下的种子。问题是:我们是否能够通过改变我们今天的行为,而为一个不同的、充满希望的、更美好的明天创造机会。其次,这意味着,风险涉及改变,如思想、观念、行为、或地点的改变……第三,风险涉及选择及选择本身所包含的不确定性。因此,就象死亡和税收一样,风险是生活中最不确定的元素之一。 当在软件工程领域考虑风险时,Charette的三个概念定义是显而易见的。未来是我们所关心的——什么样的风险会导致软件项目彻底失败呢?改变也是我们所关心的——用户需求、开发技术、目标计算机、以及所有其他与项目相关的因素的改变将会对按时交付和总体成功产生什么影响呢?最后,我们必须抓住选择机会——我们应该采用什么方法及工具?需要多少人员参与工作?对质量的要求要达到什么程度才是“足够的”? Peter Drucker[DRU75]曾经说过:“当没有办法消除风险,甚至连试图降低该风险也存在疑问时,这些风险就是真正的风险了”。在我们能够标识出软件项目中的“真正风险”之前,识别出所有对管理者及开发者而言均为明显的风险是很重要的。 1.1 被动和主动的风险策略 被动风险策略被戏称为“印地安那·琼斯学派的风险管理”[THO92]。印地安那·琼斯在以其名字为影片名的电影中,每当面临无法克服的困难时,总是一成不变地说:“不要担心,我会想出办法来的!”。印地安那·琼斯从不担心任何问题,直到它们发生,再做出英雄式的反应。 遗憾的是,一般的软件项目管理者并不是印地安那·琼斯,且软件项目组的成员也不是他的可信赖的伙伴。大多数软件项目组还是仅仅依赖于被动风险策略。被动策略最多不过是针对可能发生的风险来监督项目,直到它们变成真正的问题时,才会拨出资源来处理它们。更普遍的情况是,软件项目组对于风险不闻不问,直到发生了错误,这时,项目组才赶紧采取行动,试图迅速地纠正错误。这常常被称为“救火模式”。当这样的努力失败后,“危机管理”[CHA92]接管一切,这时项目已经处于真正的危机中了。

软件项目风险管理计划wor版

软件风险控制计划 目录Array 1. 软件项目风险管理计划 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. 商业影响所带来的风险 增加了信息真伪评估成本 签约安全成本增加 增加消费者的验货成本 增加客服成本 增加交易安全的法律成本 延迟交付造成成本消耗

软件项目风险管理研究

软件项目风险管理研究 [内容摘要]随着软件产业的迅速发展,软件的规模越来越大,复杂性也越来越高,风险变得更加难以控制,最终导致软件项目失败的结果越来越常见。如何对软件项目风险因素进行分析并有效地规避风险,从而致使项目顺利成功是进行软件风险管理的主要课题之一。只有充分地理解和学习软件风险管理的理论知识,同时在实践中不断地积累经验才能有效地进行风险防X和控制,达到减少风险的影响程度和实现利益最大化追求的目的。 本文从分析国内外软件风险管理的发展现状入手,详细地按照软件生命周期各阶段将软件项目风险进行分类,并总结对比分析了国外经典软件风险管理模型,同时介绍了软件风险管理全过程,同时基于经典软件风险管理模型,提出了改进的软件风险管理模型和方法,并根据自身经验对如今国内企业提出软件风险管理一些建议和意见。 [关键词]项目管理;软件风险;风险管理

1.研究背景 随着经济全球化的不断深入,以信息技术为依托的知识经济初见端倪,各国都在实施信息化带动工业化的发展战略,软件行业成为许多国家的支柱产业,软件业的发展程度从某种意义上体现了该国的综合国力,决定着国家未来的国际竞争地位。软件是一种特殊的逻辑产品,不具备实体的可见性,它是人经过智力劳动而产生出来、具有特殊性质的复杂事物川。一些调查表明,约的软件项目开发超出估计时间,大型项目平均超出交付时间,以上的软件项目开发费用超出预算。软件项目成功的几率要远远低于其它任何工程项目,软件行业面临着所谓的“软件危机”。在软件产品开发过程中存在着众多不确定因素,这些因素使得软件项目比其它工程项目具有更高的风险。从学科发展角度来看,软件工程的形成得益于人们用工程化思想看待软件产品的开发,软件工程的产生又使得软件项目管理学科应运而生。软件项目管理的出现使所谓的“软件危机”得到了一定程度的缓解和控制。 项目管理的目标是在有限资源标注条件下,保证项目时间进度、质量、成本达到最优化。软件项目管理的主要目标是确保软件产品能够按预期方案交付,同时还要满足用户需求。软件项目风险管理的目的是要找出导致项目需求不明晰、不能按进度计划及时交付、产品质量存在缺陷、开发费用超支等各种不良后果的风险因素,对风险因素及可能造成的后果和危害进行定性和定量分析,从而为软件项目管理人员等提供有效的风险控制方案和措施,使其对软件项目的损失或影响降到最低程度或使决策者可以接受的程度。因此,软件项目风险管

软件开发项目风险管理的几点体会

参与过大型软件项目的人都会认识到许多事情都可能出错,一但出错就可能给项目带来危害、损失或其它不利影响。风险是在项目中发生的一系列事件或不利结果的可能性。软件开发是一项高风险的活动,在项目开发过程的任何一个阶段都可能存在风险。采取积极的风险管理方式,可以使项目进程更加平稳,可以获得很高的跟踪和控制项目的能力,可以规避、转移风险,或缓解风险带来的不利影响。风险管理是对项目风险进行识别、分析、应对和监控的过程,是项目管理中很重要的管理活动,有效的实施软件风险管理是软件项目开发工作顺利完成的保证。 风险管理的达成必须包括三个要素:首先,在项目开发计划中必须制定风险管理计划;第二,在项目预算中必须包含解决风险所需的经费;第三,评估风险时,风险的影响也必须纳入项目计划中。 下面就软件开发过程中经常发生的风险,谈谈我们采取的预防措施。 2.需求不明确 需求不明确是软件开发过程中经常可能遇到的问题,这类问题往往表现在需求范围未界定、需求未细化、需求描述不清楚、需求遗漏、需求互相矛盾等多个方面。在软件开发过程的生命周期各阶段中,需求不明确所造成的浪费是最大的,必须尽早尽可能解决。确定用户需求是件非常困难的事情,我们常常从以下几个方面着手处理需求不明确问题: (1) 让用户参与开发 提供一个协作开发环境,让用户参与开发过程。如果条件不允许,至少应该在每次迭代的需求分析和系统测试阶段,让客户能够参与开发。

在选择参与开发过程的用户时,一方面,要尽可能争取精通业务或计算机技术的用户参与。另一方面,如果开发的产品要在不同规模、不同类型的企业应用,应该选择具有代表性的用户参与。 仅仅让用户参与是不够的,应该采取一定的激励措施,提高用户参与的积极性。 (2) 开发用户界面原型 用户通常不善于精确描述自己的业务需求,系统分析员需要借助白板、白纸等沟通方式,帮助用户清楚表述需求。然后,开发一个用户界面原型,以便用户确认需求。用户界面原型的作用仅仅是收集用户需求,不应该再作它用,也不要给用户造成系统快要实现的错觉。 (3) 需求讨论会议 对于用户分布广、用户量大的项目,要全面收集用户需求,往往很困难,通常采取需求研计会议方式进行需求确认。通过在会议前几周调查各地、各部门用户需求意见,然后集中各地或各部门的用户代表,举办一次需求研讨会,通过会议方式收集需求。本方法适合于具有一定信息系统使用经验的用户。 (4) 强化需求分析与评审 首先,需求分析是项目成功的基础,需要引起足够的重视,并分配充足的时间和人力,要让有经验的系统分析员负责,切忌让项目新手或程序员负责。其次,要进行需求评审,尽可能让用户参与需求评审,不要让需求评审流于行式。第三,也是最重要的一点,通过评审的需求规格说明书,要让用户方签字,并作为项目合同的附件,对双方都具有约束力。在公司内部要将

软件风险管理

风险管理计划 1.引言 1.1本文件的范围和目的 项目风险管理描述了在整个项目生命周期内项目团队如何组织和开展项目风险识别,度量,应对和监控等项目管理活动,是一份指导项目团队进行项目风险管理的纲领性文件。项目风险管理的目标在于提高项目中积极事件的概率和影响,降低项目中消极事件的概率和影响,确保项目在可控的范围内完成项目目标。 1.2概述 1.2.1目标 提高项目中积极事件的概率和影响,降低项目中消极事件的概率和影响,确保项目在可控的范围内完成项目目标。当不能很确定地预测将来事情的时候,可以采用结构化风险管理来发现计划中的缺陷,并且采取行动来减少潜在问题发生的可能性和影响。风险管理意味着危机还没有发生之前就对它进行处理,这就提高了项目成功的机会并减少了不可避免风险所产生的后果。 1.2.2 需要优先考虑规避的风险 (1)业务风险 产品规模风险,商业风险,项目需求风险,客户特性风险,过程风

险 (2)技术风险 技术情况风险,开发环境风险 (3)组织风险 人员数目及其经验风险 1.3组织 1.3.1领导成员 蒋妍,范楚楚,宋蕊蕊,谭琳琳,杨欣颖,赵术洁 1.3.2责任 1.4 风险规避策略的内容说明 1.4.1 进度安排

1.4.2 主要里程碑和审查行动 (1)项目风险分析 通过项目风险分析对项目进行宏观控制,作出风险发生的概率及时作出规避策略,降低项目成本。 (2)项目风险应对 对于出现的不确定风险应及时做出应对措施,提出风险规避备选方案及建议方案,降低项目的失败性。 1.4.3预算 风险情况调查所需花费预算成本 2 风险识别 2.1风险情况调查,风险来源 收集资料 项目产品或服务说明书,项目的前提,假设和制约因素,本项目可与类比的项目。

软件规划项目风险管理方案计划

摘要 软件项目风险管理是软件项目管理的重要内容 在进行软件项目风险管理时,要辩识风险,评估它们出现的概率及产生的影响,然后建立一个规划来管理风险。 风险管理的主要目标是预防风险 软件项目风险是指在软件开发过程中遇到的预算和进度等方面的问题以及这些问题对软件项目的影响。 软件项目风险会影响项目计划的实现,如果项目风险变成现实,就有可能影响项目的进度,增加项目的成本,甚至使软件项目不能实现。

目录

摘要 (1) 一、总体介绍 (3) 二、引言 (4) 三、软件项目风险管理概念 (5) 四、软件项目中的风险 (7) 4.1需求风险 (7) 4.2计划编制风险 (7) 4.3组织和管理风险 (7) 4.4人员风险 (7) 4.5开发环境风险 (8) 4.6客户风险 (8) 4.7产品风险 (8) 4.8设计和实现风险 (8) 4.9过程风险 (9) 五、风险辨识 (10) 六、风险分析 (11) 七、风险评估的对策 (13) 八、风险驾驭 (14) 九、经典风险管理理论 (16)

9.1 Boehm 模型 (16) 9.2 CRM 模型 (16) 9.3 Leavitt模型 (17) 十、总结 (18) 参考资料 (18) 一、总体价绍 如果对项目进行风险管理,就可以最大限度的减少风险的发生。 但是,目前国内的软件企业不太关心软件项目的风险管理,结果造成软件项目

经常性的延期、超过预算,甚至失败。 成功的项目管理一般都对项目风险进行了良好的管理。 因此任何一个系统开发项目都应将风险管理作为软件项目管理的重要内容。 在项目风险管理中,存在多种风险管理方法与工具,软件项目管理只有找出最适合自己的方法与工具并应用到风险管理中,才能尽量减少软件项目风险,促进项目的成功。 软件项目的风险管理是软件项目管理的重要内容。 在进行软件项目风险管理时,要辩识风险,评估它们出现的概率及产生的影响,然后建立一个规划来管理风险。 风险管理的主要目标是预防风险。 本文探讨了风险管理的主要内容和方法,介绍了风险管理的经典理论,比较了几种主流的风险管理策略和模型。

相关文档
最新文档