第18章軟件工程風(fēng)險管理_第1頁
第18章軟件工程風(fēng)險管理_第2頁
第18章軟件工程風(fēng)險管理_第3頁
第18章軟件工程風(fēng)險管理_第4頁
第18章軟件工程風(fēng)險管理_第5頁
已閱讀5頁,還剩30頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、第18章 軟件工程風(fēng)險管理 第18章 軟件工程風(fēng)險管理18.1 軟件風(fēng)險軟件風(fēng)險18.2 風(fēng)險識別風(fēng)險識別18.3 風(fēng)險預(yù)測風(fēng)險預(yù)測 18.4 風(fēng)險緩解、監(jiān)控與管理風(fēng)險緩解、監(jiān)控與管理18.5 RMMM計劃計劃 18.6 小結(jié)小結(jié) 第18章 軟件工程風(fēng)險管理 18.1 軟軟 件件 風(fēng)風(fēng) 險險 對軟件風(fēng)險的嚴(yán)格定義還存在著很多爭議,但對于在風(fēng)險中包含了兩個特性這一點上已經(jīng)達(dá)成了共識。 (1) 不確定性:風(fēng)險可能發(fā)生也可能不發(fā)生,即不存在發(fā)生概率為100%的風(fēng)險(100%會發(fā)生的風(fēng)險實際上是加在項目上的約束)。 (2) 危害性:一旦風(fēng)險變成了現(xiàn)實,就會產(chǎn)生惡性后果或損失。 第18章 軟件工程風(fēng)險管

2、理 進(jìn)行風(fēng)險分析時,重要的是量化不確定性的程度和與每個風(fēng)險相關(guān)的損失程度。為了達(dá)到此目的,必須考慮不同類型的風(fēng)險。 項目風(fēng)險威脅到項目計劃。也就是說,如果項目風(fēng)險變成現(xiàn)實,可能會拖延項目進(jìn)度且增加項目的成本。項目風(fēng)險是指潛在的預(yù)算、進(jìn)度、人力(工作人員及組織)、資源、客戶及需求等方面的問題以及它們對軟件項目的影響。項目的復(fù)雜性、規(guī)模及結(jié)構(gòu)不確定性也被定義為項目(估算)風(fēng)險因素。第18章 軟件工程風(fēng)險管理 技術(shù)風(fēng)險威脅到要開發(fā)軟件的質(zhì)量和交付時間。如果技術(shù)風(fēng)險變成現(xiàn)實,則開發(fā)工作可能變得很困難或者根本不可能。技術(shù)風(fēng)險是指潛在的設(shè)計、實現(xiàn)、接口、驗證和維護(hù)等方面的問題。此外,需求規(guī)約的二義性,技術(shù)

3、的不確定性,陳舊的技術(shù)及“先進(jìn)的”技術(shù)也是風(fēng)險因素。技術(shù)風(fēng)險的發(fā)生是因為問題比我們所設(shè)想的更難以解決。第18章 軟件工程風(fēng)險管理 商業(yè)風(fēng)險威脅到要開發(fā)的軟件的生存能力。商業(yè)風(fēng)險常常會危害項目或產(chǎn)品。五個主要的商業(yè)風(fēng)險是: 市場風(fēng)險:開發(fā)了一個沒有人真正需要的優(yōu)秀產(chǎn)品或系統(tǒng)。 策略風(fēng)險:開發(fā)的產(chǎn)品不再符合公司的整體商業(yè)策略。 營銷風(fēng)險:生產(chǎn)了一個銷售部門不知道如何去賣的產(chǎn)品。 管理風(fēng)險:由于重點的轉(zhuǎn)移或人員的變動,失去了高級管理層的支持。 預(yù)算風(fēng)險:沒有得到預(yù)算或人力上的保證。 第18章 軟件工程風(fēng)險管理 另一種分類方式將風(fēng)險分為三類: 已知風(fēng)險:通過仔細(xì)評估項目計劃,開發(fā)項目的商業(yè)及技術(shù)環(huán)境以

4、及其他可靠的消息來源(如不現(xiàn)實的交付時間,惡劣的開發(fā)環(huán)境,沒有需求或者軟件范圍文檔)之后可以發(fā)現(xiàn)的那些風(fēng)險。 可預(yù)測風(fēng)險:能夠從過去項目的經(jīng)驗中推斷出來(如人員調(diào)整、與客戶無法溝通、開發(fā)人員精力分散)的風(fēng)險。 不可預(yù)測風(fēng)險:可能或有時真會出現(xiàn)的風(fēng)險,但事先很難識別出來。第18章 軟件工程風(fēng)險管理 18.2 風(fēng)風(fēng) 險險 識識 別別 風(fēng)險識別就是要識別屬于前述類型中的某些特定的風(fēng)險。方法是利用一組問卷來幫助項目計劃人員了解在項目和技術(shù)方面有哪些風(fēng)險。Boehm建議使用一個“風(fēng)險項目檢查表”列出所有可能的與每一個風(fēng)險因素有關(guān)的提問。例如,管理人員或計劃人員可以通過回答下列問題得到對有關(guān)人力風(fēng)險的認(rèn)識

5、:可用人員是最優(yōu)秀的嗎?按照技能對人員進(jìn)行了合理組合嗎?人力足夠嗎?第18章 軟件工程風(fēng)險管理 整個項目開發(fā)期間人員如何投入?有多少人不是全工時投入本項目的工作?人們對于手頭上的工作是否有正確的目標(biāo)?項目成員是否接受過必要的培訓(xùn)?項目的成員是否是穩(wěn)定的和連續(xù)的?第18章 軟件工程風(fēng)險管理 對于這些提問,通過判定分析或假設(shè)分析,給出確定的回答,就可以幫助管理人員或計劃人員估算風(fēng)險的影響。當(dāng)然,上面僅僅是針對人力資源風(fēng)險有效的問題。同樣地,我們也可以對其他類型的風(fēng)險制定出必要的問題,利用和上述方法相同的手段,估算不同類別風(fēng)險的影響。例如,針對技術(shù)風(fēng)險的問題包括: 該技術(shù)對你的組織來說是新的嗎? 客

6、戶的需求是否需要創(chuàng)建新的算法或I/O技術(shù)? 軟件是否需要使用新的或未經(jīng)證實的硬件接口?第18章 軟件工程風(fēng)險管理 待開發(fā)軟件是否要和開發(fā)商提供的未經(jīng)證實的軟件接口? 待開發(fā)軟件是否要和其功能和性能均未在本領(lǐng)域中得到證實的數(shù)據(jù)庫系統(tǒng)接口? 產(chǎn)品的需求中是否包括要求采用特定的用戶界面? 產(chǎn)品的需求中是否要求開發(fā)某些程序構(gòu)件,這些構(gòu)件和你的組織從前開發(fā)過的構(gòu)件完全不同? 需求中是否要求使用新的分析、設(shè)計或測試方法?第18章 軟件工程風(fēng)險管理 需求中是否要求使用非傳統(tǒng)的軟件開發(fā)方法,如形式化方法,人工神經(jīng)網(wǎng)絡(luò)方法? 需求中對產(chǎn)品性能的約束是否過分嚴(yán)格? 客戶能確定所要求的功能是“可行的”嗎? 如果對于

7、上列問題中任何一個問題的回答是肯定的,則需要進(jìn)行進(jìn)一步的調(diào)研來評估潛在的風(fēng)險。第18章 軟件工程風(fēng)險管理 18.3 風(fēng)風(fēng) 險險 預(yù)預(yù) 測測 風(fēng)險預(yù)測又稱為風(fēng)險估算。它試圖從兩個方面去評價每一個風(fēng)險:其一是風(fēng)險發(fā)生的可能性或概率;其二是如果風(fēng)險發(fā)生了會造成的后果。風(fēng)險預(yù)測活動要進(jìn)行四項工作: (1) 建立一個尺度,以反映風(fēng)險發(fā)生的可能性(尺度可以是布爾值、定性的或定量的)。 (2) 描述風(fēng)險的后果。 (3) 估算風(fēng)險對項目和產(chǎn)品的影響。 (4) 標(biāo)注風(fēng)險整體預(yù)測的精確度以免產(chǎn)生誤解。第18章 軟件工程風(fēng)險管理 18.3.1 建立風(fēng)險表建立風(fēng)險表表表18.1 風(fēng)險預(yù)測表樣本風(fēng)險預(yù)測表樣本風(fēng)險描述風(fēng)

8、險類別發(fā)生概率可能的影響RMMM規(guī)模估算可能非常低產(chǎn)品規(guī)模60%2 用戶數(shù)量大大超過計劃產(chǎn)品規(guī)模30%3 復(fù)用程度低于計劃產(chǎn)品規(guī)模70%2最終用戶抵制該系統(tǒng)商業(yè)風(fēng)險40%3 交付期限緊縮商業(yè)風(fēng)險50%2 第18章 軟件工程風(fēng)險管理 資金流失預(yù)算風(fēng)險40%1 需求改變產(chǎn)品規(guī)模80%2 技術(shù)達(dá)不到預(yù)期效果技術(shù)風(fēng)險30%1 缺少對于工具的培訓(xùn)人力風(fēng)險80%3 人員缺乏經(jīng)驗人力風(fēng)險30%2 人員流動頻繁人力風(fēng)險60%2 表表18.1 風(fēng)險預(yù)測表樣本風(fēng)險預(yù)測表樣本第18章 軟件工程風(fēng)險管理 在表18.1中,影響類別取值為1:災(zāi)難的;2:嚴(yán)重的;3:輕微的;4:可以忽略的。項目組將所有可能的風(fēng)險都在第一列

9、中列出,在第二列上加以分類。發(fā)生概率經(jīng)評估后取評估均值,將估計的影響程度填入第四列,然后按照發(fā)生概率和影響程度自高到低地對風(fēng)險表進(jìn)行第一次風(fēng)險排序。 管理者研究已經(jīng)排序的風(fēng)險表,定義一條中止線,一般來說,管理者對于中止線以上的風(fēng)險會進(jìn)行進(jìn)一步的關(guān)注。其他的風(fēng)險需要再次評估以完成第二次排序。第18章 軟件工程風(fēng)險管理 圖18.1 風(fēng)險和管理的考慮第18章 軟件工程風(fēng)險管理 風(fēng)險表中所有在終止線以上的風(fēng)險都應(yīng)當(dāng)進(jìn)行管理。在表的最后一列包含有一個指針,指向為所有終止線以上的風(fēng)險制定的風(fēng)險緩解、監(jiān)控和管理計劃(RMMM計劃,Risk Mitigation,Monitoring and Manageme

10、nt Plan)。 第18章 軟件工程風(fēng)險管理 18.3.2 風(fēng)險評估風(fēng)險評估 建立一個三元組集合來進(jìn)行風(fēng)險評估:Ri,Li,Xi其中,Ri是風(fēng)險,Li是風(fēng)險出現(xiàn)的可能性,Xi是風(fēng)險出現(xiàn)會造成的影響。在進(jìn)行風(fēng)險評估時,應(yīng)當(dāng)進(jìn)一步檢驗在風(fēng)險預(yù)測時得到的估計的準(zhǔn)確性(影響及概率),試圖為已被發(fā)現(xiàn)的風(fēng)險排出優(yōu)先順序,并開始考慮如何控制或避免可能發(fā)生的風(fēng)險。第18章 軟件工程風(fēng)險管理 要使評估發(fā)生作用,必須定義一個風(fēng)險參考水平值。對于大多數(shù)軟件項目而言,前面所討論的風(fēng)險因素性能、成本、支持及進(jìn)度也代表了風(fēng)險參考水平值,即對于性能下降、成本超支、支持困難、進(jìn)度延遲(或者它們的組合)都有一個水平值的要求。

11、超出水平值就會導(dǎo)致項目被迫終止。如果風(fēng)險的組合所產(chǎn)生的問題引起一個或多個參考水平值被超過,則工作將會停止。在軟件風(fēng)險分析中,風(fēng)險參考水平值存在一個點,稱為參考點或臨界點。在這個點上,決定繼續(xù)進(jìn)行某項目或者是終止它(問題太大了)都是可以接受的。圖18.2中就表示了這種情況。如果風(fēng)險組合產(chǎn)生的問題導(dǎo)致成本超支及進(jìn)度延遲,則會有一個水平值,(即圖中的曲線),當(dāng)超過它時會引起項目終止。第18章 軟件工程風(fēng)險管理 圖18.2 風(fēng)險參考水平曲線第18章 軟件工程風(fēng)險管理 實際上參考水平值很少能夠表示成如圖18.2所示的光滑曲線。在大多數(shù)情況下,它是一個區(qū)域,其中存在很多不確定性,這個區(qū)域可能是一個易變區(qū)域

12、。在這些區(qū)域中想要做出基于參考值組合的管理判斷往往是非常困難的。因此,在作風(fēng)險評估時,可以采用下面的步驟執(zhí)行: (1) 為項目定義風(fēng)險參照水準(zhǔn)。 (2) 嘗試找出在每一個Ri,Li,Xi 和每一個參照水準(zhǔn)之間的關(guān)系。 (3) 預(yù)測參照點組以定義一個終止區(qū)域,用一條曲線或一些易變動區(qū)域來界定。 (4) 努力預(yù)測復(fù)合的風(fēng)險組合將如何形成一個參照水準(zhǔn)。 第18章 軟件工程風(fēng)險管理 18.4 風(fēng)險緩解、監(jiān)控與管理風(fēng)險緩解、監(jiān)控與管理 在這一步的工作中,所有的風(fēng)險分析活動都只有一個目的,那就是輔助項目建立處理風(fēng)險的策略。任何一種有效的策略都必須考慮三個問題:風(fēng)險避免、風(fēng)險監(jiān)控、風(fēng)險管理及意外事件計劃。

13、如果項目組對于風(fēng)險采取主動策略,則最好的方法是通過制定一個風(fēng)險緩解計劃并付諸實施,設(shè)法避免風(fēng)險。圖18.3所示為風(fēng)險緩解與監(jiān)控。第18章 軟件工程風(fēng)險管理 圖18.3 風(fēng)險緩解與監(jiān)控第18章 軟件工程風(fēng)險管理 例如人員頻繁流動是軟件開發(fā)組織中的一個普遍存在的風(fēng)險。將其標(biāo)注為R0,基于以往的歷史數(shù)據(jù)和管理經(jīng)驗,發(fā)生概率L0被估算為0.7,影響X0被預(yù)測為對于項目的成本和進(jìn)度有極嚴(yán)重的影響。 為了緩解這一風(fēng)險,項目管理者可以采取如下的策略來降低人員流動: (1) 預(yù)先與現(xiàn)有人員一同探討一下人員流動的原因(如工作條件惡劣、低報酬、激烈的人才競爭)。 (2) 在項目開始之前,采取行動來緩解那些被識別出

14、的、且在管理控制之下的原因。第18章 軟件工程風(fēng)險管理 (3) 一旦項目啟動,假設(shè)人員會發(fā)生流動,并采取一些措施以保證當(dāng)人員離開時工作的連續(xù)性。 (4) 對項目組進(jìn)行良好的組織,使得每一個開發(fā)活動的信息能夠被廣泛地傳播和交流。 (5) 定義文檔的標(biāo)準(zhǔn),并建立保證文檔能夠被及時、正確建立的機制。 (6) 對所有的工作進(jìn)行詳細(xì)的復(fù)審,保證不止一個人熟悉該項工作。 (7) 對每一個關(guān)鍵的技術(shù)人員都指定一個后備人員。第18章 軟件工程風(fēng)險管理 隨著項目的進(jìn)展,開始進(jìn)行風(fēng)險監(jiān)控活動。項目管理者監(jiān)控某些因素,這些因素可以提供風(fēng)險是否正在變高或變低的指示。針對人員頻繁流動的風(fēng)險,應(yīng)當(dāng)監(jiān)控下列因素:(1) 項

15、目組成員對于項目壓力的一般態(tài)度。(2) 項目組的凝聚力。(3) 項目組成員彼此之間的關(guān)系。(4) 與報酬和利益相關(guān)的潛在問題。(5) 在公司內(nèi)和公司外工作的可能性。第18章 軟件工程風(fēng)險管理 除了監(jiān)控上述因素之外,項目管理者還應(yīng)當(dāng)監(jiān)控預(yù)設(shè)的風(fēng)險緩解步驟的效力。例如,前述的一個風(fēng)險緩解步驟中要求定義“定義文檔的標(biāo)準(zhǔn),并建立保證文檔能夠被及時、正確建立的機制”。 如果有關(guān)鍵的人員離開了項目組,這就是一個保持工作連續(xù)性的機制。項目管理者應(yīng)當(dāng)仔細(xì)監(jiān)控這些文檔,以保證每一個文檔內(nèi)容正確,而且當(dāng)新員工加入項目組時,能夠利用已經(jīng)建立并得到監(jiān)控的文檔為他們提供必要的信息。 第18章 軟件工程風(fēng)險管理 如果風(fēng)險

16、緩解工作失敗,風(fēng)險已經(jīng)發(fā)生,那么就要按照風(fēng)險管理和意外事件處理計劃(風(fēng)險應(yīng)對預(yù)案)進(jìn)行處理,減少風(fēng)險帶來的損失。假定項目進(jìn)行過程中,有一些人宣布要離開,如果我們執(zhí)行了緩解措施,那么就有后備人員可用,同時因為信息已經(jīng)文檔化,并且有關(guān)知識已經(jīng)在項目組中廣泛地進(jìn)行了交流,后備人員能夠很快地接手工作。此外,項目管理者還可以暫時重新將資源調(diào)整到那些人員充足的功能上去(并對項目進(jìn)度作必要的調(diào)整),從而使得新加入的人員能夠“趕上進(jìn)度”。 同時,應(yīng)當(dāng)要求宣布要離開的人員停止工作,在最后一段時間里進(jìn)入“知識與業(yè)務(wù)交接”模式。第18章 軟件工程風(fēng)險管理 應(yīng)當(dāng)注意的是,在防范風(fēng)險的過程中是要花費成本的。應(yīng)當(dāng)在防范措

17、施的成本和風(fēng)險一旦發(fā)生的損失之間進(jìn)行投入產(chǎn)出分析,以此確定要執(zhí)行什么樣的風(fēng)險防范措施。舉例來說,為每個項目組成員都配備一名后備人員就沒有必要。 在風(fēng)險緩解和風(fēng)險監(jiān)控措施中,應(yīng)當(dāng)注意抓主要風(fēng)險。經(jīng)驗證明,整個軟件風(fēng)險的80%,可以由僅僅20% 的已標(biāo)識出的風(fēng)險來說明。在早期進(jìn)行風(fēng)險排序,能夠幫助項目管理者識別出這20% 的主要風(fēng)險。其他一些已標(biāo)識出的風(fēng)險雖然已經(jīng)評估、預(yù)測過,但可以不納入RMMM計劃之中。第18章 軟件工程風(fēng)險管理 18.5 RMMM 計計 劃劃 風(fēng)險管理策略可以包含在軟件項目開發(fā)計劃中,也可以建立一個獨立的風(fēng)險緩解、監(jiān)控和管理計劃(RMMM計劃)。RMMM計劃將所有的風(fēng)險分析工

18、作文檔化,并作為整個項目計劃中的一部分來使用。RMMM計劃的大綱如下:1. 引言1.1 文檔的范圍和目的1.2 主要風(fēng)險綜述1.3 責(zé)任劃分A. 管理者B. 技術(shù)人員第18章 軟件工程風(fēng)險管理 2. 項目風(fēng)險表2.1 中止線以上的所有風(fēng)險的描述2.2 影響概率及影響的因素3. 風(fēng)險緩解、監(jiān)控和管理3.1 風(fēng)險1緩解第18章 軟件工程風(fēng)險管理 3.n 風(fēng)險nA. 緩解. 一般策略. 緩解風(fēng)險的特定步驟B. 監(jiān)控. 被監(jiān)控的因素. 監(jiān)控方法C. 管理. 意外事件計劃. 特殊考慮4. RMMM計劃的迭代時間安排表5. 總結(jié)第18章 軟件工程風(fēng)險管理 一旦建立了RMMM計劃且項目已經(jīng)啟動,則風(fēng)險緩解及監(jiān)控活動也就隨之開始。正如前面討論過的,風(fēng)險緩解是一種“問題避免”活動;風(fēng)險監(jiān)控則是一種項目跟蹤活動,它包括三個主要目的:評估一個被預(yù)測的風(fēng)險是否真正發(fā)生了;保證為風(fēng)險而定義的緩解步驟被正確地實施;收集能夠用于今后的風(fēng)險分析的信息。在很多情況下,項目中發(fā)生的問題可以追溯到不止一個風(fēng)險,所以風(fēng)險監(jiān)控的另一個任務(wù)就是試圖在整個項目中確定問題的“起源”(什么風(fēng)險引起了什么問題)。第18章 軟件工程風(fēng)險管理 18.6 小小 結(jié)結(jié) 當(dāng)軟件項目成功的期

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論