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