1月27日參加了項目管理聯(lián)盟組織的‘北京項目管理愛好者聚會’,我被易風邀請做了一個主題演講,其實不是什么演講,只是結(jié)合理論談了自己的一些想法和工作中遇到過的經(jīng)驗教訓,更主要的目的是給大家出一個討論和交流的主題,希望能起個拋磚引玉的作用。
我講的主題是:軟件開發(fā)項目的風險管理,因為我認為風險管理在軟件項目中很重要,又不容易做好,所以希望通過和大家討論能夠有一些思路和啟發(fā)。
現(xiàn)在把我準備的內(nèi)容整理帖出來,希望在這里繼續(xù)討論,大家在如下幾方面多展開討論:
1. 在軟件項目管理中如何做好風險防范
2. 軟件項目中的典型風險事件是哪些
軟件開發(fā)項目的風險管理
眾所周知,軟件開發(fā)過程可分為:需求分析、設(shè)計、編碼、測試、安裝及維護等幾個過程(在RUP方法中:業(yè)務(wù)建模、需求、分析設(shè)計、實施、測試、部署),實際上一個完整的軟件項目前后還有其它過程,在這里列出的只是和軟件開發(fā)相關(guān)的核心過程。
軟件項目的生命周期可以分為四個階段(不同行業(yè)的項目生命周期不同),即初始階段、設(shè)計階段、實施階段、收尾階段。軟件開發(fā)過程在軟件項目的這四個階段中的分布情況如下(括弧里面表示RUP方法中的過程):
初始階段:大部分需求分析,少部分設(shè)計(大部分業(yè)務(wù)建模和需求,少部分分析設(shè)計)
設(shè)計階段:大部分設(shè)計,少部分編碼(大部分分析設(shè)計,部分實施及測試,開始考慮部署)
實施階段:大部分編碼和測試,少部分設(shè)計(大部分實施及測試,部分部署)
收尾階段:安裝及維護(大部分部署)
而項目管理則貫穿在整個生命周期的每個階段。
根據(jù)PMBOK,項目管理可以從范圍管理、時間管理、費用管理、質(zhì)量管理、人力資源管理、溝通管理、風險管理、采購管理和整體管理等9個方面考慮,對于軟件項目管理來講軟件配置管理(屬于整體管理)、軟件質(zhì)量管理、軟件風險管理及開發(fā)人員管理(屬于人力資源管理)等四個方面的管理尤為重要,軟件開發(fā)的每個階段、每個過程都要重視這幾方面的管理。
下面就以軟件項目的風險管理為主題展開討論。
軟件項目管理的四個階段中,在初始階段項目成功的可能性最小,風險發(fā)生的概率也就最高,但是這時候一旦預(yù)計的風險發(fā)生了,損失是最小的,比如:在這個階段如果某種原因突然資金來源斷了(這在需求階段是很有可能的),以至于不能繼續(xù)進行項目,不得不終止項目,那么這時候的損失只是需求分析階段的投入。隨著項目的進展項目成功的可能性變大,風險發(fā)生的概率逐漸變小,風險對項目的損失逐漸變大,快到收尾階段的時候風險對項目的損失最大,隨著收尾階段的進行風險又逐漸變小。
風險管理是對項目風險進行識別、分析和應(yīng)對的過程。我們先看看項目風險可以怎么分類,然后再對風險管理的這三個過程逐一進行討論。
1.風險的分類
按內(nèi)容分
范圍風險:與范圍變更有關(guān)的風險
質(zhì)量風險:沒有按照要求的技術(shù)性能和質(zhì)量水平完成任務(wù)
進度風險:沒有在預(yù)算的時間范圍內(nèi)完成任務(wù)
成本風險:沒有在預(yù)算的成本范圍內(nèi)完成任務(wù)
技術(shù)風險:技術(shù)變化
法律風險:許可權(quán)、專利、合同失效、訴訟、不可抗力
外部可預(yù)測風險:市場風險(原材料可利用性、需求)、日常運作(維修需求)、環(huán)境影響、社會影響、貨幣變動、通貨膨脹、稅收
外部可預(yù)測風險:規(guī)章(不可預(yù)測的政府干預(yù))、自然災(zāi)害
內(nèi)部非技術(shù)風險:戰(zhàn)略風險(公司的經(jīng)營戰(zhàn)略發(fā)生了變化)、管理風險(公司管理人員是否成熟等)
按可確定性分
已知風險(Knowns):員工離職
已知-未知風險(Known-unknowns):可預(yù)知風險
未知-未知風險(Unknown-unknowns):不可預(yù)知風險
2.風