文档介绍:软件工程
电子教案
王树林
第6章风险管理
风险概念定义:
(1)风险关注未来将要发生的事情;
(2)风险涉及改变;
(3)风险涉及选择本身所包含的不确定性。
当没有办法消除风险,甚至连试图降低该风险也存在疑问时,这些风险就是真正的风险了。
第6章风险管理
被动的和主动的风险策略
被动风险策略被称为“”。“不要担心,我总是有办法的”。
被动策略就是针对可能发生的风险来监督项目,直到他们变成真正的问题时,才拨出资源来处理他们。这被称为“救火模式”。当这样的努力无效时,项目就处于“危机”中了。
主动策略:在技术工作开始前。标识出潜在的风险,评估他们出现的概率及影响,划分出重要性并排序,然后建立一个计划对风险
第6章风险管理
进行管理。主要目标是预防风险,但不是所有的风险都可以预防,那么就有必要建立一个意外事件处理计划。下面的讨论主要是针对主动策略。
软件风险
风险中包含两个特性: (1) 不确定性,刻画风险的事件可能发生也可能不发生;
(2) 损失—如果风险变成了现实,就会产生恶性后果或损失。
第6章风险管理
进行风险分析时,重要的是量化不确定性的程度以及与每个风险活动相关的程度。
项目风险威胁到项目计划。如果风险变成现实,就会影响到项目的进度,增加成本。项目的风险是指潜在的预算、进度、人力、资源、客户、需求、项目复杂性、规模、结构不确定性等因素。
技术风险影响到开发的软件质量及交付时间。技术风险是指潜在的设计、实现、接口、验证、和维护等方面的问题。规约的二义性、技术的不确定性、陈旧的技术、及先进的技术。
第6章风险管理
技术风险的发生是因为问题比我们所设想的更加难以解决。
商业风险威胁到要开发软件的生存能力。五个主要的商业风险是(1)开发了一个没有人真正需要的优秀产品或系统;(2)开发的产品不再符合公司的整体商业策略(策略风险);(3)建造了一个销售部门不知道如何去买的产品;(4)由于重点的转移或人员的变动而失去了高级主管的支持(管理风险);(5)没有得到预算或人力上的保证(预算风险)。
第6章风险管理
识别风险
通过已知的和预测的风险,在可能时,项目管理者就可以避免风险,且当必要时控制这些风险。
每一类风险都可分为两个不同的风险:一般风险和特定产品风险。一般风险对每一个软件而言都是一个潜在的威胁。特定产品风险只有那些对当前项目的技术、人员、及环境非常了解的人才能识别出来。
如果你不主动攻击风险,风险就会主动攻击你。
识别风险的一个方法是建立风险条目检查表。
第6章风险管理
产品规模—与要建造的软件总体规模相关的风险。
商业影响—与管理市场所加诸的约束相关的风险。
客户特性—与客户的素质以及开发者和客户定期通信的能力相关的风险。
过程定义—与软件过程被定义的程度以及他们被开发者所遵守的程度相关的风险。
开发环境—与用于建造产品的工具的可用性及质量相关的风险。
建造的技术—与待开发软件的复杂性及系统
第6章风险管理
所包含技术的“新奇性”相关的风险。
人员数目及经验—与参与工作的软件工程师的总体技术水平及项目经验相关的风险。
产品规模风险
项目风险是直接与产品规模成正比的。
是否以LOC和FP来估算风险?
对于估算出来的产品信任程度如何?
第6章风险管理
产品的规模与以前产品的规模平均值的偏差百分比是多少?
产品的用户数有多少?
产品的需求改变多少?交付之前有多少?
交付之后有多少?
复用的软件有多少?