淺談幾個軟件項目風險管理策略
引言
軟件項目風險是一種不確定的事件或情況,一旦發(fā)生,會對軟件項目目標產(chǎn)生某種正面或負面的影響。風險有其成因,同時,如果風險發(fā)生,也導(dǎo)致某種后果。舉例來說,風險成因可能是需要獲取某種許可,
或是項目的人力資源受到限制。風險事件本身則是獲取許可所花費的時間可能比計劃的要長,或是可能沒有充足的人員來完成軟件項目開發(fā)工作。以上任何一種不確定事件一旦發(fā)生,都會給軟件項目的成本、進度計劃、或質(zhì)量帶來某種后果。
風險情況包括軟件項目環(huán)境中可能導(dǎo)致項目風險的某些方面,例如,不良的項目管理,或?qū)Σ荒芸刂频耐獠繀⑴c方的依賴。軟件項目風險既包括對項目目標的威脅,也包括促進項目目標的機會。
風險源于存在于所有軟件項目之中的不確定因素。已知風險是那些已經(jīng)經(jīng)過識別和分析的風險。對于已知風險,進行相應(yīng)計劃是可能的。雖然項目經(jīng)理們可以依據(jù)以往類似項目的經(jīng)驗,采取一般的應(yīng)急措施處理未知風險,但未知風險常常是很難管理的。
軟件開發(fā)組織對風險予以關(guān)注,是因為風險會給項目成功帶來威脅。對于那些對項目構(gòu)成威脅的某些風險,如果這些風險與所冒風險的回報相平衡,那么,這些風險可能會被接受。例如,對于可能延期的進度可以采用快速跟進,冒此風險是為了實現(xiàn)更早的完成日期。
有些風險則是一些機會,對于這些風險可能應(yīng)當努力追求,以便使項目目標受益。要成功完成項目,軟件開發(fā)組織必須在項目的全過程中貫徹執(zhí)行風險管理。衡量軟件開發(fā)組織的風險管理是否盡責的一個方法是看它是否致力于收集有關(guān)項目風險和風險特性的高質(zhì)量數(shù)據(jù)信息。
在軟件開發(fā)過程中,涉及的風險主要包括三類:與軟件開發(fā)直接相關(guān)的工程類風險、與管理相關(guān)的開發(fā)環(huán)境類風險、過程類風險。成功的項目經(jīng)理關(guān)注的是他們的項目成功的關(guān)鍵因素。類似的,要成功地管理項目,我們必須關(guān)注風險管理的四個主要因素:人、過程、基礎(chǔ)架構(gòu)以及實施。
風險管理活動貫穿于項目的整個生命周期。在項目立項后就應(yīng)啟動風險管理活動。項目經(jīng)理對項目內(nèi)部的風險管理負責,可指定項目風險管理負責人組織風險管理小組進行識別、分析和跟蹤處理風險。風險管理過程包括制定風險管理計劃、識別風險、分析風險、制定風險應(yīng)對計劃、監(jiān)控和應(yīng)對風險、風險管理收尾等5個活動。
其中識別風險、分析風險、制定風險應(yīng)對計劃、監(jiān)控和應(yīng)對風險4大活動是在項目的生命周期中將定期或事件觸發(fā)地重復(fù)進行的活動。接下來我們就從這四個方面闡述軟件項目的風險管理策略。
1 識別風險
軟件開發(fā)過程中的風險是已知、未知或不可知的。已知風險是項目中的一個或多個人注意到的。未知風險是哪些項目組的人員在一定條件(機會、提示和信息)下會暴露的風險。不可知風險是指那些甚至于理論上都不可預(yù)測的風險。
在風險識別中可以使用的信息收集技術(shù),包括頭腦風暴法、dephi法、訪談等。頭腦風暴法:頭腦風暴法可能是最常用的風險識別手段。其目標是獲得一份全面的風險列表,以備在將來的風險定性和定量分析過程中進一步加以明確。
一般由項目團隊承擔這項任務(wù)。在一位協(xié)調(diào)員的領(lǐng)導(dǎo)下,這些人員產(chǎn)生對項目風險的想法。他們在一個廣泛的范圍內(nèi)進行風險來源的識別,并且在會議上公布這些風險來源,讓大家一起參與檢查。然后根據(jù)風險的類型進行風險的分類。
Dephi法:Dephi法是專家們就某一主題,例如工期,達成一致意見的一種方法。該法需要確定項目風險專家,他們匿名參加會議。協(xié)調(diào)員使用問卷征求重要項目風險方面的意見。然后將意見結(jié)果反饋給每一位專家,以便進行進一步的討論。
這個過程經(jīng)過幾個回合,就可以在主要的項目風險上達成一致意見。De-phi法有助于減少數(shù)據(jù)方面的偏見,并避免個人因素對結(jié)果產(chǎn)生的不適當?shù)挠绊?。訪談法:可以通過訪談資深項目經(jīng)理或相關(guān)領(lǐng)域的專家進行風險識別。
負責風險識別的人員選擇合適的人選,事先向他們作有關(guān)項目的簡要指點,并提供必要的信息,如WBS和假設(shè)條件清單。這些訪談對象,依據(jù)他們的經(jīng)驗、項目的信息,以及他們所發(fā)現(xiàn)的其他有用供方,對項目風險進行識別。
此外我們還可以借由“檢查表”的方式來識別風險:從以往類似軟件項目和某些其他信息來源中積累的歷史信息和知識,可以用于編制風險識別檢查表。使用檢查表的一個優(yōu)點是它使風險識別工作快而簡單。
它的不足之處在于我們不可能編制一個詳盡的風險檢查表,檢查表的使用者可能會被表中的條目所局 限。要注意發(fā)現(xiàn)那些在標準檢查表中未列出的,而又似乎與某一特定項目相關(guān)聯(lián)的風險。檢查表應(yīng)詳細列出項目所有可能的風險類別。
所以,將審核檢查表作為每一項目收尾程序中的一個正式步驟,來完善可能風險的清單和風險說明則是非常重要的。
2 分析風險
一般來說,在一個軟件開發(fā)項目中可能識別出數(shù)十個風險,在思考如何應(yīng)對這些風險之前,我們必須對這些風險展開分析,以確定哪些風險是關(guān)鍵的、容易發(fā)生的,即對風險進行優(yōu)先級排序。這里提供一個比較簡易但是非常實用的方法,我們稱之為風險的級別,
它是風險發(fā)生概率和風險危害性兩個參數(shù)的乘積。風險危害性指如果風險發(fā)生了它會造成多大的危害??梢杂?到1之間的小數(shù)來量化危害。概率取值可以是0和1之間的任意一個小數(shù),和概率一樣,危害也是一個主觀值,不可能很精確,因此我們一般取一位小數(shù)。
一個風險所造成的影響很可能是多方面的,例如,同時影響進度和成本,一般按疊加的方式取值。
3 制訂風險應(yīng)對計劃
識別風險并對風險進行量化分析之后,需要進行風險控制,即制定風險計劃并在項目進展過程中按計劃開展活動,將風險的綜合影響降低至項目可以接受的結(jié)果。制訂風險計劃的第一步是確定風險應(yīng)對策略,也就是采用什么樣的方式來處理風險。
一般有四種風險應(yīng)對策略:規(guī)避、轉(zhuǎn)移、減輕、接受。風險規(guī)避:通過變更項目計劃,從而消除風險或產(chǎn)生風險的條件,或者保護項目目標免受風險的影響。雖然項目隊伍永遠不可能消除所有的風險,但某些特定的風險還是可能規(guī)避的。
在項目早期出現(xiàn)的某些風險事件可以通過澄清需求、獲取信息、加強溝通、聽取專家意見的方式加以應(yīng)對。減少項目范圍以規(guī)避高風險工作;增加項目資源或時間;采用一種熟悉的,而不是創(chuàng)新的方法;或規(guī)避使用一個不熟悉的分包商。這些都可能是風險規(guī)避的例子。
風險轉(zhuǎn)移:設(shè)法將某風險的結(jié)果連同對風險進行應(yīng)對的權(quán)利轉(zhuǎn)移給第三方。轉(zhuǎn)移風險只是將管理風險的責任轉(zhuǎn)移給另一方。它不能消除風險。例如,軟件離岸外包可解決不同國家的工程師享受不同的工資待遇。
高成本軟件風險被轉(zhuǎn)移到享受高工資的小組。在美國,用子承包方來開發(fā)軟件可轉(zhuǎn)移高薪員工管理費用的風險。風險減輕:設(shè)法將某一負面風險事件的概率和/或其影響降低到一種可以承受的限度。早期采取措施,降低風險發(fā)生的概率或風險對項目的影響,比在風險發(fā)生后再亡羊補牢要更為有效。
風險減輕采用的形式可能是執(zhí)行一種減少問題的新的行動方案。例如,采用更簡單一些的作業(yè)過程、進行更多的地震試驗或工程技術(shù)試驗、或挑選更穩(wěn)定的賣方。它可能涉及變更環(huán)境條件,以使風險發(fā)生的概率降低。例如,增加項目資源或給進度計劃增加時間。
風險減輕可能需要進行模型開發(fā),以減少由模型放大所帶來的風險。接受風險:這也是應(yīng)對風險的策略之一,它是指有意識的選擇承擔風險后果。覺得自己可以承擔損失時,就可以采用這種策略。例如,經(jīng)理們期望員工自愿流動的百分比較低。
更換一個入門級工程師的費用,可能與為留住此人而提升他的福利所花費的費用一樣。這是的策略是接受經(jīng)過培訓(xùn)的人員調(diào)離項目的風險,付出的代價便是雇用頂替他們的人所花的費用。確定了風險應(yīng)對策略后,對識別的關(guān)鍵風險可以形成風險計劃文檔,輸出為《關(guān)鍵風險應(yīng)對表》將其文檔化。
文檔化后的風險應(yīng)對計劃將是風險跟蹤的依據(jù),這份計劃也將在項目進展過程中不斷更新,補充新發(fā)現(xiàn)的風險、刪除綜合影響小的風險。
4 監(jiān)控和應(yīng)對風險
風險計劃制定完成后,在項目進展過程中需要對這些風險進行不斷的跟蹤,按計劃采取項目的措施,并監(jiān)控風險的變化情況。為使風險的跟蹤過程更加有效,可以確定一些觸發(fā)器,以及時采取措施。風險管理小組應(yīng)該確定風險的跟蹤和交流機制,
譬如包括:關(guān)鍵風險清單中的風險閾值每周跟蹤;里程碑處重新進行風險評估,并將結(jié)果記錄到里程碑報告中。此外風險管理小組的跟蹤結(jié)果應(yīng)該形成狀態(tài)報告,發(fā)送給項目經(jīng)理和相關(guān)的人員。
最后,強調(diào)風險的升級機制,因為有很多問題的確在底層或者項目經(jīng)理一層還是不容易協(xié)調(diào)或決策的,那么這個時候我們就要積極上報給上一層甚至更高層領(lǐng)導(dǎo)來爭取資源。
【編輯推薦】