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

  • 一、风险及风险管理的含义
    • 1、风险的含义
    • 2、风险管理含义
  • 二、被动和主动的风险策略
    • 1、被动风险策略
    • 2、主动风险策略
  • 三、风险的特性
  • 四、风险的类型
    • 1、项目风险
    • 2、技术风险
    • 3、商业风险
  • 五、风险管理的步骤
    • 1、风险识别
    • 2、风险预测
    • 3、风险缓解、监控和管理(Risk mitigation, monitoring and management,即RMMM)
  • 六、风险表
    • 1、建立风险表的步骤
    • 2、风险表图例
  • 七、结束语

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

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=20100。

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

(1)风险缓解

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

(2)风险监控

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

监控措施举例:

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

(3)风险管理

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

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

六、风险表

1、建立风险表的步骤

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

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

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

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

4)形成RMMM。

2、风险表图例

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

七、结束语

在一个软件项目中,风险分析是尤为重要的。如果前期没做好风险分析,那软件所产生的后果完全不堪设想。所以,学会做风险分析和管理,对软件能有一个更好的评估。
软件项目管理的风险分析与管理就讲到这里啦!如果有不明白或有误的地方欢迎私聊或加我微信指正~

  • 公众号:星期一研究室
  • 微信:MondayLaboratory

创作不易,如果这篇文章对你有用,记得点赞收藏哦~

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

  1. 『软件工程6』详解软件项目管理之软件范围与估算

    软件项目管理--软件范围与估算 一.软件项目计划 1.目标 2.步骤 二.软件范围 1.软件范围定义 2.软件范围--引例 三.影响估算的因素 四.软件项目资源 1.软件项目资源构成 2.分析图 3. ...

  2. 『软件工程1』详解软件是什么

    软件基本概念 一.什么是产品 二.软件的双重角色 三.软件的涵义及特征 四.软件应用 五.软件危机 六.软件神话 一.什么是产品 1.从用户的角度 产品实际上就是信息,以某种方式使得用户世界更加美好 ...

  3. 『软件工程2』详解软件工程和软件过程模型

    文章目录 一.软件工程的定义 1.Fritz Bauer在NATO上给出的定义 2.Barry Boehm 3.IEEE在软件工程术语汇编中的定义 二.软件工程的层次 1.软件工程三个要素 2.软件工 ...

  4. 「软件项目管理」一文详解软件项目管理概述

    一文详解软件项目管理概述

  5. 『矩阵论笔记』详解最小二乘法(矩阵形式求导)+Python实战

    详解最小二乘法(矩阵形式求导)+Python实战! 文章目录 一. 矩阵的迹 1.1. 转置矩阵 1.2. 迹的定义 1.3. 七大定理 二. 最小二乘法 2.1. 求解介绍 2.2. 另一角度 2. ...

  6. 详解软件项目管理流程的每一步

    一.项目启动(项目开工会) 了解项目干系人及其利害关系. 所有项目组成员是否到位,如到位则拿到项目开发人员的简历,详细了解每个开发人员的情况(可能会组织到客户方面试). 根据项目需求规格列出项目功能列 ...

  7. 「软件项目管理」一文详解软件配置管理计划

    一文详解软件配置管理计划 前言 一.配置管理概述 1. 配置管理(SCM)定义 2. 软件配置项目(SCI) 3. 基线 4. 软件配置控制委员会(SCCB) 二.软件配置管理过程 1. 管理过程 2 ...

  8. iOS 开发:『Runtime』详解(二)Method Swizzling

    本文用来介绍 iOS 开发中『Runtime』中的黑魔法Method Swizzling. 通过本文,您将了解到: Method Swizzling(动态方法交换)简介 Method Swizzlin ...

  9. 「软件项目管理」一文详解软件项目质量计划

    一文详解软件项目质量计划

  10. IBM虚拟化与云计算研究员吴玉会——虚拟化三大优势详解:共享、优化、管理...

    IBM虚拟化与云计算专家- IT热书<虚拟化与云计算>作者组做客51CTO巅峰访谈-2 IBM虚拟化与云计算研究员吴玉会--虚拟化三大优势详解:共享.优化.管理 <虚拟化与云计算&g ...

最新文章

  1. leecode_二叉树中序遍历
  2. python右键没有idle编辑了_python右键Edit with IDLE
  3. windows命令行无法启动redis_windows系统安装redis
  4. PHP 安装xdebug
  5. linux防火墙允许dns服务,Linux防火墙设置-DNS服务器篇
  6. centOS下lnamp安装
  7. 如何使用Java读写系统属性?
  8. python3基本语法规则,Python中的语法规则
  9. win10清理注册表的方法
  10. 谷歌浏览器利用开发者工具截取长图
  11. python ocr文字识别竖排繁体_古籍族谱繁体竖排中文识别图文攻略-千百OCR
  12. windows WTS 服务与桌面交互
  13. PRML读书会第五章 Neural Networks(神经网络、BP误差后向传播链式求导法则、正则化、卷积网络)...
  14. 新时达电梯服务器维修,常见的新时达电梯维修时问题分析
  15. Firewalld的区域(zone)
  16. 【SpringBoot2—junit5断言、前置条件】
  17. linux jmap命令详解,jmap命令 linux jmap如何使用
  18. ONVIF工具使用说明
  19. 一文彻底讲透@Async注解的原理和使用方法
  20. ESP32从零开始(2)—— VScode 安装 Espressif IDF(安装ESP32)

热门文章

  1. 模电十:555定时器
  2. I didn't write blog yesterday night for some ineffable reasons
  3. leetcode--打家劫舍
  4. postman Could not send request
  5. 批判性思维过程之 理性、感性的抉择
  6. 正方形面积圆形面积Java
  7. 绕过CDN查找网站真实IP
  8. 根据时间段自动调节pulseaudio音量
  9. 普渡大学计算机科学竞争激烈,Top12普渡大学计算机博士全奖录取:同时收获Top博士和藤校耶鲁硕士录取!她该怎么选择?...
  10. 软件测试系统流程和常见面试题