軟件工程:實踐者的研究方法第6章風險管理

字號:

第6章 風險管理
    Robert Charette[CHA89]在他的關于風險分析及管理的書中給出了風險概念的定義是:
    首先,風險關注未來將要發(fā)生的事情。今天和昨天已不再被關心,如同我們已經(jīng)在收獲由我們過去的行為所播下的種子。問題是:我們是否能夠通過改變我們今天的行為,而為一個不同的、充滿希望的、更美好的明天創(chuàng)造機會。其次,這意味著,風險涉及改變,如思想、觀念、行為、或地點的改變……第三,風險涉及選擇及選擇本身所包含的不確定性。因此,就象死亡和稅收一樣,風險是生活中最不確定的元素之一。
    當在軟件工程領域考慮風險時,Charette的三個概念定義是顯而易見的。未來是我們所關心的——什么樣的風險會導致軟件項目徹底失敗呢?改變也是我們所關心的——用戶需求、開發(fā)技術(shù)、目標計算機、以及所有其他與項目相關的因素的改變將會對按時交付和總體成功產(chǎn)生什么影響呢?最后,我們必須抓住選擇機會——我們應該采用什么方法及工具?需要多少人員參與工作?對質(zhì)量的要求要達到什么程度才是“足夠的”?
    Peter Drucker[DRU75]曾經(jīng)說過:“當沒有辦法消除風險,甚至連試圖降低該風險也存在疑問時,這些風險就是真正的風險了”。在我們能夠標識出軟件項目中的“真正風險”之前,識別出所有對管理者及開發(fā)者而言均為明顯的風險是很重要的。
    6.1 被動和主動的風險策略
    被動風險策略被戲稱為“印地安那·瓊斯學派的風險管理”[THO92]。印地安那·瓊斯在以其名字為影片名的電影中,每當面臨無法克服的困難時,總是一成不變地說:“不要擔心,我會想出辦法來的!”。印地安那·瓊斯從不擔心任何問題,直到它們發(fā)生,再做出英雄式的反應。
    遺憾的是,一般的軟件項目管理者并不是印地安那·瓊斯,且軟件項目組的成員也不是他的可信賴的伙伴。大多數(shù)軟件項目組還是僅僅依賴于被動風險策略。被動策略最多不過是針對可能發(fā)生的風險來監(jiān)督項目,直到它們變成真正的問題時,才會撥出資源來處理它們。更普遍的情況是,軟件項目組對于風險不聞不問,直到發(fā)生了錯誤,這時,項目組才趕緊采取行動,試圖迅速地糾正錯誤。這常常被稱為“救火模式”。當這樣的努力失敗后,“危機管理”[CHA92]接管一切,這時項目已經(jīng)處于真正的危機中了。
    對于風險管理的一個更聰明的策略是主動式的。主動策略早在技術(shù)工作開始之前就已經(jīng)啟動了。標識出潛在的風險,評估它們出現(xiàn)的概率及產(chǎn)生的影響,且按重要性加以排序,然后,軟件項目組建立一個計劃來管理風險。主要的目標是預防風險,但因為不是所有的風險都能夠預防,所以,項目組必須建立一個意外事件的計劃,使其在必要時能夠以可控的及有效的方式作出反應。在本章其余部分,我們將討論風險管理的主動策略。