軟件項目成(chéng)果的需求分析方和軟件項目的承擔者都(dōu)十分關心這(zhè)樣(yàng)的一個問題:什麼(me)樣(yàng)的因素會(huì)導緻軟件項目的失敗?與項目有關的因素的改變將(jiāng)對(duì)按時、按經(jīng)費預算交付符合預定質量要求的軟件成(chéng)果産生什麼(me)樣(yàng)的影響?這(zhè)些都(dōu)屬于軟件項目開(kāi)發(fā)過(guò)程中考慮的風險問題。
軟件項目的風險是指在軟件開(kāi)發(fā)過(guò)程中可能(néng)出現的不确定因而造成(chéng)損失或者影響,如資金短缺、項目進(jìn)度延誤、人員變更以及預算和進(jìn)度等方面(miàn)的問題。風險關注未來的事(shì)情,這(zhè)意味著(zhe),軟件風險涉及選擇及選擇本身包含的不确定性,軟件開(kāi)發(fā)過(guò)程及軟件産品都(dōu)要面(miàn)臨各種(zhǒng)決策的選擇。風險是介于确定性和不确定性之間的狀态,是處于無知和完整知識之間的狀态。另一方面(miàn),風險將(jiāng)涉及思想、觀念、行爲、地點等因素的改變。
軟件項目風險會(huì)影響項目計劃的實現,如果項目風險變成(chéng)現實,就(jiù)有可能(néng)影響項目的進(jìn)度,增加項目的成(chéng)本,甚至使軟件項目不能(néng)實現。因此有必要對(duì)軟件項目中的風險進(jìn)行分析并采取相應的措施加以管理,盡可能(néng)減少風險造成(chéng)的損失。風險是在項目開(kāi)始之後(hòu)才對(duì)項目的執行過(guò)程其負面(miàn)的影響,所以軟件項目開(kāi)始之前風險分析的不足,或者是軟件項目實施過(guò)程中風險應對(duì)措施不得力,都(dōu)有可能(néng)造成(chéng)軟件失敗。
如果對(duì)項目進(jìn)行風險管理,就(jiù)可以最大限度的減少風險的發(fā)生。它是爲了將(jiāng)不确定因素出現的概率控制到最低,將(jiāng)不确定性所造成(chéng)的損失減少到最低限度,對(duì)軟件項目全過(guò)程中的風險識别、分析和應對(duì)的過(guò)程。在整個軟件項目的實施過(guò)程中,可能(néng)形成(chéng)項目風險的因素有很多,如在項目啓動階段可能(néng)存在項目目标不明确,與用戶溝通少導緻項目範圍不明确等分先因素;在系統設計階段可能(néng)因爲缺乏有經(jīng)驗的分析人員、設計人員導緻和設計的結果不能(néng)直接用于程序員的開(kāi)發(fā);在項目實施階段可能(néng)因爲開(kāi)發(fā)環境沒(méi)有準備好(hǎo),程序員開(kāi)發(fā)能(néng)力差,或者因爲用戶提出新的功能(néng)需求導緻原有設計實效、開(kāi)發(fā)費用超支,還(hái)有可能(néng)因爲開(kāi)發(fā)人員的流動導緻項目延期,客戶不滿意等情況。
軟件項目運用專家調查法和頭腦風暴法分析軟件開(kāi)發(fā)項目中,并將(jiāng)其進(jìn)行整理分類。
1、由于與客戶溝通不暢對(duì)客戶的需求了解不足造成(chéng)的風險在軟件開(kāi)發(fā)項目整個生命周期的中都(dōu)存在的風險,主要包括需求變更風險,涉及風險,過(guò)程風險,安裝及維護風險。
2、由于管理人員素質不夠,經(jīng)驗不足,溝通不暢,任務或其分配不合理,對(duì)項目的控制力度不夠造成(chéng)的各種(zhǒng)風險,主要包括進(jìn)度風險,預算風險,管理能(néng)力風險,信息安全風險。
3、由于技術力量不足,開(kāi)發(fā)環境工具不足造成(chéng)的。主要包括技術風險,質量風險,軟件設計工具風險,軟件開(kāi)發(fā)工具風險,員工技能(néng)風險。
4、由于公司或項目組内外部環境變化所導緻的風險,主要包括人力資源風險,政策風險,市場風險,營銷風險。
軟件項目中的風險永遠不能(néng)全部消除,而隻能(néng)采用避免、減輕、和接受三種(zhǒng)因對(duì)策略。
避免:通過(guò)分析找出發(fā)生風險事(shì)件的原因,消除這(zhè)些原因來避免一些特定風險事(shì)件的發(fā)生。
減輕:通過(guò)降低風險事(shì)件發(fā)生的概率或得失衡量來減輕風險對(duì)項目的影響,也可采用風險轉移的方法來減輕風險對(duì)項目的影響。