『软件工程7』详解软件项目管理之风险分析与管理

简介: 笔记

软件项目管理——风险分析与管理


一、风险及风险管理的含义



1、风险的含义



风险即所有在软件开发过程中带来负面影响的问题,是一个潜在的问题。


2、风险管理含义


风险分析和管理是标识风险评估其发生的概率估算其影响建立在实际发生情形下问题的应急计划,是一系列帮助软件小组理解和管理不确定性的步骤。

对于一个好的软件项目管理来说,理解风险和采取积极的措施管理风险是关键


二、被动和主动的风险策略



1、被动风险策略


(1)定义: 被动风险策略是一种救火模式,是对风险不闻不问,直到发生了错误后项目组才赶紧采取行动试图迅速地纠正错误。


2、主动风险策略


(1)定义:技术工作开始之前就已经启动,标识出潜在的风险,评估出现的概率和产生的影响,且按重要性加以排序。

(2)主要目标: 主要目标是预防风险,但不是所有的风险都可以预防,因此需要建立一个应急计划,使其在必要时能够以可控的有效的方式做出反应。


三、风险的特性



风险有两大特性,分别为不确定性损失性。具体如下:

1、不确定性 —— 风险可能发生,也可能不发生;

2、损失 —— 如果风险变成了现实,就会产生恶性后果或损失。


四、风险的类型



风险类型有三类,分别是项目风险技术风险商业风险。具体如下:


1、项目风险


(1)主要威胁:威胁到项目计划。

(2)风险因素:潜在的预算、进度、人力资源、客户和需求等方面的问题以及这些因素对软件项目的影响;项目复杂度、规模和结构不确定性。


2、技术风险


(1)主要威胁:威胁到要开发软件的质量和交付时间。

(2)风险因素: 潜在的设计、实现、接口、验证和维护等方面的问题;技术的不确定性、陈旧的技术和“领先的”技术。


3、商业风险


(1)主要威胁: 威胁到要开发软件的生存能力。

(2)五种商业风险类型:

  • 市场风险——开发了一个没有人真正需要的优秀产品或系统;
  • 策略风险——开发的产品不再符合公司的整体商业策略
  • 销售风险——建造了一个销售部门不知道如何去做出售的产品;
  • 管理风险——由于重点转移或人员的变动而失去了高级管理层的支持;
  • 预算风险——没有得到预算或人力上的保证。


五、风险管理的步骤



风险管理主要有三个步骤,第一步为风险识别,第二步为风险预测,第三步为风险缓解、监控和管理。具体如下:


1、风险识别


(1)定义: 风险识别是试图系统化地确定对项目计划(估算、进度、资源分配)的威胁。


(2)分类

  • 一般性风险:对每一个软件项目而言,一般性风险都是一个潜在的威胁。
  • 产品特定风险:指只有那些对当前项目的技术、人员及环境非常了解的人才能识别出来。


(3)风险识别的方法

风险识别的方法为建立风险条目检查表,具体步骤如下:

  • ①产品规模 —— 与 需要建造或修改的软件的总体规模 相关的经验;
  • ②商业影响 —— 与 管理或市场所添加的约束 相关的风险;
  • ③客户特征 —— 与客户的素质开发者和客户及时通信的能力 相关的风险;
  • ④过程定义 —— 与 软件过程被定义的程度软件被开发组织所遵守的程度 相关的风险;
  • ⑤开发环境 —— 与 建造产品所使用工具的可用性及质量 相关的风险;
  • ⑥将建造的技术 —— 与 待开发软件的“复杂性”系统所包含技术的“新奇性” 相关的风险;
  • ⑦人员数目及经验 —— 与 软件工程师的总体技术水平和项目经验 相关的风险。

总结:

通过建立风险条目检查表,使得计划者通过得出每一项的答案后,能够估算风险产生的影响。


2、风险预测


风险预测从两个方面评估风险:风险发生的可能性或概率,即 评估风险概率风险发生所产生的后果,即 评估风险影响 。具体如下:

(1)评估风险概率:以 百分比 表示

(2)评估风险影响

①从定性角度看:有四个级别,分别为可忽略的轻微的严重的灾难性的

②从定量角度看:即计算风险显露度,RE=P*C;其中P是风险发生的概率,C是风险发生时带来的项目成本。

举个例子:

Question:

某公司计划将使用60个可复用构件,其中只有70%可能被使用,剩下的要重新定制开发,已知构件平均是100LOC,每个LOC的成本是14美元,假设该风险发生的概率是80%,计算风险显露度RE。

Answer:

  • 风险:30%的构件要重新开发;
  • 风险发生的概率P为:P=80%;
  • 损失成本C为:C=60×30%×100×14=25200元;
  • 风险显露度为:RE=P×C=80%×25200=20160。


3、风险缓解、监控和管理(Risk mitigation, monitoring and management,即RMMM)


(1)风险缓解

目的:避免问题活动产生。


(2)风险监控

目的: 提供关于风险的高低变化的指示。

监控措施举例:

  • 监控项目组成员对项目压力的态度;
  • 监控项目组的凝聚力;
  • 监控项目组成员的关系;
  • 监控与报酬和利益相关的潜在问题;
  • 监控在公司内及公司外工作的可能性。


(3)风险管理

目的: 假设风险已发生,提前做好管理和应急计划。

总结: 在一个项目中,RMMM越详细越好,但同时,RMMM步骤将导致额外的项目开销


六、风险表



1、建立风险表的步骤


(1) 列出所有的风险,并分类。

(2) 估算每个风险发生的概率。

(3) 评估每个风险所产生的影响,影响值分为:1=灾难性的;2=严重的;3=轻微的;4=可忽略的。

注意: 根据概率和影响来进行排序:高概率、高影响的风险放在表上方。

(4) 形成RMMM。


2、风险表图例


风险 类别 概率 影响 RMMM
…… …… …… …… ……


七、结束语


在一个软件项目中,风险分析是尤为重要的。如果前期没做好风险分析,那软件所产生的后果完全不堪设想。所以,学会做风险分析和管理,对软件能有一个更好的评估。

软件项目管理的风险分析与管理就讲到这里啦!如有需要了解软件工程相关的其他内容,可到『软件工程』栏目进行查看学习~



相关文章
|
测试技术 数据安全/隐私保护
软件测试制度-新手小白如何制定测试管理工作规范?
软件测试制度-新手小白如何制定测试管理工作规范?
308 1
|
2月前
|
监控 项目管理 开发者
『软件工程7』详解软件项目管理之风险分析与管理
该文章详细讲解了软件项目管理中的风险分析与管理,包括风险的定义、类型、管理流程以及如何建立和使用风险表来跟踪和处理潜在风险。
|
2月前
|
项目管理
「软件项目管理」一文浅谈软件项目风险计划
该文章深入探讨了软件项目风险计划的制定,包括风险识别、评估、应对策略等内容,并提供了风险条目检查表、风险概率及影响分析矩阵等工具,帮助项目管理者有效地管理和减轻项目中的潜在风险。
「软件项目管理」一文浅谈软件项目风险计划
|
2月前
|
SQL 算法 安全
『软件工程5』详解软件项目管理之软件的度量
该文章深入讲解了软件项目管理中软件度量的重要性,包括如何进行有效的度量、度量的目的以及如何利用度量结果来改进软件质量和开发过程。
『软件工程5』详解软件项目管理之软件的度量
|
监控 项目管理
软件项目管理
一、软件项目管理 软件项目管理是指对软件项目进行规划、组织、指导和控制的过程,以实现项目目标,确保项目按时、按质、按量完成。软件项目管理涉及到项目的各个方面,包括项目计划、需求管理、进度管理、风险管理、质量管理、资源管理、沟通管理等。 下面是软件项目管理的一些重要方面: 1. 项目计划:项目计划是指对项目进行全面的规划和安排,包括确定项目目标、范围、时间、成本、资源分配等。项目计划需要考虑项目的可行性、风险评估和资源可用性等因素。 2. 需求管理:需求管理是指对项目需求进行收集、分析、确认和控制的过程。需求管理包括需求的提取、需求的优先级排序、需求的变更管理等,以确保项目按照用户需求进行开发。
101 0
|
6月前
|
数据采集 算法 数据库
软件工程可行性分析报告
软件工程实验报告
160 1
|
数据库 开发者
软件工程之项目分析与规划
在软件项目早期,需要对软件问题进行高层构架分析,以确定项目的可行性。还需要根据 可行性分析的结果制定出有效的项目实施计划,以指导软件项目的顺利开展。 一、计算机系统分析 当某个软件问题被作为项目提出时,即意味着,这个软件问题将成为一项工程任务,需要按照工程化作业流程来分阶段解决。
1570 0
下一篇
无影云桌面