某金融客戶 10個人月 14個 80%完全重新開發(fā)
某保險客戶 16個人月 18個 完全重新開發(fā)
從表一中可以看出,模塊的代碼行越長,開發(fā)周期就越長,對同一開發(fā)工具而言基本是一個線形關系,但其中也要考慮代碼重用問題,比如一個模塊代碼很長,但是可能包含了很多公用函數,那么在估算時就應適當減少代碼行數量,表中會議管理就是個例子,這個模塊的代碼行超過一萬行,但其中公共函數很多,去除此因素,真正的代碼行在9000行左右。
表二是軟件項目的實際開發(fā)周期(不考慮系統(tǒng)實施),從普通意義上說軟件項目中包含的功能模塊越多、越復雜,或者說軟件越大開發(fā)周期增長的就越快,這個時間絕不是模塊開發(fā)時間的簡單疊加,因為模塊功能數量的增加直接帶來了軟模塊間相互關聯(lián)度、復雜度的成倍增加,這就直接導致了在需求、設計等階段需要花費更多的時間,這比單獨考慮一個模塊復雜的多。在表二中隨著模塊數量增加,開發(fā)周期增加不是特別明顯,這是因為產品化程度高所引起的,由于相當數量的模塊可以完全重用,實際開發(fā)量大大減少,最后一個例子完全重新開發(fā),開發(fā)周期就長的多。
在實際進行軟件開發(fā)周期估算的時候,軟件規(guī)模肯定是首先考慮的因素,根據我們上面所討論的情況,在考慮軟件規(guī)模時一定要去除可重用的部分,由于當今軟件在設計上很重視這點,所以這部分會占相當的比重。另外軟件功能之間的關聯(lián)所造成的復雜性必須足夠重視,這樣在估算上就不會產生重大偏差。
3.2估算與項目風險
任何一個項目都或多或少存在風險,軟件項目開發(fā)過程中也避免不了這種情況而且有這類項目自己的特點,最常見的風險有以下幾種:技術風險,項目技術難度很大,花費的時間超過原先的估計;客戶風險,客戶需求不定,增加需求,組織協(xié)調不暢;人員風險,開發(fā)人員突然更換、離職;管理風險,項目經理管理不善、決策失誤。對于風險控制,在項目管理中通常是提前做風險分析和預測,制定風險應對措施,這樣在風險真的來臨時不至于措手不及,提高整個項目的可控性。
軟件項目的潛在風險對于開發(fā)周期的影響在很多情況下是非常大的,當然好的項目控制會最大限度的減少這種影響,絕對避免是不可能的,所以在開發(fā)周期估算時項目風險應該適當考慮,尤其是技術風險和客戶風險。
技術風險主要來自于軟件本身的技術難度,如果對于一套成熟的產品,定制開發(fā)的技術風險相對非常小,因為重要的技術已經成型,客戶也很少有新的能帶來高難度技術問題的需求,這種風險可以不予考慮。但是對于完全重新開發(fā)的項目,或是研發(fā)類的項目,技術風險必須特別重視,其中應該考慮的細節(jié)主要包括下面幾個。
開發(fā)平臺,是否能適合本項目所涉及的軟件開發(fā)、能否滿足最終的需求,平臺的錯誤選擇將導致龐大的開發(fā)工作量,即便滿足了用戶需求也可能造成系統(tǒng)效率低下,擴展性差的致命問題,軟件可能會很快被淘汰。功能實現難度,在切實了解需求的基礎上要仔細分析采用的開發(fā)工具能否實現其中的難點,是否會耗費大量時間。
此文章共有5頁 上一頁 1 2 3 4 5 下一頁
文章來源:中國項目管理資源網
|