軟件項目風險管理

近幾年來軟件開發技術、工具都有了很大的進步,但是軟件項目開發超時、超支、甚至不能滿足用戶需求而根本沒有得到實際使用的情況仍然比比皆是。軟件項目開發和管理中一直存在著種種不確定性,嚴重影響著項目的順利完成和提交。但這些軟件風險并未得到充分的重視和系統的研究。直到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.pswp.cn/news/389500.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/389500.shtml
英文地址,請注明出處:http://en.pswp.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…