一、学习的目的与要求

  1. 进行合理的风险管理、制定及时的风险计划是预防软件项目失败的一种重要手段;
  2. 了解软件项目中存在的风险;
  3. 掌握集中常用的风险识别方法、风险评估方法
  4. 理解风险规划的主要内容

二、学习内容

1. 软件项目风险管理概述(重要)

1. 风险(损失的可能性)
  1. 目标:在初期人们总有一个或者一些目标和期望,因此有明确的目标是出现风险的一个必要条件;
  2. 损失:风险是潜在的损失或损害等不好的结构或机会的丧失,因此造成损失是风险的一个最本质的特征;
  3. 或然:什么时间发生、什么条件下发生大都难以把握,因此或然是风险的一个显著特征。
2. 软件风险类型

1. 项目风险:潜在的预算、进度、人力、资源、客户和需求等方面的问题以及对项目的影响;
2. 技术风险:潜在的设计、实现、验证和维护等方面的问题;
3. 商业风险:威胁到开发软件的生存能力,如市场降温、公司运营战略转变及资金链断裂。

3. 软件项目风险管理

风险管理是一种涉及到社会科学、工程技术、系统科学和管理科学的综合性多学科管理手段,它是涵盖风险识别、分析、计划、监督与控制等活动的系统过程,也是一项实现项目目标机会最大化与损失最小化的过程。

  1. 风险识别:识别风险和风险来源;
  2. 风险分析与策划:在建立的标准基础上分析;估计风险的可能性与后果;评估风险的严重程度;策划如何解决风险;制定风险解决方案,并为选择的方法定义行动计划;建立起点,帮助解决合适执行风险行动计划;
  3. 风险跟踪:监视计划的起点和风险的状态,比较他们来决定变化;使用触发器提供风险的早期警告;
  4. 风险应对:对触发的事件做出反应,执行风险行动计划,报告风险应对措施的结果,直到风险降到可接受范围;
  5. 风险管理验证:保证项目实践无偏差地执行风险管理计划。
4. 软件项目风险管理的意义
  1. 通过风险管理可以使决策更科学,从总体上减少项目风险,保证项目目标的实现;
  2. 通过风险识别,可加深对项目和风险的认识和理解,分析各个方案的利弊,了解风险对项目的影响,以便减少或分散风险;
  3. 通过风险分析替身项目计划的可信度,改善项目执行组织内部和外部之间的沟通;
  4. 使编制的应急反应计划更有针对性,即使风险无法避免,也能减少项目承受的损失;
  5. 能够将处理风险的各种方式有效组织起来,在项目管理中增加主动;
  6. 为以后的规划与设计工作提供反馈,以便采取措施防止与避免风险造成的损失;
  7. 为制定项目应急计划提供依据,有利于抓住与利用机会;
  8. 可推动项目管理层和项目组织积累风险资料,以便改进将来的项目管理方式和方法;

2. 风险识别(重点)

(1)概念:风险识别是寻找可能影响项目的风险以及确认风险特性的过程;
(2)参加人员:项目组成员、风险管理人员、学科专家、项目其他管理人员以及外聘专家;
(3)目标:辨识项目面临的风险,揭示风险和风险来源以及记录风险信息。

1. 风险识别依据
  1. 项目计划:包括项目的各种资源及要求,项目目标、计划和资源能力之间的配比关系;
  2. 历史经验:具有参考价值;
  3. 外部制度约束:如法律缓解变化等;
  4. 项目内部的不确定性:如需求规格说明中,有关待定的部分。
2. 常见软件风险
  1. 人力资源风险:人员配备不合理,无合作精神和进取心,过分自信,不切实际的高要求,缺乏项目分析时间;
  2. 需求风险:模糊和变化的用户需求,文档没有记录需求,接口文档不统一,客户人员变动导致需求变更,验收标准与需求定义不清楚;不切实际的期望,产品定位不清晰;
  3. 项目接口风险:需要等待其他软件产品交付,外包技术能力不够,硬件没有检验,文档记录不全,外包的方法论、软件过程与客户要求的标准不符;
  4. 设计风险:粗略的概要设计,未经检验的设计;
  5. 管理风险:责任不明确,角色与责任未被充分理解,无人员激励机制,无内部评审,报告不真实或重点不突出,管理制度不落实;
  6. 开发过程风险:不切实际的进度与成本要求,无经验资深人员,用未验证的新技术,调整计划未考虑实际情况,开发工具未全集成,客户文件格式和维护能力与现有开发环境不合;
  7. 项目集成与测试风险:受进度和成本压缩,缺少测试用例和计划,存在难以测试的模糊需求,时间不够可靠性测试不充分。
3. 风险识别过程

风险识别过程是将项目的不确定性转变未风险的陈述过程。

风险活动如下:
1. 进行风险评估:适合在项目初期进行;
2. 系统地识别风险:用有效的方法识别;
3. 风险定义及分类:多次被识别的风险反映了风险的重要性;
4. 确定风险驱动因素:风险驱动因素是引起软件风险的可能性和后果剧烈波动的变量;
5. 将风险编写成文档:对每一项风险进行管理。

4. 风险识别方法与技术

1. 核对清单(常用):用历史数据对照当前项目;
2. 头脑风暴法:项目组全体成员对项目风险进行自由讨论;
3. 匿名风险报告机制:匿名发表意见;
4. Delphi法(常用):进行匿名发表意见,并进行调整,直到意见统一;
5. SWOT分析法:分析项目内部又是、弱势、项目外部机会以及威胁等方面。

3. 风险分析(次重点)

(1)概念:风险分析是分析每种风险可能发生的时间和概率;
(2)目标:评估项目可能结果的范围,有助于确定哪些风险需要应对,哪些风险可以接受以及哪些风险可以忽略,可以加深对风险的认识和理解;
(3)过程目标:提炼风险背景,确定风险来源,确定行动时间框架,确定前10项首要风险名单。

1. 风险分析过程

风险分析的过程包括确定风险的类别、找出风险驱动因素
判定风险来源、确定风险度量标准、预测风险造成的后果和影响以及评估风险的等级以便对风险进行高低排序。

风险分析过程步骤:

  1. 定义风险度量规则:按照重要性对风险进行排序的基本依据,风险度量准则包括:
    (1)可能性:极低、低、中、高、极高;
    用概率表示风险的可能性

    可能性 概率
    极低 0.1
    0.3
    0.5
    0.7
    极高 0.9

    (2)后果:极低、低、中、高、极高;
    后果按照线性分级

    后果 概率
    极低 1
    3
    5
    7
    极高 9

    (3)行动时间框架:采取有效措施规避风险的时限。

  2. 预测风险影响:风险影响=风险发生的可能性 × 风险后果;

  3. 评估风险:风险的严重程度是随着时间而动态变化的;

    风险严重程度
    时间框架 风险影响
    5 2 1
    中等 7 4 3
    9 8 6
  4. 风险排序:依据评估标准确定风险排序;

  5. 制定风险计划:风险计划是实施风险应对措施的依据和前提,风险计划内容如下:
    (1)确定风险设想;
    (2)选择风险应对途径;
    (3)设定风险阈值;
    (4)编写风险计划。

2. 风险分析技巧与工具
  1. 因果关系分析法:用于揭示结果与原因之间的联系;
  2. 决策分析法:用于构建决策,用决策模型来代表真实世界里的问题;
  3. 差距分析法:确定变量的差距;
  4. Pareto分析法:所有项目风险的80%能够通过20%的已识别风险来说明;
  5. 敏感度分析法:改变每一个输入变量,其他变量保持正常值。

3. 风险分析成果

风险 可能性 影响
组织财政问题导致项目预算削减 灾难性的
招聘不到所需技能的人员 灾难性的
关键的人员在项目关键时刻生病 严重的
拟采用的系统组件存在缺陷,影响系统功能 严重的
需求变更导致主要的设计和开发重做 严重的
组织结构发生变化导致项目管理人员变化 严重的
数据库处理速度不够 严重的
开发所需时间估计不足 严重的
CASE工具无法集成 可容忍的
客户无法理解需求变更带来的影响 可容忍的
无法进行所需的人员培训 可容忍的
缺陷修复估计不足 可容忍的
软件规模估计不足 可容忍的
CASE工具生成的代码效率低 可容忍的

4. 风险跟踪与应对

1. 风险跟踪的目的和依据
  1. 风险跟踪的目标
    (1)监视风险设想的事件和情况;
    (2)跟踪风险阈值参数;
    (3)为触发机制提供通知;
    (4)获得风险应对的结果;
    (5)定期报告风险度量结果;
    (6)使风险状态保持可见。
  2. 风险跟踪的依据
    (1)风险设想:动态检测哪些将导致异常的结果的事件与情况;
    (2)风险阈值:定义了风险发生的端倪;
    (3)风险状态:动态记录了项目有关风险的详细信息。
2. 风险跟踪的成功
  1. 风险度量:提供了用于表示项目风险级别的客观和主观数据;
  2. 触发器:启动、解除或延缓风险计划活动的装置。
3. 风险跟踪过程
  1. 监视风险设想:确定风险发生的可能性是否增大;
  2. 对比项目状态与风险阈值:风险示警系统;
  3. 风险信息的通知:通过触发器发出;
  4. 报告风险度量。
4. 风险应对策略(重点)

1. 避免:通过改变项目计划或条件完全消除项目风险或保护项目目标不受风险影响;
2. 转移:将风险转移给另一方去承担;
3. 缓解:寻求降低一个不利于风险事件的发生概率或产生的后果使它达到一个可接受的水平;
4. 接受:有意识的选择承担风险后果;
5. 研究:通过调查研究以获得更多信息的风险应对策略;
6. 储备:对项目意外风险预留应急费用和进度计划;
7. 退避:风险影响巨大或采取措施不完全有效时使用

5. 风险应对过程
  1. 对触发事件作出反应;
  2. 执行风险计划:应对风险准则如下:
    (1)考虑更巧妙地工作;
    (2)挑战资金,找出更完美的方式;
    (3)充分利用机会;
    (4)适应新情况;
    (5)不要忽略常识。
  3. 对照计划,报告进展
  4. 修正与计划的偏差

5. 风险管理验证

1. 评审风险计划
  1. 计划要素:
    (1)完整性;
    (2)可理解性;
    (3)详细程度;
    (4)一致性;
    (5)现实性。
2. 审计管理过程
  1. 质量审计标准:ISO9000、SEI-CMM、MIL-STD-498;
  2. 审计报告目的:记录评审和审计结果
3. 风险管理回报

ROIRM=∑节约成本ROI_{RM} =\cfrac{\displaystyle\sum节约} {成本}ROIRM​=成本∑节约​

三、小结

  1. 软件风险是导致软件项目进度延迟、预算超支或项目部分或整体失败的原因之一;
  2. 不确定项和损失是风险的两大属性;
  3. 软件项目风险管理过程是一个不断识别风险、分析风险、计划风险、跟踪风险和应对风险的过程;
  4. 风险计划包括确定风险管理的目标,制定风险管理策略,定义风险管理过程依据风险管理验证。

第五章软件项目风险管理相关推荐

  1. 【XJTUSE项目管理复习笔记】第五章 软件项目成本管理

    仅供学习参考,禁止商用与转载 项目管理复习笔记 第五章 软件项目成本管理 项目成本管理的主要过程 项目成本管理:包括用来确保在批准的预算范围内完成项目的必要过程 项目成本管理的主要过程:计划成本管理➡ ...

  2. 第五章 软件项目成本管理

    软件项目的成本管理,就是为了确保项目在既定预算内按时.按质.经济.高效地实现项目目标所开展的一种项目管理过程. 项目的成本管理包括成本估算.成本预算和成本控制. 本章内容提要 5.1 软件项目成本管理 ...

  3. 软件项目管理-第五章软件项目任务分解

    1.任务分解定义 任务分解过程:将一个项目分解为更多的工作细目或者子项目,使项目变得更小.更易管理.更易操作. 任务分解结果:WBS(任务分解结构) WBS是对项目由粗到细的分解过程:面向交付成果的: ...

  4. PMBOK(第六版) PMP笔记——《十一》第十一章(项目风险管理)

    PMBOK(第六版) PMP笔记--<十一>第十一章(项目风险管理) 第十一章 风险管理: 项目的独特性导致项目充满风险,项目风险是一种不确定的事件或条件,可能发生.将 要发生,也可能不发 ...

  5. 软件项目风险管理介绍

    软件项目风险是指在软件开发过程中遇到的预算和进度等方面的问题以及这些问题对软件项目的影响.软件项目风险会影响项目计划的实现,如果项目风险变成现实,就有可能影响项目的进度,增加项目的成本,甚至使软件项目 ...

  6. 软件项目 风险管理用到的实践_软件项目风险管理方案

    软件项目风险管理方法 软件项目风险管理方法 在上世纪 60 年代, 西方世界的软件危机使人们 开始清醒得认识到软件开发过程的高复杂性,许多学 者致力于通过软件标准化,并提出一系列软件过程模 型,将系统 ...

  7. 【XJTUSE软件项目管理复习笔记】 第二章 软件项目整体管理

    仅供学习参考,禁止商用与转载 文章目录 软件项目管理复习笔记 第二章 软件项目整体管理 什么是项目整体管理 战略计划和项目选择 项目选择 项目的财务分析 净现值分析(重点) 投资收益率(ROI)分析法 ...

  8. 第十一章:项目风险管理

    第十一章:项目风险管理 风险是将来可能会发生的,会对项目产生正面/负面.积极/消极的影响的. 风险的三要素:1.风险是个事件:2.风险是有一定概率会发生的,一旦发生,就会带来积极或消极的影响:3.项目 ...

  9. 需求工程:第五章 确定项目的前景和范围-目标分析第六章 涉众分析与硬数据采样

    第五章 确定项目的前景和范围-目标分析 目标分析 为什么需要目标?业务需求不够严谨,无法形成方法学支持(建模) 目标: 是系统被开发的目的,有着明确的定义方式,名称.类型.关注.定义(正式,非正式). ...

  10. 东北大学软件项目管理与过程改进复习提纲(2020)——第十一章《项目风险管理》

    文章目录 整体结构 1 项目风险管理的重要性 2 计划风险管理 3 IT项目风险的一般来源 4 识别风险 4.1 对识别风险的建议 4.2 风险登记表 5 定性分析 5.1 概率/影响矩阵计算风险因子 ...

最新文章

  1. 搭建hadoop2.6.0 HA及YARN HA
  2. 避免在循环体中声明创建对象
  3. 重新拎一遍js的正则表达式
  4. oracle 截取指定时间戳,oracle时间函数(包括截取时间)
  5. pyecharts绘制地铁图_安利一个绘制地铁线路KMZ的利器 号称国产谷歌地球
  6. 数据库——关系数据理论学习笔记
  7. Java订单接入支付宝二 支付回调
  8. 【法律】如何保障未来夫妻合法权益:婚前房屋财产约定协议书
  9. MySQL插入数据错误Incorrect string value: ‘\xE8\x85\xBE\xE8\xAE\xAF‘ for column ‘custname‘ at row 1
  10. 3D游戏从入门到精通-2 -5
  11. 处理linux centos7中登陆plsql后退格键上下键使用乱码问题
  12. 通讯录2.0(动态内存增长版本)
  13. controller(控制器)
  14. 使用moviepy快速剪辑和拼接视频
  15. c 多文件全局变量_必须知道的C语言知识细节:C程序编译后内存到底是如何布局...
  16. Cassandra 1
  17. EXFO 光时反射仪MAX-730C-SM1基本规格
  18. div id与div class详解
  19. 基于java校园网站系统设计与实现(springboot框架)
  20. python实现企查猫登录

热门文章

  1. 学前端的记录帖html+css b站千峰19版
  2. banner设圆角_Banner设计技巧!
  3. 软件系统项目实施方案
  4. sublime JS Format js格式化工具
  5. xen html插件天气不会刷新,天气通刷新不了怎么办 刷新不了解决方法
  6. 第一章 WEB应用程序开发流程
  7. 积分基础-如何积分运动方程
  8. jquery版本之间的冲突
  9. 在线去水印网站_一键去水印工具
  10. 新库上线 | CnOpenData中国环境统计年鉴数据