致沟通不足,质量欠佳,甚至需重新开发;④过于正规(教条地坚持软件开发策略和标准),导致过多耗时于无用的工作;⑤向管理层撰写进程报告占用开发人员的时间比预期的多;⑥风险管理粗心,导致未能发现重大的项目风险。
四、风险辨识
识别风险是系统化地识别已知的和可预测的风险,在可能时避免这些风险,且当必要时控制这些风险。根据风险内容,我们可以将风险分为:
(1)产品规模风险:与软件的总体规模相关的风险。
(2)商业影响风险:商业风险影响到软件开发的生存能力。商业风险包含的五个主要的风险是:
l 市场风险:开发了一个没有人真正需要的优秀产品或系统;
l 策略风险:开发的产品不符合公司的整体商业策略;
l 销售风险:开发了一个销售部门不知道如何去卖的产品;
l 管理风险:由于重点的转移或人员的变动而失去了高级管理层的支持的风险;
l 预算风险:没有得到预算或人力上的保证。
(3)客户特性风险:与客户的素质以及开发者和客户沟通能力相关的风险。
(4)过程定义风险:与软件过程定义相关的风险。
(5)开发环境风险:与开发工具的可用性及质量相关的风险。
(6)技术风险:技术风险是指在设计、实现、接口、验证、维护、规约的二义性、技术的不确定性、陈旧的技术等方面存在的风险。技术风险威胁到软件开发的质量及交付的时间,如果技术风险变成现实,则开发工作可能变得很困难或根本不可能。
(7)人员数目及经验带来的风险:与参与工作的软件工程师的总体技术水平及项目经验相关的风险。
在进行具体的软件项目风险识别时,可以根据实际情况对风险分类。但简单的分类并不是总行的通的,某些风险根本无法预测。在这里,我们介绍一下美国空军软件项目风险管理手册中指出的如何识别软件风险。这种识别方法要求项目管理者根据项目实际情况标识影响软件风险因素的风险驱动因子,这些因素包括以下几个方面。
(1)性能风险:产品能够满足需求和符合使用目的的不确定程度。
(2)成本风险:项目预算能够被维持的不确定的程度。
(3)支持风险:软件易于纠错、适应及增强的不确定的程度。
(4)进度风险:项目进度能够被维持且产品能按时交付的不确定的程度。
每一个风险驱动因子对风险因素的影响均可分为四个影响类别——可忽略的、轻微的、严重的及灾难性的。转贴于:中国项目管理资源网
五、风险分析
在进行了风险辨识后,我们就要进行风险估算,风险估算从以下几个方面评估风险清单中的每一个风险:
(1)建立一个尺度,以反映风险发生的可能性;
(2)描述风险的后果;
(3)估算风险对项目及产品的影响;
(4)标注风险预测的整体精确度,以免产生误解。
对辨识出的风险进行进一步的确认后分析风险,即假设某一风险出现后,分析是否有其他风险出现,或是假设这一风险不出现,分析它将会产生什么情况,然后确定主要风险出现最坏情况后,如何将此风险的影响降低到最小,同时确定主要风险出现的个数及时间。进行风险分析时,最重要的是量化不确定性的程度和每个风险可能造成损失的程度。为了实现这点,必须考虑风险的不同类型。识别风险的一个方法是建立风险清单,清单上列举出在任何时候可能碰到的风险最重要的是要对清单的内容随时进行维护,更新风险清单,并向所有的成员公开,应鼓励项目团队的每个成员勇于发现问题并提出警告。建立风险清单的一个办法是将风险输入缺陷追踪系统中,建立风险追踪工具,缺失追踪系统一般能将风险项目标示为已解决或尚待处理状态,也能指定解决问题的项目团队成员,并安排处理顺序。风险清单给项目管理提供了一种简单的风险预测技术,下表事一个风险清单的例子: