當(dāng)前位置:機電之家首頁 >> 工程造價>> 工程管理 >> 風(fēng)險管理 >> 軟件開發(fā)項目的風(fēng)險管理
軟件開發(fā)項目的風(fēng)險管理

  眾所周知,軟件開發(fā)過程可分為:需求分析、設(shè)計、編碼、測試、安裝及維護等幾個過程(在RUP方法中:業(yè)務(wù)建模、需求、分析設(shè)計、實施、測試、部署),實際上一個完整的軟件項目前后還有其它過程,在這里列出的只是和軟件開發(fā)相關(guān)的核心過程。 軟件項目的生命周期可以分為四個階段(不同行業(yè)的項目生命周期不同),即初始階段、設(shè)計階段、實施階段、收尾階段。軟件開發(fā)過程在軟件項目的這四個階段中的分布情況如下(括弧里面表示RUP方法中的過程):
    初始階段:大部分需求分析,少部分設(shè)計(大部分業(yè)務(wù)建模和需求,少部分分析設(shè)計)
    設(shè)計階段:大部分設(shè)計,少部分編碼(大部分分析設(shè)計,部分實施及測試,開始考慮部署)
    實施階段:大部分編碼和測試,少部分設(shè)計(大部分實施及測試,部分部署)
    收尾階段:安裝及維護(大部分部署)
    而項目管理則貫穿在整個生命周期的每個階段。
    根據(jù)PMBOK,項目管理可以從范圍管理、時間管理、費用管理、質(zhì)量管理、人力資源管理、溝通管理、風(fēng)險管理、采購管理和整體管理等9個方面考慮,對于軟件項目管理來講軟件配置管理(屬于整體管理)、軟件質(zhì)量管理、軟件風(fēng)險管理及開發(fā)人員管理(屬于人力資源管理)等四個方面的管理尤為重要,軟件開發(fā)的每個階段、每個過程都要重視這幾方面的管理。
    下面就以軟件項目的風(fēng)險管理為主題展開討論。
    軟件項目管理的四個階段中,在初始階段項目成功的可能性最小,風(fēng)險發(fā)生的概率也就最高,但是這時候一旦預(yù)計的風(fēng)險發(fā)生了,損失是最小的,比如:在這個階段如果某種原因突然資金來源斷了(這在需求階段是很有可能的),以至于不能繼續(xù)進行項目,不得不終止項目,那么這時候的損失只是需求分析階段的投入。隨著項目的進展項目成功的可能性變大,風(fēng)險發(fā)生的概率逐漸變小,風(fēng)險對項目的損失逐漸變大,快到收尾階段的時候風(fēng)險對項目的損失最大,隨著收尾階段的進行風(fēng)險又逐漸變小。
    風(fēng)險管理是對項目風(fēng)險進行識別、分析和應(yīng)對的過程。我們先看看項目風(fēng)險可以怎么分類,然后再對風(fēng)險管理的這三個過程逐一進行討論。
    1.風(fēng)險的分類
    按內(nèi)容分
    范圍風(fēng)險:與范圍變更有關(guān)的風(fēng)險
    質(zhì)量風(fēng)險:沒有按照要求的技術(shù)性能和質(zhì)量水平完成任務(wù)
    進度風(fēng)險:沒有在預(yù)算的時間范圍內(nèi)完成任務(wù)
    成本風(fēng)險:沒有在預(yù)算的成本范圍內(nèi)完成任務(wù)
    技術(shù)風(fēng)險:技術(shù)變化
    法律風(fēng)險:許可權(quán)、專利、合同失效、訴訟、不可抗力
    外部可預(yù)測風(fēng)險:市場風(fēng)險(原材料可利用性、需求)、日常運作(維修需求)、環(huán)境影響、社會影響、貨幣變動、通貨膨脹、稅收
    外部可預(yù)測風(fēng)險:規(guī)章(不可預(yù)測的政府干預(yù))、自然災(zāi)害
    內(nèi)部非技術(shù)風(fēng)險:戰(zhàn)略風(fēng)險(公司的經(jīng)營戰(zhàn)略發(fā)生了變化)、管理風(fēng)險(公司管理人員是否成熟等)
    按可確定性分
    已知風(fēng)險(Knowns):員工離職
    已知-未知風(fēng)險(Known-unknowns):可預(yù)知風(fēng)險
    未知-未知風(fēng)險(Unknown-unknowns):不可預(yù)知風(fēng)險
    2.風(fēng)險識別
    風(fēng)險的識別就是確定何種風(fēng)險事件可能影響項目。在項目開始、每個項目階段中間、主要范圍變更批準(zhǔn)之前都要進行風(fēng)險識別,實際上它在整個項目生命周期內(nèi)都是一個連續(xù)的過程。
    要識別風(fēng)險,首先我們應(yīng)該了解在軟件開發(fā)的各個階段都有可能發(fā)生哪些風(fēng)險(風(fēng)險事件或風(fēng)險來源)。
初始階段
    在這個階段進行大部分需求分析、少部分設(shè)計(大部分業(yè)務(wù)建模和需求、少部分分析設(shè)計)。
    可能的風(fēng)險事件:
    1、 項目目標(biāo)不清
    2、 項目范圍不明確(范圍太大太小都不可以)
    3、 用戶參與少或和用戶溝通少
    4、 對業(yè)務(wù)了解不夠
    5、 對需求了解不夠
    6、 沒有進行可行性研究
    設(shè)計階段
    在這個階段進行大部分設(shè)計、少部分編碼(大部分分析設(shè)計,部分實施及測試,開始考慮部署)
    可能的風(fēng)險事件
    1、 項目隊伍缺乏經(jīng)驗,如缺乏有經(jīng)驗的系統(tǒng)分析員
    2、 沒有變更控制計劃,以至于變更沒有依據(jù),該變更的不變,不該變的也變,這樣得來的設(shè)計勢必會失敗或者偏離用戶需求
    3、 倉促計劃,可能帶來進度方面的風(fēng)險
    4、 漏項,由于設(shè)計人員的疏忽某個功能沒有考慮進去
實施階段
    在這個階段進行大部分編碼和測試,也涉及少部分設(shè)計(大部分實施及測試,部分部署),如:設(shè)計變更或補充設(shè)計。
    可能的風(fēng)險事件
    1、 開發(fā)環(huán)境沒有具備好
    2、 設(shè)計錯誤帶來的實施困難
    3、 程序員開發(fā)能力差,或程序員對開發(fā)工具不熟
    4、 項目范圍改變(突然要增加或修改一些功能,需要重新考慮設(shè)計)
    5、 項目進度改變(要求提前完成任務(wù)等)[NextPage]
    6、 人員離開,在一個項目內(nèi)軟件開發(fā)工作有一定的連續(xù)性,需要移交和交接,有時人員離開對項目的影響會很大
    7、 開發(fā)團隊內(nèi)部溝通不夠,導(dǎo)致程序員對系統(tǒng)設(shè)計的理解上有偏差
    8、 沒有有效的備份方案
    9、 沒有切實可行的測試計劃
    10、 測試人員經(jīng)驗不足
    收尾階段
    在這個階段進行安裝及維護(大部分部署)。
    可能的風(fēng)險事件
    1、 質(zhì)量差
    2、 客戶不滿意
    3、 設(shè)備沒有按時到貨
    4、 資金不能回收
    以上只是例具了常見的風(fēng)險事件,對不同項目可能發(fā)生的風(fēng)險事件不同,應(yīng)該對具體項目識別出真正有可能發(fā)生在該項目的風(fēng)險事件。而且還要對這些風(fēng)險事件進行描述,如:可能性、可能后果范圍、預(yù)計發(fā)生時間、發(fā)生頻率等。
風(fēng)險識別的有效方法有很多,如:建立風(fēng)險項目檢查表、因果分析圖、采訪各種項目干系人等。
    軟件項目的風(fēng)險可以從以下幾方面檢查:
    產(chǎn)品規(guī)模風(fēng)險
    業(yè)務(wù)影響風(fēng)險檢
    與客戶相關(guān)的風(fēng)險
    過程風(fēng)險
    技術(shù)風(fēng)險
    開發(fā)環(huán)境風(fēng)險
    與人員的模式和經(jīng)驗有關(guān)的風(fēng)險
    以上我們討論了在軟件項目各個階段中可能發(fā)生的風(fēng)險事件和識別方法。下面我們看看如何對這些風(fēng)險事件進行分析。
    3.風(fēng)險分析
    風(fēng)險分析就是對以上識別出來的風(fēng)險事件做風(fēng)險影響分析。
    和風(fēng)險相關(guān)的有四個因素:
    風(fēng)險事件,破壞或影響項目的事件
    風(fēng)險概率(%),事件發(fā)生的可能性
    風(fēng)險得失量(金額),說明可能造成的損失
    風(fēng)險影響(金額),等于 風(fēng)險概率 × 風(fēng)險得失量
    通過對風(fēng)險及風(fēng)險的相互作用的估算來評價項目可能結(jié)果的范圍,從成本、進度及性能三個方面對風(fēng)險進行評價,確定哪些風(fēng)險事件或來源可以避免,哪些可以忽略不考慮(包括可以承受),哪些要采取應(yīng)對措施。
    4.風(fēng)險應(yīng)對
    1、應(yīng)對方法
    項目中的風(fēng)險永遠(yuǎn)不能全部消除,PMBOK提到三種應(yīng)對方法:
    避免
    通過分析找出來發(fā)生風(fēng)險事件的原因,消除這些原因來避免一些特定的風(fēng)險事件發(fā)生。比如:
    如何避免客戶不滿意?
    客戶不滿意有兩種情況,一種情況是沒有判斷客戶滿意度的依據(jù),即沒有雙方互相認(rèn)可的客戶驗收標(biāo)準(zhǔn),還有一種是開發(fā)方?jīng)]有達到驗收標(biāo)準(zhǔn),即沒有滿足用戶需求。不管是哪一種,開發(fā)方都有不可推卸的責(zé)任,只要做好以下環(huán)節(jié)完全可以避免:
    1、 業(yè)務(wù)建模階段要讓客戶參與
    2、 需求階段要多和客戶溝通,了解客戶真正的需求
    3、 目標(biāo)系統(tǒng)的模型或DEMO系統(tǒng)要向客戶演示,并得到反饋意見,如果反饋的意見和DEMO系統(tǒng)出入比較大時,一定要將修改后的DEMO系統(tǒng)在次向客戶演示,直到雙方都達成共識為止
    4、 要有雙方認(rèn)可的驗收方案和驗收標(biāo)準(zhǔn)
    5、 做好變更控制和配置管理
    減輕
    通過降低風(fēng)險事件發(fā)生的概率或得失量來減輕對項目的影響。也可以采用風(fēng)險轉(zhuǎn)移的方法來減輕風(fēng)險對項目帶來的影響。項目預(yù)算中考慮應(yīng)急儲備金是另一種降低風(fēng)險影響的方法。比如:
    經(jīng)過風(fēng)險識別發(fā)現(xiàn),項目組的程序員對所需開發(fā)技術(shù)不熟??梢圆捎檬煜さ募夹g(shù)來減輕項目在成本或進度方面的影響。也可以事先進行培訓(xùn)來減輕對項目的影響。
    接受
    接收風(fēng)險造成的后果。比如:
    為了避免自然災(zāi)害造成的后果,在一個大的軟件項目中考慮了異地備份中心。
    2、開發(fā)應(yīng)對計劃
    針對需要采取應(yīng)對措施的風(fēng)險事件,開發(fā)應(yīng)對計劃,一旦發(fā)生風(fēng)險事件,就實施應(yīng)對計劃。比如:
    有一個軟件集成項目中包括了設(shè)備,而且計劃在部署階段之前設(shè)備必須到位,而這些設(shè)備從廠家直接進貨。經(jīng)過分析發(fā)現(xiàn)有可能不能按時進貨,那就應(yīng)該考慮備選方案,比如能不能周轉(zhuǎn)等。
    又比如:
    在一個軟件開發(fā)項目中,某開發(fā)人員有可能離職,離職后會對項目造成一定的影響,則應(yīng)該對這個風(fēng)險事件開發(fā)應(yīng)對計劃,過程可以參照如下:
    1、進行調(diào)研,確定流動原因
    2、在項目開始前,把緩解這些流動原因的工作列入風(fēng)險管理計劃
    3、項目開始時,做好計劃一旦人員離開時便可執(zhí)行,以確保人員離開后項目仍能繼續(xù)進行
    4、制定文檔標(biāo)準(zhǔn),并建立一種機制,保證文檔及時產(chǎn)生
    5、對所有工作進行細(xì)微詳審,使更多人能夠按計劃進度完成自己的工作
    6、對每個關(guān)鍵性技術(shù)人員培養(yǎng)后備人員
    在考慮風(fēng)險成本之后,決定是否采用上述策略。
作者:未知 點擊:588次 [打印] [關(guān)閉] [返回頂部]
本文標(biāo)簽:軟件開發(fā)項目的風(fēng)險管理
* 由于無法獲得聯(lián)系方式等原因,本網(wǎng)使用的文字及圖片的作品報酬未能及時支付,在此深表歉意,請《軟件開發(fā)項目的風(fēng)險管理》相關(guān)權(quán)利人與機電之家網(wǎng)取得聯(lián)系。
關(guān)于“軟件開發(fā)項目的風(fēng)險管理”的更多資訊

電子樣本

SN系列樣冊
:鞏經(jīng)理
:13915946763
:南京塞姆泵業(yè)有限公司
個人求購

林志揚 【求購】  無石棉墊片  2025-12-4
張一帆 【求購】  首件測試儀  2025-12-4
王飛 【求購】  gf流量計  2025-12-4
 【求購】  全自動印刷...  2025-12-4
 【求購】  LED屏  2025-12-3
 【求購】  保溫棉  2025-12-2
蔡生 【求購】  不銹鋼管的...  2025-12-2
王先生 【求購】  多氣體檢測...  2025-12-2
VIP公司推薦