第6讲 软件项目风险管理
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
定性风险分析与定量风险分析
定性风险分析
定性风险分析是评估已识别风险的影响和可能性的过程。 这一过程用来确定风险对项目目标可能产生的影响,对风 险进行排序。 定性风险分析要求使用已有的定性分析方法和工具来评估 风险发生的概率和后果。 这一过程往往需要重复进行,以跟上项目风险的变化。 定性分析主要是从一些概念方面或者用一些不很精确的表 述、风险的性质、特性、包括后果的影响大小做一个分析 和排序。定性分析里可以采用一些数字来表示风险的大小, 但是数字分析主要是在一些经验或者经验估计的基础上进 行的。
在项目里可能有技术方面的风险,有质量方面的风险或操作层面 的风险。
多维的风险识别方法(1)
目标维:成本、进度、质量、安全 要求有相对的成本、项目目标、成本目标、 进度目标、质量目标、安全目标,根据目标 的维度分析可能存在的风险,像成本超支风 险、进度拖延的风险、质量不合格的风险、 安全隐患的风险。
消灭根源
识别和消除可能产生风险的根源 例如,知道哪些不好事件可能会发生,制定好了万一发生 的应对措施,同时采取措施消除风险根源,杜绝风险的发 生
风险管理的组成(1/3)
风险管理
风险评估
风险控制
风 险 识 别
风 险 分 析
风 险 优 先 级
风 险 管 理 计 划
风 险 化 解
风 险 监 控
我想采取行动以便不留遗憾!
风险管理的成熟度模型
第4级:预知阶段
量化的风险管理
项目小组和客户运用风险管理,以合理的精度量化风 险,以便能集中精力解除最关键的风险。
主动迎接风险和评估备用方案
我想知道成功的机会有多大!
风险管理的成熟度模型
第5级:机会阶段
风险不一定是消极的,有风险的地方也蕴藏着机会
风险分析
1. 评估风险发生的概率 2. 估算风险造成损失的大小 3. 计算风险危险度(Risk Explosure)
风险分析的过程
评估已经识别风险的影响和可能性大小的过 程,确定风险可能造成的影响,同时对风险 进行排序,确定特定风险与指导相应风险应 对措施的开发。 风险分析的阶段
定性分析阶段和定量分析阶段
策略风险
开发的产品不再符合公司的整体商业策略
销售风险
建造了一个销售部门不知道如何去卖的产品
管理风险
由于重点的转移或团队人员的变动而失去了高级管理层 的支持
预算风险
没有得到预算或人力上的保证
讲授内容
1. 2. 3. 4. 5. 6. 项目案例 什么是软件风险? 如何进行风险管理? 风险评估 风险控制 小结
我疲于救火!受折磨
风险管理的成熟度模型
第2级:缓和阶段
引入了风险概念 对风险管理了解不多,而且缺乏经验
没有有计划地减缓风险
经理们采用应急计划以减少重大风险发生的可能性或 后果
我想知道什么会出错!
风险管理的成熟度模型
第3级:防范阶段
风险管理从经理的活动变为小组的活动
主动管理,识别和消除风险根源 大部分人有经验,能识别风险,但对于如何量化风险 没有把握。
从事风险识别的参与者,来源应多渠道
尽可能地包括以下人员:项目队伍、风险管理小组、来自公司其 它部分的某一问题的专家、客户、最终用户、其他项目经理、项 目干系人、外部的专家等。
风险识别是一个反复重复的作业过程。
项目与风险的关系是一个定常和持续的过程。因此,风险识别也 是一个反复和重复的作用过程。一旦风险被识别出来,就可以开 发和实施有效的风险应对。
如何进行风险管理
1. 什么是软件风险管理? 2. 风险管理的成熟度模型 3. 如何进行风险管理?
什么是软件风险管理?
对影响软件项目、过程或产品的风险进行评估 和控制的实践过程。 在风险影响软件项目成功实施前,对它进行识 别和处理,并预防和消除风险的发生
识别风险(会有哪些风险?) 预防和消除风险(最好别让风险发生) 制定风险发生后的处理措施(万一发生该怎么办?)
讲授内容
1. 2. 3. 4. 5. 6. 项目案例 什么是软件风险? 如何进行风险管理? 风险评估 风险控制 小结
风险评估
1. 风险识别 2. 风险分析 3. 风险优先级
风险识别
风险的识别是风险管理的第一步。 风险识别是确定何种风险可能会对项目产生影响,这些风 险具有什么样的特征。
通过分析,找出可能存在的风险,并将这些风险的特性归档,便 于后边进行风险管理。
在项目中:
遭受风险或者遭受损失的表现形式可能是产品 的质量问题,或者是成本超支、工期的延误或 者失败。
对风险的描述包括:
对可能导致损失的现状、可能性大小的描述; 对遭受损失后果的描述。
讲授内容
1. 2. 3. 4. 5. 6. 项目案例 什么是软件风险? 如何进行风险管理? 风险评估 风险控制 小结
项目实施存在风险(2/2)
在软件设计阶段,软件设计负责人老王发现, 用户需求中的某项需求(例如,将已有word 文档的内容显示在Web页面上)至今尚未找到 解决的技术途径(技术) 在需求分析过程中,老王带领的需求分析小组 和用户在进行交流的过程中发生了矛盾,出现 了争吵,用户方说将不再配合需求分析小组的 工作,而且他们确实没有配合开发方的工作 (合作)
案例提示我们
风险在项目实施过程中大量存在 软件风险形式多样 软件风险事先难以确定 软件风险会对软件项目的实施产生不良影响 如果不对风险进行良好的管理,项目就很难 保证按照计划、在成本和进度范围内,开发 出高质量的软件产品,甚至会导致项目失败
什么是风险
在词典中:
风险是遭受损失、伤害、破坏的可能性。
怎样进行风险识别
一个有效的风险识别原则,实际上是基于不同的维度,或 者不同的侧面来寻找和发现潜在风险。
比如可以用项目计划的输出或者项目工作分解结构,作为项目风 险识别的一个依据。
风险识别要求对项目使命、范围,以及业主、赞助人或项 目干系人的目标有充分的了解。 应当对其它各种过程的输出进行审核,以便在整个项目范 围内识别可能的风险。 对不同方面的风险可以按照它的相关特性进行识别和归纳。
多维的风险识别方法(3)
信息收集
历史项目档案 公开发表的资料
记录方法
因果分析图 风险清单或列表
风险识别
软件风险的具体类别 计划编制 组织和管理 开发环境 最终用户 客户 承包商 需求 产品外部环境 人员 设计和实现 过程
十大软件风险
风险被看作节约费用和比计划做得更好的机会 风险,像质量一样,人人有责 在开放和没有压力的环境中不断地识别、交流和应对风险
我想超过我自已的期望!
风险管理的策略(1/2)
危机管理
救火模式,风险造成麻烦后才着手进行处理
失败处理
察觉到了风险之后采取措施,但只是在风险发生 之后
风险缓解
多维的风险识别方法(2)
时间维:不同阶段、需求分析、设计、编码 /测试、集成
项目的进展维度,在项目进展的不同阶段,对 可能存在的风险进行分析。
因素维:技术、非技术
可以按照技术风险、非技术风险进行风险识别。 分析技术类的风险是人为风险还是管理的风险? 从多个角度、多个维度进行风险识别,可以有 效地把可能存在的风险找出来,为有效项目风 险管理提供良好的基础。
第6讲 软件项目的风险管理
如果你不主动击败风险,风险就会主动击败你
-Tom Gill
教学目的
Fra Baidu bibliotek 理解
软件风险及其相关概念 软件开发风险存在的必然性 在软件开发过程中进行风险管理的重要性和必 要性
掌握
对软件风险进行管理的方法
运用
在软件项目开发过程中进行风险管理
讲授内容
1. 2. 3. 4. 5. 6. 项目案例 什么是软件风险? 如何进行风险管理? 风险评估 风险控制 小结
政治风险
软件风险的分类
项目风险:威胁到项目计划 技术风险:威胁到软件的质量及交付时间 商业风险:威胁到软件的生存能力 环境风险:威胁到软件的合法性与相关法规相 冲突,能否通过管理部门的鉴定 政治风险:会不会造成政治方面困扰
五大商业风险
市场风险
开发了个没有人真正需要的优秀软件
为什么需要软件项目风险管理
软件风险是软件与生俱来的; 软件风险随着系统复杂程度的增加而增加; 软件风险阻碍人们实现目标 软件项目风险管理可以降低软件项目风险造 成的危害和损失
风险管理的成熟度模型
第1级:问题阶段
危机管理、救火模式 人们忙于解决问题,没有时间考虑将来 风险直到演变为问题后才着手处理 管理层没有意识到风险,或者对风险可能发生的时间 估计有误 管理层一听说风险,就责怪报告者,因此大部分人不 会报告坏消息
项目案例
案例角色和人物
–
小王:软件项目负责人
–
老王:公司技术老总
开发小组:小李,老赵,小田,小谢
项目实施存在风险(1/2)
项目已成功实施1个月,某天小谢突然告诉小 王,他已办理好了去德国的签证,2周后他会 辞职离开公司前往德国留学 (人员)
按照软件开发计划,需求分析应该在12月31日 之前完成,然而在软件项目实施过程中项目经 理发现,由于原先对工作量估算过于乐观,需 求分析在12月31日之前已经不可能完成(计 划)
功能无限蔓延 计划过于乐观 设计欠佳 质量低劣 银弹综合症:
寄希望与某种新技术、新方法解决问题
研发导向的开发 人员薄弱 研发人员与客户的磨擦 不合格的承包商 技术风险
例子:风险列表
编号 1 2 3 4 5 风险名称 计划过于乐观 由于要完全支持自动从主机更新数据而造成额外的需求 由于市场变化而需额外的需求 图形格式子系统接口不稳定 设计欠佳,需要重新设计
定性风险分析与定量风险分析
定量风险分析
定量分析是把单个的分析结果系统化、综合化,得出某一 项风险对一些项目总体的影响,后果和可能性大小。
定性风险分析方法和步骤
在定性分析中通常采用概率这个术语。 风险的概率是指某一个风险发生的可能性。 使用定性术语可以将风险的概率及其后果描述为极高、高、 中、低、极低五档。风险后果是指风险发生对项目目标产 生的影响。后者指的是一个结果,前者指的是一种可能性。 风险的这两个维度适用于具体风险事件,而不适用于项目 整体。 使用风险概率和风险后果来分析风险,可以帮助我们甄别 出哪些风险需要强有力的控制与管理。
识别了风险,并且事先制定好风险发生后的补救 措施,但是不做任何防范措施。 例如,知道不好事件可能会发生,等它发生。
风险管理的策略(2/2)
风险预防
将风险识别和风险防范作为软件项目的一部分加以规划和 执行 例如,知道哪些不好事件可能会发生,制定好了万一发生 的应对措施,同时采取措施防止它发生。
评估风险发生的概率(1/2)
主观性较强,采用方法
熟悉系统、有经验的人参与评估 多人独立评估,综合折中 采用分类:非常可能(0.8-1.0), 很可能(0.60.8),或许(0.4-0.6),不太可能(0.20.4),不可能(0-0.2)
评估风险发生的概率(2/2)
编号 1 2 3 4 5 风险名称 计划过于乐观 由于要完全支持自动从主机更 新数据而造成额外的需求 由于市场变化而需额外的需求 图形格式子系统接口不稳定 设计欠佳,需要重新设计 发生概率 50% 5% 35% 25% 15%
风险管理的组成(2/3)
风险评估
风险识别:识别风险,形成风险列表 风险分析:判定每一个风险出现的概率、产生 的影响及其重要性 风险优先级:按照每个风险的重要性排出一个 风险优先级
风险评估是风险控制的基础
风险管理的组成(3/3)
风险控制
风险管理计划:针对各个重要风险制定风险管 理计划,确保各个单独的风险管理计划之间以 及它们与相互计划之间的一致性 风险化解:执行风险管理计划,以缓解或消除 风险 风险监控:监控风险化解的过程,可能会识别 出新的风险
什么是软件风险?
什么是软件风险?
使软件项目的实施受到影响和损失、甚至导致失 败的、可能会发生的事件
软件风险的特点
未来将要发生的事,事先难以确定 带来损失,影响项目实施,甚至会导致项目失败 变更
没有风险管理是最大的风险!
软件风险的分类
项目风险
技术风险
软件风险
商业风险
环境风险