软件项目风险管理

近几年来软件开发技术、工具都有了很大的进步,但是软件项目开发超时、超支、甚至不能满足用户需求而根本没有得到实际使用的情况仍然比比皆是。软件项目开发和管理中一直存在着种种不确定性,严重影响着项目的顺利完成和提交。但这些软件风险并未得到充分的重视和系统的研究。直到20世纪80年代,Boehm比较详细地对软件开发中的风险进行了论述,并提出软件风险管理的方法。Boehm认为,软件风险管理指的是“试图以一种可行的原则和实践,规范化地控制影响项目成功的风险”,其目的是“辨识、描述和消除风险因素,以免它们威胁软件的成功运作”。
在此基础上,业界对软件风险管理的研究开始慢慢丰富起来,理论上对风险进行了一些分类,提出了风险管理的思路;实践上也出现了一些定量管理风险的方法和风险管理的软件工具。虽然业界对风险管理表现了极大的兴趣,做出了不少努力,但似乎很少开发项目的组织真正积极地在软件开发过程中使用风险管理的方法。1995年IWSED(International Workshop on Software Engineering Data)会议做出的调查显示:风险管理技术没有得到广泛应用的原因并不是大家不相信这种技术的实效性,而是对风险管理的技术和实践缺乏了解。因此,我们认为很有必要对风险管理进行研究。
管理概念
软件开发中的风险是指软件开发过程中及软件产品本身可能造成的伤害或损失。风险关注未来的事情,这意味着,风险涉及选择及选择本身包含的不确定性,软件开发过程及软件产品都要面临各种决策的选择。风险是介于确定性和不确定性之间的状态,是处于无知和完整知识之间的状态。另一方面,风险将涉及思想、观念、行为、地点等因素的改变。
当在软件工程领域考虑风险时,我们要关注以下的问题:什么样的风险会导致软件项目的彻底失败;用户需求、开发技术、目标计算机以及所有其他与项目有关的因素的改变将会对按时交付和总体成功产生什么影响;对于采用何种方法和工具,需要多少人员参与工作的问题,我们如何选择和决策;软件质量要达到什么程度才是“足够的”。当没有办法消除风险,甚至连试图降低该风险也存在疑问时,这些风险就是真正的风险了。在我们能够标识出软件项目中的真正风险之前,识别出所有对管理者和开发者而言均为明显的风险是很重要的。
风险管理在项目管理中占有非常重要的地位。首先,有效的风险管理可以提高项目的成功率。其次,风险管理可以增加团队的健壮性。与团队成员一起进行风险分析可以让大家对困难有充分估计,对各种意外有心理准备,大大提高组员的信心,从而稳定队伍。第三,有效的风险管理可以帮助项目经理抓住工作重点,将主要精力集中于重大风险,将工作方式从被动救火转变为主动防范。
被动风险策略是针对可能发生的风险来监督项目,直到它们变成真正的问题时,才会拨出资源来处理它们。更普遍的是,软件项目组对风险不闻不问,直到发生了错误才赶紧采取行动,试图迅速地纠正错误。这种管理模式常常被称为“救火模式”。当补救的努力失败后,项目就处在真正的危机之中了。
对于风险管理的一个更聪明的策略是主动式的。主动策略早在技术工作开始之前就已经启动了。标识出潜在的风险,评估它们出现的概率及产生的影响,对风险按重要性进行排序,然后,软件项目组建立一个计划来管理风险。主动策略中的风险管理,其主要目标是预防风险。但是,因为不是所有的风险都能够预防,所以,项目组必须建立一个应付意外事件的计划,使其在必要时能够以可控的及有效的方式做出反应,任何一个系统开发项目都应将风险管理作为软件项目管理的重要内容。
在进行软件项目风险管理时,要标识出潜在的风险,评估它们出现的概率及产生的影响,并按重要性加以排序,然后建立一个规划来管理风险。风险管理的主要目标是预防风险,但不是所有的风险都能够预防。所以必须建立一个意外事件计划,使其在必要时能以可控的和有效的方式做出反应。风险管理目标的实现包含三个要素。首先,必须在项目计划书中写下如何进行风险管理;第二,项目预算必须包含解决风险所需的经费,如果没有经费,就无法达到风险管理的目标;第三,评估风险时,风险的影响也必须纳入项目规划中。
风险管理涉及的主要过程包括:风险识别,风险量化,风险应对计划制定和风险监控,如图1所示[1][3]。风险识别在项目的开始时就要进行,并在项目执行中不断进行。就是说,在项目的整个生命周期内,风险识别是一个连续的过程。
风险识别:风险识别包括确定风险的来源,风险产生的条件,描述其风险特征和确定哪些风险事件有可能影响本项目。风险识别不是一次就可以完成的事,应当在项目的自始至终定期进行。
风险量化:涉及对风险及风险的相互作用的评估,是衡量风险概率和风险对项目目标影响程度的过程。风险量化的基本内容是确定那些事件需要制定应对措施。。
风险应对计划制定:针对风险量化的结果,为降低项目风险的负面效应制定风险应对策略和技术手段的过程。风险应对计划依据风险管理计划、风险排序、风险认知等依据,得出风险应对计划、剩余风险、次要风险以及为其它过程提供得依据。
风险监控:涉及整个项目管理过程中的风险进行应对。该过程的输出包括应对风险的纠正措施以及风险管理计划的更新。
每个步骤所使用的工具和方法详见表1:
风险管理步骤 所使用的工具、方法
风险识别头脑风暴法、面谈、Delphi法、核对表、SWOT技术
风险量化 风险因子计算、PERT估计、决策树分析、风险模拟
风险应对计划制定 回避、转移、缓和、接受
风险监控 核对表、定期项目评估、挣值分析

转载于:https://www.cnblogs.com/fascinateu/p/9142586.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/389500.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

mongdb 群集_群集文档的文本摘要

mongdb 群集This is a part 2 of the series analyzing healthcare chart notes using Natural Language Processing (NLP)这是使用自然语言处理(NLP)分析医疗保健图表笔记的系列文章的第2部分。 In the first part, we talked about cleaning the text and extracting sectio…

keras框架实现手写数字识别

详细细节可学习从零开始神经网络:keras框架实现数字图像识别详解! 代码实现: [1]将训练数据和检测数据加载到内存中(第一次运行需要下载数据,会比较慢): (mnist是手写数据集) train_images是用于训练系统…

gdal进行遥感影像读写_如何使用遥感影像进行矿物勘探

gdal进行遥感影像读写Meet Jose Manuel Lattus, a geologist from Chile. In the latest Soar Cast, he discusses his work in mineral exploration and environmental studies, and explains how he makes a living by creating valuable information products based on diff…

从零开始神经网络:keras框架实现数字图像识别详解!

接口实现可参考:keras框架实现手写数字识别 思路: 我们的代码要导出三个接口,分别完成以下功能: 初始化initialisation,设置输入层,中间层,和输出层的节点数。训练train:根据训练数据不断的更…

大数据学习第一贴

搞了这么久的开发,一直没有养成发博客的习惯,今天开始对大数据所需内容进行总结性记录,并对以后遇到的问题形成一个自己的知识库。就这些!转载于:https://blog.51cto.com/13921538/2299765

推荐算法的先验算法的连接_数据挖掘专注于先验算法

推荐算法的先验算法的连接So here we are diving into the world of data mining this time, let’s begin with a small but informative definition;因此,这一次我们将进入数据挖掘的世界,让我们从一个小的但内容丰富的定义开始; 什么是数…

Android 页面多状态布局管理

一、现状 页面多状态布局是开发中常见的需求,即页面在不同状态需要显示不同的布局,实现的方式也比较多,最简单粗暴的方式就是在 XML 中先将不同状态对应的布局隐藏起来,根据需要改变其可见状态,如果多个界面公用相同的…

Tensorflow入门神经网络代码框架

Tensorflow—基本用法 使用图 (graph) 来表示计算任务.在被称之为 会话 (Session) 的上下文 (context) 中执行图.使用 tensor 表示数据.通过 变量 (Variable) 维护状态.使用 feed 和 fetch 可以为任意的操作(arbitrary operation)赋值或者从其中获取数据。 • TensorFlow 是一…

手把手教你把代码丢入github 中

手把手教你把代码丢入github 中 作为一个小运维一步步教你们怎么把代码放入到github 中 首先呢我们下载一个git的客户端 https://git-scm.com/downloads/ 下载一个最新版的2.16.2 下载后那就安装吧。如果看不懂英文就选择默认安装的方式吧。但是你得记住你的软件安装的位置 小…

时间序列模式识别_空气质量传感器数据的时间序列模式识别

时间序列模式识别 1. Introduction 2. Exploratory Data Analysis ∘ 2.1 Pattern Changes ∘ 2.2 Correlation Between Features 3. Anomaly Detection and Pattern Recognition ∘ 3.1 Point Anomaly Detection (System Fault) ∘ 3.2 Collective Anomaly Detection (Externa…

oracle 性能优化 07_诊断事件

2019独角兽企业重金招聘Python工程师标准>>> 一、诊断事件 诊断事件无官方技术文档支持,使用存在风险,慎用。使用诊断事件可以获取问题更多的信息,调整系统运行 特性,启用某些内部功能。用于系统故障的诊断。跟踪应…

Tensorflow框架:卷积神经网络实战--Cifar训练集

Cifar-10数据集包含10类共60000张32*32的彩色图片,每类6000张图。包括50000张训练图片和 10000张测试图片 代码分为数据处理部分和卷积网络训练部分: 数据处理部分: #该文件负责读取Cifar-10数据并对其进行数据增强预处理 import os impo…

计算机科学速成课36:自然语言处理

词性 短语结构规则 分析树 语音识别 谱图 快速傅里叶变换 音素 语音合成 转载于:https://www.cnblogs.com/davidliu2018/p/9149252.html

linux内存初始化初期内存分配器——memblock

2019独角兽企业重金招聘Python工程师标准>>> 1.1.1 memblock 系统初始化的时候buddy系统,slab分配器等并没有被初始化好,当需要执行一些内存管理、内存分配的任务,就引入了一种内存管理器bootmem分配器。 当buddy系统和slab分配器初始化好后&…

数据科学学习心得_学习数据科学

数据科学学习心得苹果 | GOOGLE | 现货 | 其他 (APPLE | GOOGLE | SPOTIFY | OTHERS) Editor’s note: The Towards Data Science podcast’s “Climbing the Data Science Ladder” series is hosted by Jeremie Harris. Jeremie helps run a data science mentorship startup…

Keras框架:Alexnet网络代码实现

网络思想: 1、一张原始图片被resize到(224,224,3); 2、使用步长为4x4,大小为11的卷积核对图像进行卷积,输出的特征层为96层, 输出的shape为(55,55,96); 3、使用步长为2的最大池化层进行池化,此时…

PHP对象传递方式

<?phpheader(content-type:text/html;charsetutf-8);class Person{public $name;public $age;}$p1 new Person;$p1->name 金角大王;$p1->age 400;//这个地方&#xff0c;到底怎样?$p2 $p1;$p2->name 银角大王;echo <pre>;echo p1 name . $p1->n…

微软Azure CDN现已普遍可用

微软宣布Azure CDN一般可用&#xff08;GA&#xff09;&#xff0c;客户现在可以从微软的全球CDN网络提供内容。最新版本是对去年五月份发布的公众预览版的跟进。\\今年5月&#xff0c;微软与Verizon和Akamai一起推出了原生CDN产品。现在推出了GA版本&#xff0c;根据发布博文所…

数据科学生命周期_数据科学项目生命周期第1部分

数据科学生命周期This is series of how to developed data science project.这是如何开发数据科学项目的系列。 This is part 1.这是第1部分。 All the Life-cycle In A Data Science Projects-1. Data Analysis and visualization.2. Feature Engineering.3. Feature Selec…

Keras框架:VGG网络代码实现

VGG概念&#xff1a; VGG之所以经典&#xff0c;在于它首次将深度学习做得非常“深”&#xff0c;达 到了16-19层&#xff0c;同时&#xff0c;它用了非常“小”的卷积核&#xff08;3X3&#xff09;。 网络框架&#xff1a; VGG的结构&#xff1a; 1、一张原始图片被resize…