软件项目风险管理.doc

上传人:hs****ma 文档编号:548097133 上传时间:2023-05-04 格式:DOC 页数:10 大小:61KB
返回 下载 相关 举报
软件项目风险管理.doc_第1页
第1页 / 共10页
软件项目风险管理.doc_第2页
第2页 / 共10页
软件项目风险管理.doc_第3页
第3页 / 共10页
软件项目风险管理.doc_第4页
第4页 / 共10页
软件项目风险管理.doc_第5页
第5页 / 共10页
点击查看更多>>
资源描述

《软件项目风险管理.doc》由会员分享,可在线阅读,更多相关《软件项目风险管理.doc(10页珍藏版)》请在金锄头文库上搜索。

1、软件项目风险管理1 前言一般来说,软件工程师总是非常乐观。当他们在计划软件项目时,经常认为每件事情都会像计划那样运行,或者,又会走向另外一个极端。软件开发的创造性本质意味着我们不能完全预测会发生的事情,因此制定一个详细计划的关键点很难确定。当有预想不到的事情引起项目脱离正常轨道时,以上两种观点都会导致软件项目的失败。目前,风险管理被认为是IT软件项目中减少失败的一种重要手段。当不能很确定地预测将来事情的时候,可以采用结构化风险管理来发现计划中的缺陷,并且采取行动来减少潜在问题发生的可能性和影响。风险管理意味着危机还没有发生之前就对它进行处理。这就提高了项目成功的机会和减少了不可避免风险所产生的

2、后果。 2 什么是风险所谓“风险”,归纳起来主要有两种意见,主观说认为,风险是损失的不确定性;客观学认为,风险是给定情况下一定时期可能发生的各种结果间的差异。它的两个基本特征是不确定性和损失。IT行业中的软件项目开发是一项可能损失的活动,不管开发过程如何进行都有可能超出预算或时间延迟。项目开发的方式很少能保证开发工作一定成功,都要冒一定的风险,也就需要进行项目风险分析。在进行项目风险分析时,重要的是要量化不确定的程度和每个风险相当的损失程度,为实现这一点就必须要考虑以下问题:要考虑未来,什么样的风险会导致软件项目失败?要考虑变化,在用户需求、开发技术、目标、机制及其它与项目有关的因素的改变将会

3、对按时交付和系统成功产生什么影响?必须解决选择问题,应采用什么方法和工具,应配备多少人力,在质量上强调到什么程度才满足要求?要考虑风险类型,是属于项目风险、技术风险、商业风险、管理风险还是预算风险等?这些潜在的问题可能会对软件项目的计划、成本、技术、产品的质量及团队的士气都有负面的影响。风险管理就是在这些潜在的问题对项目造成破坏之前识别、处理和排除。3 风险管理项目风险管理实际上就是贯穿在项目开发过程中的一系列管理步骤,其中包括风险识别、风险估计、风险管理策略、风险解决和风险监控。它能让风险管理者主动“攻击”风险,进行有效的风险管理。在项目管理中,建立风险管理策略和在项目的生命周期中不断控制风

4、险是非常重要的,风险管理包括四个相关阶段:风险识别 识别风险的方法常用的有风险识别问询法(座谈法、专家法)、财务报表法、流程图法、现场观察法、相关部门配合法和环境分析法等。风险评估 对已识别的风险要进行估计和评价,风险估计的主要任务是确定风险发生的概率与后果,风险评价则是确定该风险的经济意义及处理的费/效分析,常用的方法有:概率分布、外推法、多目标分析法等。风险处理 一般而言,风险处理有三种方法,风险控制法,即主动采取措施避免风险,消灭风险,中和风险或采用紧急方案降低风险。风险自留,当风险量不大时可以余留风险。风险转移。风险监控 包括对风险发生的监督和对风险管理的监督,前者是对已识别的风险源进

5、行监视和控制,后者是在项目实施过程中监督人们认真执行风险管理的组织和技术措施。在IT软件项目管理中,应该任命一名风险管理者,该管理者的主要职责是在制订与评估规划时,从风险管理的角度对项目规划或计划进行审核并发表意见,不断寻找可能出现的任何意外情况,试着指出各个风险的管理策略及常用的管理方法,以随时处理出现的风险,风险管理者最好是由项目主管以外的人担任。4 风险识别风险识别就是企图采用系统化的方法,识别某特定项目已知的和可预测的风险。常用方法是建立“风险条目检查表”,利用一组提问来帮助项目风险管理者了解在项目和技术方面有些风险。在“风险条目检查表”中,列出了所有可能的与每一个风险因素有关的提问,

6、使得风险管理者集中来识别常见的、已知的和可预测的风险,如产品规模风险、依赖性风险、需求风险、管理风险及技术风险等。 “风险条目检查表”可以以不同的方式组织,通过判定分析或假设分析,给出这些提问确定的回答,就可以帮助管理或计划人员估算风险的影响。软件项目一般有如下五类风险:4.1 产品规模风险有经验的项目经理都知道:项目的风险是直接与产品的规模成正比的。与软件规模相关的常见风险因素有:估算产品的规模的方法(LOC或代码行,FP或功能点,程序或文件的数目)。产品规模估算的信任度产品规模与以前产品规模平均值的偏差产品的用户数复用的软件有多少产品的需求改变多少4.2 需求风险很多项目在确定需求时都面临

7、着一些不确定性和混乱。当在项目早期容忍了这些不确定性,并且在项目进展过程当中得不到解决,这些问题就会对项目的成功造成很大威胁。如果不控制与需求相关的风险因素,那么就很有可能产生错误的产品或者拙劣地建造正确的产品。每一种情况都会导致使人不愉快。与客户相关的风险因素有: 对产品缺少清晰的认识对产品需求缺少认同在做需求中客户参与不够没有优先需求由于不确定的需要导致新的市场不断变化需求缺少有效的需求变化管理过程对需求的变化缺少相关分析4.3 相关性风险许多风险都是因为项目的外部环境或因素的相关性产生的。经常我们不能很好地控制外部的相关性,因此缓解策略应该包括可能性计划,以便从第二资源或协同工作资源中取

8、得必要的组成部分,并且觉察潜在的问题。与外部环境相关的因素有:客户供应条目或信息内部或外部转包商的关系交互成员或交互团体依赖性经验丰富人员的可得性项目的复用性4.4 管理风险尽管管理问题制约了很多项目的成功,但是不要因为风险管理计划中没有包括所有管理活动而感到惊奇。在大部分项目里,项目经理经常是写项目风险管理计划的人,并且大部分人都不希望在公共场合暴露自己的弱点。然而,像这些问题可能会使项目的成功变得更加困难。如果不正视这些棘手的问题,它们就很有可能在项目进行的某个阶段影响项目。当我们定义了项目追踪过程并且明晰项目角色和责任,就能处理这些风险因素:计划和任务定义不够充分实际项目状态项目所有者和

9、决策者分不清不切实际的承诺员工之间的冲突4.5 技术风险软件技术的飞速发展和经历丰富员工的缺乏,意味着项目团队可能会因为技巧的原因影响项目的成功。在早期,识别风险从而采取合适的预防措施是解决风险领域问题的关键,比如:培训、雇佣顾问以及为项目团队招聘合适的人才等。主要有下面这些风险因素:缺乏培训对方法、工具和技术理解的不够应用领域的经验不够新的技术和开发方法不能正确工作的方法5 风险估计风险估计,又称风险预测,常采用两种方法估价每种风险。一种是估计风险发生的可能性或概率,另一种是估计如果风险发生时所产生的后果。一般来讲,风险管理者要与项目计划人员、技术人员及其他管理人员一起执行四种风险活动:(1

10、)建立一个标准(尺度),以反映风险发生的可能性。(2)描述风险的后果。(3)估计风险对项目和产品的影响。(4)确定风险的精确度,以免产生误解。另外,要对每个风险的表现、范围、时间做出尽量准确的判断。对不同类型的风险采取不同的分析办法。1确定型风险估计(a)盈亏平衡分析盈亏平衡分析(Break-Even Analysis)通常又称为量本利分析或损益平衡分析。它是根据软件项目在正常生产年份的产品产量或销售量、成本费用、产品销售单价和销售税金等数据,计算和分析产量、成本和盈利这三者之间的关系,从中找出它们的规律,并确定项目成本和收益相等时的盈亏平衡点的一种分析方法。在盈亏平衡点上,软件项目既无盈利,

11、也无亏损。通过盈亏平衡分析可以看出软件项目对市场需求变化的适应能力。(b)敏感性分析敏感性分析(Sensitivity Analysis)的目的,是考察与软件项目有关的一个或多个主要因素发生变化时对该项目投资价值指标的影响程度。通过敏感性分析,使我们可以了解和掌握在软件项目经济分析中由于某些参数估算的错误或是使用的数据不太可靠而可能造成的对投资价值指标的影响程度,有助于我们确定在项目投资决策过程中需要重点调查研究和分析测算的因素。(c)概率分析它是运用概率论及数理统计方法,来预测和研究各种不确定因素对软件项目投资价值指标影响的一种定量分析。通过概率分析可以对项目的风险情况做出比较准确的判断。主

12、要包括解析法和模拟法(蒙特卡罗Monte Carlo技术)两种。2不确定型风险估计主要有小中取大原则、大中取小原则、遗憾原则、最大数学期望原则、最大可能原则。3随机型风险估计主要有最大可能原则、最大数学期望原则、最大效用数学期望原则、贝叶斯后验概率法等。5.1 建立风险清单风险清单是关键的风险预测管理工具,清单上列出了在任何时候碰到的风险名称、类别、概率及该风险所产生的影响。其中整体影响值可对四个风险因素(性能、支持、成本及进度)的影响类别求平均值(有时也采用加权平均值)。一旦完成了风险表的内容,就可以根据概率及影响来进行综合考虑,风险影响和出现概率从风险管理的角度来看,它们各自起着不同的作用

13、(见图1)。一个具有高影响但低概率的风险因素不应当占用太多的风险管理时间 ,而具有中到高概率、高影响的风险和具有高概率及低影响的风险,就应该进行风险分析。5.2 风险评估在风险分析过程中,我们对风险进行评估时可以建立一个如下的四元数组:ri , li, xi,yi其中,ri是风险,li 为风险出现的概率,xi 则表示风险损失大小,yi 则表示期望风险。一种对风险评估的常用技术是定义风险的参照水准,对绝大多数软件项目来讲,风险因素成本、性能、支持和进度就是典型的风险参照系。也就是说对成本超支、性能下降、支持困难、进度延迟都有一个导致项目终止的水平值。如果风险的组合所产生的问题超出了一个或多个参照

14、水平值时,就终止该项目的工作,在项目分析中,风险水平参考值是由一系列的点构成的,每一个单独的点常称为参照点或临界点。如果某风险落在临界点上,可以利用性能分析、成本分析、质量分析等来判断该项目是否继续工作。图2 表示了这种情况。但在实际工作中,参照点很少能构成一条光滑的曲线,大多数情况下,它是一个区域,而且是个易变的区域。因而在做风险评估时,尽量按以下步骤执行:(1)定义项目的水平参照值(2)找出每组ri , li, xi,yi与每个水平参照值间的关系(3)估计一组临界点以定义项目的终止区域(4)估计风险组合将如何影响风险水平参照值5.3 估计损失的大小表1是风险分析表的一个例子,可以建立一个用

15、风险、损失概率、损失大小和期望风险这样的风险评估表。在表1所示的风险估价的例子中,一个理论项目已经识别了从1到20周期间的潜在的几个风险,风险发生的概率范围在5%到50%之间。在现实的项目中,可能会识别出比此表要多得多的风险。损失的大小常常比概率更容易受到控制。在以上的例子中,可以很精确地估计出完全支持自动从主机更新数据的时间是20个月。根据管理层将在何时讨论项目建议书,可以知道项目不是在2月1日就是3月1日会被批准。如果假定会在2月1日批准,项目被批准的风险大小会比期望的长一些,也就是1个月时间。如果损失的大小不容易直接估计出来,可以将损失分解为更小的部分,再对其进行评估,然后将各部分评估结果累加,形成一个合计评估值。例如,如果使用3种新编程工具,可以单独评估每种工具未达到预期效果的损失,然后再把损失加到一起,这要比总体评估容易多了。5.4 评估损失的概率评估损失的概率要比评估损失大小更具有主观性。这里有许多实践方法可以提高主观评估的准确度。有以下方

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > IT计算机/网络 > 软件工程

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号