风险管理
风险特性
软件风险包含两种特性:不确定性和损失。不确定性是指风险可能发生也可能不发生。损失指如果风险发生,就会产生恶性后果。量化风险的两个特性是风险分析的重点。
风险类型
项目风险:指预算,进度,人员,资源,利益相关者,需求等方面的潜在问题,以及它们对软件项目的影响。
技术风险:威胁到要开发软件的质量以及交付时间。
商业风险:威胁到要开发软件的生存能力。主要商业风险如下:
- 市场风险:该项目无市场需求。
- 策略风险:产品不符合公司策略。
- 销售风险:销售部门无能力进行销售。
- 管理风险:人员变动。
- 预算风险。
风险识别
风险识别试图系统化地指出对项目计划的威胁,识别出已知风险和可预测风险后,对风险进行回避,必要时进行风险控制。
风险条目检查表
以风险类型来建立的风险检查表:
- 产品规模
- 商业影响
- 客户特性
- 过程定义
- 开发环境
- 开发技术
- 人员才干与经验
以风险因素来建立:
- 性能风险
- 成本风险
- 支持风险
- 进度风险
风险预测
又称风险估计,从风险发生的概率和产生后果来进行风险评估。
风险预测活动
通常,项目计划人员与管理人员,技术人员一起进行以下四步风险预测活动:
- 建立一个尺度标准,以量化反映风险发生的可能性。
- 描述风险产生的后果。
- 估算风险对项目和产品的影响。
- 标注风险预测的整体精确度,以免产生误解。
评估风险影响
当风险发生时,有三个因素可能会影响风险产生的后果,分别是风险的本质,范围和时间。
- 风险的本质:指当风险发生时可能带来的问题。
- 风险范围:包括风险的严重性和风险的整体分布情况。
- 风险时间:指何时能感受到风险的影响及持续时间。
风险评估
风险评估需要执行以下四个步骤:
- 定义项目的风险参考水平值。
- 建立每一组(r_i,l_i,x_i)与每一个参考水平值之间的关系。
- 预测一组临界值以定义项目终止区域,该区域有一条曲线或不确定区域所界定。
- 预测怎么样的风险组合会影响参考水平值。
风险控制
风险避免
应对风险最好的方法就是主动的避免风险,在风险发生前就分析引起风险的原因,然后采取措施,以避免风险的发生。
风险监控
项目管理者应监控某些可以提供风险变化的因素。
RMMM计划
风险管理步骤可以组织成一个独立的风险缓解,监控和管理计划,将所有风险分析工作文档化,并由项目管理者作为整个项目计划的一部分来使用。