未知-未知风险(Unknown-unknowns):不可预知风险
2.风险识别
风险的识别就是确定何种风险事件可能影响项目。在项目开始、每个项目阶段中间、主要范围变更批准之前都要进行风险识别,实际上它在整个项目生命周期内都是一个连续的过程。
要识别风险,首先我们应该了解在软件开发的各个阶段都有可能发生哪些风险(风险事件或风险来源)。
初始阶段
在这个阶段进行大部分需求分析、少部分设计(大部分业务建模和需求、少部分分析设计)。
可能的风险事件:
1、 项目目标不清
2、 项目范围不明确(范围太大太小都不可以)
3、 用户参与少或和用户沟通少
4、 对业务了解不够
5、 对需求了解不够
6、 没有进行可行性研究
设计阶段
在这个阶段进行大部分设计、少部分编码(大部分分析设计,部分实施及测试,开始考虑部署)
可能的风险事件
1、 项目队伍缺乏经验,如缺乏有经验的系统分析员
2、 没有变更控制计划,以至于变更没有依据,该变更的不变,不该变的也变,这样得来的设计势必会失败或者偏离用户需求
3、 仓促计划,可能带来进度方面的风险
4、 漏项,由于设计人员的疏忽某个功能没有考虑进去
实施阶段
在这个阶段进行大部分编码和测试,也涉及少部分设计(大部分实施及测试,部分部署),如:设计变更或补充设计。
可能的风险事件
1、 开发环境没有具备好
2、 设计错误带来的实施困难
4、 项目范围改变(突然要增加或修改一些功能,需要重新考虑设计)
5、 项目进度改变(要求提前完成任务等)
6、 人员离开,在一个项目内软件开发工作有一定的连续性,需要移交和交接,有时人员离开对项目的影响会很大