以及衡量不同階段目標的標準,在軟件開發(fā)的各個階段中,即需求分析階段、軟件設計階段、編碼階段和測試階段,我們可以發(fā)現(xiàn)存在于各階段中的風險項。并由項目經(jīng)理在啟動、計劃、執(zhí)行、控制、結束五個階段予以控制。此項目開發(fā)的目標是為了向審計公司提供輔助審計管理系統(tǒng)。開發(fā)流程也是比較遵從軟件工程的規(guī)范的。但是最終的結果卻不盡人意,投入了比預料多幾倍的人力物力。根據(jù)當時參與項目的同事的分析,失敗的原因主要是:
1)需求不明確
由于出發(fā)點和利益不同,系統(tǒng)開發(fā)者與用戶對于同一問題常有不同看法,這樣需求分析的風險就逐漸加大了。另外對需求變更的控制做得不好。需求的改變,就會產生連鎖反應,有時候這種反應會導致程序的不穩(wěn)定,嚴重的時候,一個錯誤的修改引起另一處程序的錯誤,而新的錯誤的修改會導致更新的錯誤,更嚴重的情況,不是所有的錯誤都能被修改。
2)技術風險
此軟件數(shù)據(jù)結構復雜,邏輯關聯(lián)性比較強。軟件需要與第三方財務軟件產品的數(shù)據(jù)庫系統(tǒng)接口。帶來了相當?shù)募夹g開發(fā)困難,阻礙了項目的進行。由于以上原因到了測試階段,未確定的需求和不斷發(fā)現(xiàn)的bug成了災難。結果測試當天就因為一個bug導致數(shù)據(jù)被誤刪和數(shù)據(jù)混亂。
于是暫停測試,改為封閉式開發(fā),并且繼續(xù)增加人員,第二次修改時是才發(fā)現(xiàn)整個數(shù)據(jù)結構也要發(fā)生變動,這就意味著無異于從新開發(fā)一次,所以最后不得不投入大量的人員予以彌補。分析原因,為什么這個項目會失?。靠磥砗孟袷切枨鬀]有做好,其實是沒有把風險放在整個項目這個大系統(tǒng)下來對待,沒有建立一套完整的風險管理機制,這樣一來風險因素就容易被忽略。
然而,軟件項目前一階段的失誤會對下一階段產生嚴重的影響。一旦發(fā)生了變化,就不得不修改設計、重寫代碼、修改測試用例、調整項目計劃等等,為項目的正常的進展帶來不盡的麻煩。所以,沒有切實可行的風險管理過程機制,就很難有效地保證風險管理活動的效率。建立切實可行的風險管理過程機制是軟件風險管理理論研究成果最終在實踐中得到應用的最根本保證。