nbsp; 軟件項(xiàng)目的潛在風(fēng)險(xiǎn)對(duì)于開(kāi)發(fā)周期的影響在很多情況下是非常大的,當(dāng)然好的項(xiàng)目控制會(huì)最大限度的減少這種影響,絕對(duì)避免是不可能的,所以在開(kāi)發(fā)周期估算時(shí)項(xiàng)目風(fēng)險(xiǎn)應(yīng)該適當(dāng)考慮,尤其是技術(shù)風(fēng)險(xiǎn)和客戶風(fēng)險(xiǎn)。
技術(shù)風(fēng)險(xiǎn)主要來(lái)自于軟件本身的技術(shù)難度,如果對(duì)于一套成熟的產(chǎn)品,定制開(kāi)發(fā)的技術(shù)風(fēng)險(xiǎn)相對(duì)非常小,因?yàn)橹匾募夹g(shù)已經(jīng)成型,客戶也很少有新的能帶來(lái)高難度技術(shù)問(wèn)題的需求,這種風(fēng)險(xiǎn)可以不予考慮。但是對(duì)于完全重新開(kāi)發(fā)的項(xiàng)目,或是研發(fā)類(lèi)的項(xiàng)目,技術(shù)風(fēng)險(xiǎn)必須特別重視,其中應(yīng)該考慮的細(xì)節(jié)主要包括下面幾個(gè)。
開(kāi)發(fā)平臺(tái),是否能適合本項(xiàng)目所涉及的軟件開(kāi)發(fā)、能否滿足最終的需求,平臺(tái)的錯(cuò)誤選擇將導(dǎo)致龐大的開(kāi)發(fā)工作量,即便滿足了用戶需求也可能造成系統(tǒng)效率低下,擴(kuò)展性差的致命問(wèn)題,軟件可能會(huì)很快被淘汰。功能實(shí)現(xiàn)難度,在切實(shí)了解需求的基礎(chǔ)上要仔細(xì)分析采用的開(kāi)發(fā)工具能否實(shí)現(xiàn)其中的難點(diǎn),是否會(huì)耗費(fèi)大量時(shí)間。
在實(shí)際估算中,建議技術(shù)難度分為十級(jí),每一級(jí)在初次估算的代碼行上增加10%,最終估算代碼長(zhǎng)度=初始估算代碼長(zhǎng)度×(1+0.1×n)。假設(shè)模塊A的初次估計(jì)代碼行為15000行,但考慮技術(shù)難度高的風(fēng)險(xiǎn),設(shè)定技術(shù)難度級(jí)別為二級(jí),最終代碼行的估算數(shù)量為15000X(1+20%)=18000。
由于技術(shù)風(fēng)險(xiǎn)的分析是一項(xiàng)技術(shù)性很強(qiáng)的工作,要求做技術(shù)風(fēng)險(xiǎn)分析的人必須是技術(shù)專家,在相關(guān)技術(shù)領(lǐng)域有著豐富的經(jīng)驗(yàn),對(duì)重大技術(shù)風(fēng)險(xiǎn)的分析結(jié)果必須要經(jīng)過(guò)評(píng)審,保證準(zhǔn)確性。
客戶風(fēng)險(xiǎn)存在于客戶化項(xiàng)目中,不同行業(yè)的客戶特點(diǎn)不盡相同,技術(shù)、理解水平也相差甚遠(yuǎn),在我經(jīng)歷開(kāi)發(fā)的項(xiàng)目中,80%的項(xiàng)目延期屬于客戶方的原因,而且這種風(fēng)險(xiǎn)可控性很低,對(duì)項(xiàng)目影響超過(guò)技術(shù)風(fēng)險(xiǎn)。在開(kāi)發(fā)周期估算前,項(xiàng)目經(jīng)理要仔細(xì)分析客戶的具體狀況,包括客戶的計(jì)算機(jī)水平、管理水平、可溝通程度,在此基礎(chǔ)上結(jié)合以往的經(jīng)驗(yàn)綜合判斷是否會(huì)對(duì)開(kāi)發(fā)帶來(lái)明顯的影響,可以按照上述的技術(shù)風(fēng)險(xiǎn)的方式將客戶分級(jí),最終確定開(kāi)發(fā)周期。在這個(gè)過(guò)程中,項(xiàng)目經(jīng)理的經(jīng)驗(yàn)極其重要,對(duì)客戶的分析基本上要依賴經(jīng)驗(yàn)做判斷,要求管理人員有大量的客戶經(jīng)驗(yàn)和行業(yè)分析能力。
3.3估算與人力資源
對(duì)于軟件開(kāi)發(fā)項(xiàng)目來(lái)說(shuō),人力資源是核心力量,因?yàn)檐浖_(kāi)發(fā)不同于其它類(lèi)型的項(xiàng)目,除了電腦它不需要利用其它工具,最終結(jié)果的產(chǎn)生完全取決于人腦中的知識(shí),這也是知識(shí)經(jīng)濟(jì)的最大特點(diǎn)。
人力資源對(duì)估算的影響表現(xiàn)在技術(shù)水平、理解能力、溝通能力等幾個(gè)方面,編程水平的高低、速度的快慢、能否適應(yīng)團(tuán)隊(duì)、能否與各成員保持良好的溝通都會(huì)對(duì)開(kāi)發(fā)進(jìn)度產(chǎn)生影響,其中技術(shù)水平是最關(guān)鍵的因素。評(píng)價(jià)程序員的技術(shù)水平可以從編程熟練程度、編程速度、解決技術(shù)問(wèn)題的能力幾個(gè)因素考慮,編程熟練程度指的是程序員能否很順暢的使用編程工具實(shí)現(xiàn)軟件的功能,編程速度指的是完成某個(gè)功能的時(shí)間,解決技術(shù)問(wèn)題的能力可以反映程序員在遇到技術(shù)難點(diǎn)時(shí)表現(xiàn)出的技術(shù)功底,如果以100%作為總和,這三個(gè)因素分別占70%、15%和15%這樣的比例。
軟件開(kāi)發(fā)周期估算前,應(yīng)對(duì)開(kāi)發(fā)人員定級(jí),建議按新手、初級(jí)程序員、中級(jí)程序員、高級(jí)程序員來(lái)劃分,每一級(jí)人員再評(píng)定上述三個(gè)因素,初次估算時(shí)可以假定開(kāi)發(fā)人員為中級(jí)程序員,然后依據(jù)項(xiàng)目組實(shí)際人員的水平做修正,這樣結(jié)果的精確度能大大提高。
4. 歷史數(shù)據(jù)估算法的運(yùn)用
依據(jù)歷史數(shù)據(jù)估算軟件開(kāi)發(fā)周期是一種比較常見(jiàn)的方法,這種方法以歷史軟件開(kāi)發(fā)周期為依據(jù),在估算時(shí)把當(dāng)前軟件項(xiàng)目的情況與歷史數(shù)據(jù)加以對(duì)比,從而得出最終結(jié)果。按照歷史數(shù)據(jù)估算開(kāi)發(fā)周期準(zhǔn)確度還是相當(dāng)高的,但這種方法只適用于對(duì)某類(lèi)軟件的開(kāi)發(fā),比如某
項(xiàng)目經(jīng)理勝任力免費(fèi)測(cè)評(píng)PMQ上線啦!快來(lái)測(cè)測(cè)你排多少名吧~
http://opto-elec.com.cn/pmqhd/index.html