软件风险
进行风险分析时,重要的是量化不确定的程度和与每个风险相关的损失的程度。为了实现这点,必须考虑以下几种不同类型的风险:
项目风险:项目风险是指潜在的预算、进度、人力(工作人员和组织)、资源、客户、需求等方面的问题以及它们对软件项目的影响。项目风险威胁项目计划,如果风险变成现实,有可能会拖延项目的进度,增加项目的成本。项目风险的因素还包括项目的复杂性、规模、结构的不确定性。
技术风险:是指潜在地设计、实现、接口、验证和维护等方面的问题。此外规约的二义性、技术的不确定性、陈旧的技术、以及“过于先进”的技术也是风险因素。技术风险威胁要开发的软件的质量及交付时间。如果技术风险变成现实,则开发工作可能变得很困难或者不可能。
商业风险:商业风险威胁到要开发软件的生存能力。商业风险常常会危害项目或产品。
五个主要的商业风险是:
(1)市场风险:开发一个没有人真正需要的优秀产品或系统;
(2)策略风险:开发的产品不再符合公司的整体商业策略;
(3)销售风险:建造了一个销售部门不知道如何去卖的产品;
(4)管理风险:由于重点的转移或人员的变动而失去了高级管理层的支持;
(5)预算风险:没有得到预算或人力上的保证。
风险识别
风险识别过程的活动是将项目实施中的不确定性转变为明确的风险陈述。系统地识别风险是这个过程的关键,识别风险不仅要确定风险来源,还要确定何时发生、风险产生的条件,并描述其风险特征和确定哪些风险事件有可能影响本项目。风险识别不是一次性的活动,应当在项目执行过程中自始至终定期进行。
识别方法 | 适用情况 |
专家访谈法 | 从定性方面出发进行初步风险识别 |
历史记录统计法 | 从定性方面对新项目的风险进行预测 |
现场调查法 | 对一些动态风险因素进行识别与预测 |
风险数据库 | 类似项目的风险识别 |
故障树分析法 | 直接经验较少的风险识别 |
聚类分析法 | 具有相同或相似属性的风险识别 |
模糊识别法 | 具有相同或相似属性的风险识别 |
风险预测与评估
风险预测又称风险估计,从两个方面评估一个风险:a.风险发生的可能性或概率。b.风险发生所产生的后果(风险的本质、范围和时间)。
通常,项目计划人员与管理人员、技术人员一起进行一下4步风险预测活动:
(1)建立一个尺度或标准,以反映风险发生的可能性
(2)描述风险产生的后果
(3)估算风险对项目和产品的影响
(4)标准风险预测的整体精确度,以免产生误解。
风险评估就是量化测评某一事件或事物带来的影响或损失的可能程度。
风险值(风险的严重程度)R=F(P,I) P是风险发生的概率 I是风险发生后对项目目标的影响。
风险控制
风险规划
回避风险 转移风险 缓解风险 接受风险
风险监控
实施和跟踪风险管理计划
确保风险策略正在合理使用
监视剩余的风险识别新的风险
收集可用于将来的风险分析信息