第十一章 软件项目风险管理
11.1 项目风险管理概述
11.1.1 风险概述
1. 风险概念
风险是指在一定条件下和一定时期内可能发生的各种结果的变化程度。在涉及风险问题的研究中,风险的定义大致可分为两类:广义的风险定义和狭义的风险定义。风险的本质———不确定性和损失。风险具有下列基本因素。
- 风险事件:指活动或者事件的主体未预计到会发生或未预料到其发生后的结果的事件。
- 事件发生的概率:事件的发生具有不确定性,但可以根据某些方法进行度量,能够预料到一定发生或者不发生的事件不具有风险性。
- 事件的影响:风险事件发生后,其后果是不确定的,即可能带来损失,也可能提供机会。
- 风险的因素:是指能够引起风险事件发生或增加风险事件发生机会或影响损失严重程度的因素,是引起风险的各种内外、主客观原因。
2. 风险的特点
- 风险存在的客观性和普遍性。
- 某一具体风险发生的偶然性和大量风险发生的必然性。
- 风险的可变性。
- 风险的多样性和多层次性。
3. 项目风险的分类
- ① 技术风险是指由于与项目研制相关的技术因素的变化而给项目建设带来的风险,包括潜在的设计、实现、接口、验证和维护、规格说明的二义性、技术的不确定性、“老”技术与 “新”技术等方面的问题。
- ② 费用风险是指由于项目任务要求不明确,或受技术和进度等因素的影响而可能给项目费用带来超支的可能性。
- ③ 进度风险是指由于种种不确定性因素的存在而导致项目完工期拖延的风险。
- ④ 管理风险是指由于项目建设的管理职能与管理对象 (如管理组织、领导素质、管理计划)等因素的状况及其可能的变化,给项目建设带来的风险。
- ⑤ 社会环境风险是指由于国际、国内的政治、经济、技术的波动 (如政策变化等),或者由于自然界产生的灾害 (如地震、洪水等)而可能给项目带来的风险,这类风险属于大环境下的自然风险,一般是致命的,几乎无法弥补的风险。
- ⑥ 商业风险是指开发了一个没有人真正需要的产品或系统 (市场风险);或开发的产品不符合公司的整体商 业 策 略 (策 略 风 险);或构成了一个销售部不知道如何去出售的产品 (销 售 风险)等。
此外,还可以从预测的角度将风险分为以下3类。
- ① 已知风险:是通过仔细评估项目计划、开发项目的经济和技术环境及其他可靠的信息来源之后可以发现的那些风险。
- ② 可预测的风险:是指能够从过去项目的经验中推测出来的风险。
- ③ 不可预测的风险:是指可能但很难事先识别出来的风险。
4. 风险成本
风险发生时,可能会给项目带来损失或损害,为防止风险的发生或者减少风险发生时造成的损失,必须采取一些预防措施,必须支付为此而产生的费用,这就是风险成本。
- 风险的有形成本包括风险发生时造成的直接损失和间接损失。
- 直接损失是指人员、经费、设备等的直接流失;
- 间接费用是指直接损失以外的人、财、物、知识等的损失。
- 风险的无形成本是指由于风险所具有的不确定性而使项目在风险发生前和发生后所付出的代价。
11.1.2 风险管理概述
风险管理就是要在风险成为影响项目成功的威胁之前,识别、着手处理并消除风险的源头。
1. 项目风险管理理论
一种是针对无预警信息项目风险的管理方法和理论,其二是项目风险转移的方法 (即通过外包等方式转移风险的方法)。
2. 项目风险管理的方法
- (1)项目风险潜在阶段的管理方法
- (2)项目风险发生阶段的管理方法
- (3)项目风险后果阶段的管理方法
3. 风险管理的策略
风险管理的策略就是辅助项目组建立处理项目风险的策略。一般来讲,一个较好的风险管理策略应满足以下要求:
- 在项目开发中规划风险管理,尽量避免风险;
- 指定风险管理者,监控风险因素;
- 建立风险清单及风险管理计划;
- 建立风险反馈渠道。
4. 项目风险管理过程
在项目管理知识体系指南PMBOK中又把项目风险管理划分为风险管理规划、风险识别、风险定性分析、风险定量分析、风险应对规划、风险监控等6个过程。
11.1.3 风险管理的意义
- ① 从项目进度、质量和成本目标看,项目管理与风险管理的目标是一致的。通过风险管理来降低项目进度、质量、成本方面的风险,实现项目目标。
- ② 从计划职能看,项目计划考虑的是未来,而未来存在不确定因素,风险管理的职能之一是减少项目整个过程中的不确定性,有利于计划的准确性。
- ③ 从项目实施过程看,不少风险是在项目实施过程中由潜在变成现实的,风险管理就是在风险分析的基础上拟定具体措施来消除、缓和及转移风险,并避免产生新的风险。
风险管理力度可以分为以下4个层次。
- ① 危机管理:是在风险已经造成麻烦后才着手处理它们。
- ② 风险缓解:事先制定好风险发生后的补救措施,但不制定任何防范措施。
- ③ 着力预防:将风险识别与风险防范作为软件项目的一部分加以规划和执行。
- ④ 消灭根源:识别和消灭可能产生风险的根源。
风险管理在项目管理中的地位主要表现在以下几个方面。
- ① 有效的风险管理可以提高项目的成功率。
- ② 提前对风险制定对策,就可以在风险发生时迅速做出反应,避免忙中出错造成更大损失。
- ③ 风险管理可以增加团队的健壮性。
- ④ 有效的风险管理可以帮助项目经理抓住工作重点,将主要精力集中于重大风险,将工作方式从被动救火转变为主动防范。
11.2 项目风险的管理规划
11.2.1 风险管理规划的内容与依据
1. 风险管理规划的内容
- ① 选择确定风险管理的方法。
- 风险管理表格。风险管理表格记录着管理风险的基本信息。风险管理表格是一种系统地记录风险信息并跟踪到底的方式。
- 风险数据库模式。风险数据库表明了识别风险和相关的信息组织方式,它将风险信息组织起来供人们查询、跟踪状态、排序和产生报告。一个简单的电子表格可作为风险数据库的一种实现,因为它能自动完成排序、报告等。风险数据库的实际内容不是计划的一部分,因为风险是动态的,并随着时间的变化而改变。
- ② 确定风险管理的组织和人员。
- ③ 明确时间周期。
- ④ 定义风险类型级别及说明。
- ⑤ 确定基准。
- ⑥ 规定汇报形式。
- ⑦ 进行跟踪。
2. 风险管理规划的依据
- 项目规划中包含或涉及的有关内容,例如,项目目标、项目规模、项目利益相关者情况、项目复杂程度、所需资源、项目时间段、约束条件及假设前提等可作为规划的依据。
- 项目组织及个人所经历和积累的风险管理经验及实践。
- 决策者、责任方及授权情况。
- 项目利益相关者对项目风险的敏感程度及可承受能力。
- 可获取的数据及管理系统情况。丰富的数据和严密的系统基础,将有助于风险识别、评 估、定量化及对应策略的制定。
- 风险管理模板,以使风险管理标准化、程序化。项目经理及项目组将利用风险管理模板对项目进行管理,从而使风险管理标准化、程序化。模板应在管理的应用中得到不断改进。
11.2.2 风险管理规划的程序
- 1. 为严重风险确定风险设想
- 2. 制定风险应对备用方案
- 3. 选择风险应对途径
- 4. 制定风险管理计划
- 5. 建立风险管理模板
- 6. 确定风险数据库模式
11.2.3 风险管理规划的成果
风险管理规划的成果是形成一套风险管理计划文件,其中最重要的是风险形势估计、风险管理计划和风险规避计划。
11.3 项目风险识别
11.3.1 风险识别过程
项目风险识别的主要工作内容包括如下几个方面。
- 1. 识别并确定项目有哪些潜在的风险
- 2. 识别引起这些风险的主要影响因素
- 3. 识别项目风险可能引起的后果
11.3.2 风险条目检查表
对于软件项目一般可以包括以下几个方面的检查表。
- 1. 产品规模风险
- 2. 需求风险
- 3. 商业影响风险检查表
- 4. 相关性风险
- 5. 管理风险
- 6. 技术风险
- 7. 开发环境风险
- 8. 人员数目及经验风险
11.3.3 头脑风暴法
- 个人头脑风暴法
- 集团头脑风暴法
- 直接头脑风暴法
- 反向头脑风暴法
11.3.4 情景分析法
情景分析法对下列项目风险识别工作特别有用。
- 分析和识别项目风险的后果。
- 分析和识别项目风险波及的范围。
- 检验项目风险识别的结果。
- 研究某些关键因素对项目风险的影响。
11.3.5 风险识别的结果
- 1. 已识别出的项目风险
- 2. 可能潜在的项目风险
- 3. 项目风险的征兆
- 4. 对项目管理其他方面的要求
- ① 现场观察。
- ② 与项目其他团队密切联系和配合。
- ③ 做好资料保管工作。
11.4 风险分析
11.4.1 项目风险的度量
1. 项目风险可能性的度量
- 低风险是指可以辨识并可以监控其对项目目标影响的风险。
- 中等风险是指可以被辨识的,对系统的技术性能、费用或进度将产生较大影响的风险。
- 高风险是指发生的可能性很高,其后果将对工程项目有极大影响的风险。
2. 项目风险后果的度量
项目风险度量的第二项任务是分析和估计项目风险后果,即项目风险可能带来的损失大小。
3. 项目风险影响范围的度量
项目风险度量的第三项任务是分析和估计项目风险影响的范围,即项目风险可能影响到项目的哪些方面和工作。
4. 项目风险发生时间的度量
项目风险度量的第四项任务是分析和估计项目风险发生的时间,即项目风险可能在项目的哪个阶段和什么时间发生。
11.4.2 风险估计方法
- 1. 定性风险估计:定性风险估计主要是针对风险概率及后果绩效定性的评估。
- 2. 定量风险估计:定量风险分析过程的目标是量化分析每一个风险的概率及其对项目目标造成的后果,也分析项目总体风险的程度。
- 定量风险评估可以包括以下方法。
- (1)风险的参照水准分析
- (2)敏感性分析
- (3)概率分析:主要包括参数解析法和随机模拟法 (蒙特卡罗技术)两种。
- (4)决策树分析
11.4.3 风险评估
- 1. 风险分类
- 2. 风险分析
- (1)项目风险原因的分析与确定
- (2)项目风险后果的分析与确定
- (3)项目风险发展时间进程的分析与确定
- 3. 确定风险控制优先序列
- 4. 给出项目风险识别和度量报告
11.5 项目风险应对
11.5.1 项目风险应对的原则
在制定风险管理应对方案时应遵循以下原则。
- 1. 可行、适用、有效性原则
- 2. 经济、合理、先进性原则
- 3. 主动、及时、全过程原则
- 4. 综合、系统、全方位原则
11.5.2 项目风险的应对措施
一般的项目风险应对措施主要有如下几种。
- 1. 风险回避
- 2. 风险遏制
- 3. 风险转移
- 4. 风险化解
- 5. 风险容忍
- 6. 风险分担
11.5.3 风险应对措施制定的结果
项目风险应对措施制定的结果主要包括如下内容。
- 1. 项目风险管理计划
- 2. 项目风险应急计划
- 3. 风险储备:项目风险应急措施主要有费用、进度和技术三种。
- ① 项目预备金是一笔事先准备好的资金,这笔资金也被称为项目不可预见费,它是用于补偿差错、疏漏及其他不确定性事件的发生对项目费用估算精确性的影响而准备的,它在项目实施中可以用来消减项目成本、进度、范围、质量和资源等方面的风险。
- ②进度后备措施就是在关键路线上设置一段时差或浮动时间。项目管理组要设法制定一个较紧凑的进度计划,争取在各有关方要求完成的日期前完成。
- ③ 项目的技术后备措施是专门用于应付项目技术风险的,它是一系列预先准备好的项目技术措施方案,这些技术措施方案是针对不同项目风险而预想的技术应急方案,只有当项目风险情况出现并需要采取补救行动时,才需要使用这些技术后备措施。
11.6 项目风险监控
11.6.1 项目风险监控概述
项目风险控制的内容主要包括:持续开展项目风险的识别与度量、监控项目潜在风险的发展、追踪项目风险发生的征兆、采取各种风险防范措施、应对和处理发生的风险事件、消除和缩小项目风险事件的后果、管理和使用项目不可预见费、实施项目风险管理计划等。项目风险控制的依据主要有如下几个方面。
- 项目风险管理计划。
- 实际项目风险发展变化情况。
- 附加的风险识别和分析。
- 项目评审。
11.6.2 风险监控程序
- 1. 建立项目风险事件控制体制
- 2. 确定要控制的具体项目风险
- 3. 确定项目风险的控制责任
- 4. 确定项目风险控制的行动时间
- 5. 制定各具体项目风险的控制方案
- 6. 实施具体项目风险控制方案
- 7. 跟踪具体项目风险的控制结果
- 8. 判断项目风险是否已经消除
11.6.3 风险监控的方法
- 1. 风险预警系统
- 2. 风险审计
- 3. 技术指标分析
11.6.4 风险监控的成果
- 1. 随机应变措施
- 2. 纠正行动
- 3. 变更请求
- 4. 修改风险应对计划
习 题
一、选择题
1. 在项目管理过程中,最严重的风险通常出现在项目生命周期的哪个阶段?( C )
A. 启动和计划阶段
B. 计划和实施阶段
C. 实施和收尾阶段
D. 启动和收尾阶段
2. 项目风险的应对方法包括 ( D )。
A. 风险识别、风险评估、风险应对、风险监控
B. 风险事件、风险征兆、风险条目检查
C. 头脑风暴法、专家判断法、情景分析法
D. 风险转移、风险回避、风险化解、风险分担
3. 在下面的情况中,通过风险转移来降低风险的例子是 (ABD)。
A. 担保
B. 合同
C. 应急计划
D. 发包
4. 导致项目风险造成的后果应从哪些方面来衡量?( AC )
A. 风险后果的大小
B. 风险后果的性质
C. 项目风险的影响
D. 风险后果的时间性
5. 以下哪些是项目风险管理的目的?( AD )
A. 识别可能影响项目范围、质量、时间和成本的因素
B. 对所有已识别的风险制定风险应对计划
C. 为能控制的项目因素制定基准计划
D. 通过影响能够被控制的项目因素来减轻影响
二、填空题
1. 项目风险的特点是客观性和普遍性、偶然性和必然性、可变性、多样性和多层次性。
2. 软件项目的技术风险一般包括:潜在的设计、实现、接口、验证和维护、规格说明的二义性、技术的不确定性、“老”技术与 “新”技术等方面。
3. 风险管理策略应满足以下要求:在项目开发中规划风险管理,尽量避免风险;指定风险管理者,监控风险因素;建立风险清单及风险管理计划和建立风险反馈渠道。
4. 风险管理规划将针对整个项目生命周期制定如何组织和进行风险识别、风险定性分析、风险定量分析、风险应对计划及风险监控的规划。
5. 风险分析是在风险识别的基础上对项目管理过程中可能出现的任何事件所带来的后果的分析,以确定该事件发生的概率及可能影响项目的潜在相关后果。
三、简答题
1. 什么是项目风险?软件项目具有哪些风险?
2. 简述风险度量包括哪些内容。
3. 简述项目风险管理的意义和作用。
4. 如何定量评估项目的风险?每一种方法是如何进行评估的?
5. 试说明进度管理、成本管理中可能存在的风险。
6. 项目风险应对措施制定与项目风险控制有什么关联?如何管理和处理好这些关联?
7. 简述项目风险管理计划包括哪些内容。
8. 简述项目风险应对的主要方法及应注意的问题。
v1.4.18