软件流程和管理三:Risk Management

目录

1. 理解风险管理的基本原理

1.1 Risk vs Uncertainty

1.2 为什么要进行正式的风险管理

2. 理解风险管理过程

3. 理解如何计划风险管理活动

3.1 Risk Management Planning

4. 了解如何定义风险

4.1 风险的特征

4.2 风险的种类

4.3 风险识别

4.3.1 风险识别技术

5. 理解如何分析和评估风险

5.1 风险分析——定性

5.2 风险评估--风险矩阵

5.3 风险评估——定量

6. 理解如何应对风险(风险战略)

6.1 应对风险

6.2 风险应对策略

6.3 风险应对计划

6.4 监测和控制风险


1. 理解风险管理的基本原理

风险是一种:

未来可能发生的、具有负面结果的事件。

危害;危险;或面临损失或伤害的风险。——韦伯斯特词典

一个不确定的事件或条件,如果它发生,会对项目目标产生积极或消极的影响。——PMBOK

上述前两个定义处理的是风险,而且总是负面的,而第三个定义考虑的是正面和负面的影响——机会(我们将坚持使用第三个定义)。

1.1 Risk vs Uncertainty

风险与不确定性是不同的,尽管它们是相关的。

不确定性:

  • 对某一事件/结果缺乏完全的确定性
  • 该事件/结果的概率小于1
  • 例如,一个体育赛事的结果

风险:

  • 有影响的不确定因素
  • 例如,如果你在体育赛事上下了赌注,或有一些其他的个人利益,那么体育赛事的结果就有风险。

风险是不确定性的结果,但不是每个不确定性都是风险。

1.2 为什么要进行正式的风险管理

我们每天都在处理生活中的风险,例如:计划去听讲座。

项目有许多可能的风险,这些风险可能对结果产生重大影响。

  • 商业风险
  • 项目风险
  • 产品风险

一个有计划的风险管理过程是必不可少的。

项目风险管理的目标是:最小化潜在负面风险的影响,同时最大化潜在正面风险的影响。

2. 理解风险管理过程

计划

  • 如何对待和规划风险管理活动?

识别

  • 识别可能的风险

分析和评估(定性和定量)

  • 识别已确定的风险的相对优先次序

应对(行动)

  • 我们怎样才能减少风险的可能性或影响?

监测和控制

  • 我们怎样才能检测出我们的风险的持续状态?我们怎样才能有效和高效地控制它们?

3. 理解如何计划风险管理活动

3.1 Risk Management Planning

  • 风险管理规划的产出是一个风险管理计划(RMP),它记录了整个项目的风险管理程序。
  • 项目组应审查RMP,理解并执行组织和发起人的风险管理方法。
  • 详细程度将随项目的需要而变化

风险管理计划

  • 方法论
  • 角色和责任
  • 预算和时间表
  • 风险类别
  • 风险概率和影响
  • 追踪
  • 风险文件
  • 应急计划
  • 后备计划

4. 了解如何定义风险

4.1 风险的特征

通过分析以下内容,确定哪些事件应被视为风险。

  • 该事件发生的概率是否大于零?
  • 该事件对项目的影响是什么?
  • 我们是否对该事件或其结果有一定程度的控制?

一般性风险

  • 每个软件项目都会遇到的威胁或机会(例如人员流动、预算和进度压力)

产品特定风险

  • 产品特有的威胁或机会,只有对产品和技术有明确了解的人才能识别。

4.2 风险的种类

项目风险

  • 影响项目的规划,例如:预算、时间表、范围、人员等。

产品风险

  • 影响正在开发的成果的质量或性能,例如:设计问题、实施问题、接口问题、维护问题、验证问题。

商业风险

  • 影响项目的经济成功,例如:对产品没有需求,失去管理支持,失去项目的外部资金等。

4.3 风险识别

风险识别

  • 处理使用系统的方法来识别和创建一个可能影响项目目标的威胁和机会的清单。

风险识别技术

  • 思考
  • 访谈
  • 集思广益
  • 检查表
  • 德尔菲技术
  • SWOT分析

4.3.1 风险识别技术

思考

  • 这只是涉及到个人采取 "笔和纸 "的风险识别方法,这包括坐下来思考项目中可能发生的风险。
  • 这是许多项目中使用的初始风险评估任务之一。

访谈/问卷调查

  • 采访项目利益相关者,或要求他们填写调查问卷,以利用他们对某一领域的知识.
  • 软件项目的风险经理不可能对所采用的方法和工具有足够的了解,以提供一个全面的风险观点,所以利益相关者和领域专家的意见是必不可少的。

集思广益

  • 团队可以使用风险框架或工作分解结构(WBS)来识别威胁和机会.
  • 关键是鼓励每个人的贡献。
  • 然后小组讨论和评估。

检查表

  • 这涉及到使用从经验中整理出来的可能的风险驱动因素的标准检查清单。
  • 这些核对表被用作专家思考该领域可能存在的风险类型的触发点。

Delphi技术 

  • 要求一组专家确定风险和它们的影响 
  • 他们的回答是互相匿名提供给对方的 
  • 然后要求专家们根据其他专家的回答更新他们的回答——反复进行,直到达成共识。

SWOT分析(案例研究) 

  • 优势、劣势、机会和威胁。
  • 这个技巧也能发现优点和缺点。

5. 理解如何分析和评估风险

风险分析和评估为评估风险提供了一个系统的方法

风险分析

  • 识别每个已识别的风险的概率和影响

风险评估

  • 对风险进行优先排序,以便制定有效的风险战略

分析和评估的两种方法

  • 定性:基于经验/直觉的主观评估
  • 定量:数学和统计技术

5.1 风险分析——定性

风险分析的重要步骤是:

1. 估计风险概率(P)

  • 这是对风险发生的概率的一种估计
  • 通常根据专家的判断来完成

2. 估算风险影响(I)

  • 风险将对项目产生的影响。
  • 通常以1-5(或10)的尺度来衡量:
    • (1)无影响;(2)最小影响;(3)中度影响;(4)严重影响;(5)灾难性影响
  • 影响可以表示为一个货币价值

风险分析的重要步骤是什么:

3. 计算风险暴露(或P *I得分)

Risk exposure= P\times I

4. 识别根本原因

  • 识别所有风险的根本原因是很重要的
  • 如果能确定这个根本原因,那么所有这些风险都可以通过解决这个根本原因而得到控制

 

5.2 风险评估--风险矩阵

  • 风险矩阵——通过考虑概率或可能性后果的严重性来定义风险的等级。
  • 一种提高风险可见度和协助管理决策的机制。

 

5.3 风险评估——定量

定量方法包括数学和统计技术。

它们基于对特定风险情况的建模 - 风险的概率分布是主要考虑因素。

常见的技术:

  • 决策树分析
  • 模拟法
  • 敏感度分析

量化方法超出了本课题的范围

6. 理解如何应对风险(风险战略)

6.1 应对风险

  • 风险分析和评估的目的是确定应该处理哪些机会和威胁
  • 应对每一个威胁或机会是不可行的(或可取的),因为这需要资源,而这些资源通常会从项目中转移出来,这可能对项目产生更多的负面影响。
  • 因此,选择适当的应对策略很重要。

6.2 风险应对策略

处理威胁的四种常见策略:

1. 接受或忽视

这意味着我们认为风险的暴露程度是可以接受的,我们希望事件不会发生,或者风险暴露小于任何避免、减轻或转移风险的技术的成本。

2. 避免

这意味着我们完全防止风险事件的发生,要么确保其概率为0,要么确保其影响为0。

3.减轻

这包括使用技术来降低风险的可能性,或降低风险的影响。这就导致了残留风险——即由同一事件构成的风险,但其概率/影响较低,因此风险敞口较低。然后,我们必须像分析主要风险一样分析剩余风险。

4. 转移

这包括将风险负担转移给另一方。保险是风险转移的一个例子,在这种情况下,风险的影响通过保险公司的付款来抵消。另一个例子是将一部分工作外包给拥有更多知识和专业知识的人,这是有代价的。

处理机会的四种常见策略:

1.利用

增加工作或改变项目,以确保机会的出现。

2. 加强

增加风险事件的概率和积极影响。

3.分享

将机会的所有权分配给第三方。

4. 接受

这意味着我们认为利用或加强的成本是不合理的,所以不做任何处理。

6.3 风险应对计划

一旦确定了风险和策略,就可以将它们记录下来,作为风险应对计划的一部分,也称为
风险登记册。

  • 一个简单的风险登记册的模板
  • 风险ID:风险的唯一标识
  • 触发器:标志着风险已经发生的触发器
  • 所有人:负责监测和应对的人或团体
  • 应对:应对的策略
  • 资源:所需资源

 

6.4 监测和控制风险

  • 一旦建立了风险应对计划,就必须对触发器进行监测,以跟踪各种项目风险
  • 在项目过程中可能会出现新的威胁和机会——必须对它们进行识别、分析和应对
  • 风险监测必须是项目整体监测和控制的一部分

监测和控制的工具

风险审计:

  • 外部团队查看识别过程的全面性,并确保其他程序和过程到位。

风险审查:

  • 定期对风险进行内部审查,为PM和那些需要了解的人生成状态报告。

风险状况会议:

  • 风险必须在项目状态会议上进行审查和讨论,这些会议在项目中定期举行(例如,每周一次的会议)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


学习编程是顺着互联网的发展潮流,是一件好事。新手如何学习编程?其实不难,不过在学习编程之前你得先了解你的目的是什么?这个很重要,因为目的决定你的发展方向、决定你的发展速度。
IT行业是什么工作做什么?IT行业的工作有:产品策划类、页面设计类、前端与移动、开发与测试、营销推广类、数据运营类、运营维护类、游戏相关类等,根据不同的分类下面有细分了不同的岗位。
女生学Java好就业吗?女生适合学Java编程吗?目前有不少女生学习Java开发,但要结合自身的情况,先了解自己适不适合去学习Java,不要盲目的选择不适合自己的Java培训班进行学习。只要肯下功夫钻研,多看、多想、多练
Can’t connect to local MySQL server through socket \'/var/lib/mysql/mysql.sock问题 1.进入mysql路径
oracle基本命令 一、登录操作 1.管理员登录 # 管理员登录 sqlplus / as sysdba 2.普通用户登录
一、背景 因为项目中需要通北京网络,所以需要连vpn,但是服务器有时候会断掉,所以写个shell脚本每五分钟去判断是否连接,于是就有下面的shell脚本。
BETWEEN 操作符选取介于两个值之间的数据范围内的值。这些值可以是数值、文本或者日期。
假如你已经使用过苹果开发者中心上架app,你肯定知道在苹果开发者中心的web界面,无法直接提交ipa文件,而是需要使用第三方工具,将ipa文件上传到构建版本,开...
下面的 SQL 语句指定了两个别名,一个是 name 列的别名,一个是 country 列的别名。**提示:**如果列名称包含空格,要求使用双引号或方括号:
在使用H5混合开发的app打包后,需要将ipa文件上传到appstore进行发布,就需要去苹果开发者中心进行发布。​
+----+--------------+---------------------------+-------+---------+
数组的声明并不是声明一个个单独的变量,比如 number0、number1、...、number99,而是声明一个数组变量,比如 numbers,然后使用 nu...
第一步:到appuploader官网下载辅助工具和iCloud驱动,使用前面创建的AppID登录。
如需删除表中的列,请使用下面的语法(请注意,某些数据库系统不允许这种在数据库表中删除列的方式):
前不久在制作win11pe,制作了一版,1.26GB,太大了,不满意,想再裁剪下,发现这次dism mount正常,commit或discard巨慢,以前都很快...
赛门铁克各个版本概览:https://knowledge.broadcom.com/external/article?legacyId=tech163829
实测Python 3.6.6用pip 21.3.1,再高就报错了,Python 3.10.7用pip 22.3.1是可以的
Broadcom Corporation (博通公司,股票代号AVGO)是全球领先的有线和无线通信半导体公司。其产品实现向家庭、 办公室和移动环境以及在这些环境...
发现个问题,server2016上安装了c4d这些版本,低版本的正常显示窗格,但红色圈出的高版本c4d打开后不显示窗格,
TAT:https://cloud.tencent.com/document/product/1340