p; 人力資源對(duì)估算的影響表現(xiàn)在技術(shù)水平、理解能力、溝通能力等幾個(gè)方面,編程水平的高低、速度的快慢、能否適應(yīng)團(tuán)隊(duì)、能否與各成員保持良好的溝通都會(huì)對(duì)開發(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%這樣的比例。
軟件開發(fā)周期估算前,應(yīng)對(duì)開發(fā)人員定級(jí),建議按新手、初級(jí)程序員、中級(jí)程序員、高級(jí)程序員來(lái)劃分,每一級(jí)人員再評(píng)定上述三個(gè)因素,初次估算時(shí)可以假定開發(fā)人員為中級(jí)程序員,然后依據(jù)項(xiàng)目組實(shí)際人員的水平做修正,這樣結(jié)果的精確度能大大提高。
2.3估算與項(xiàng)目風(fēng)險(xiǎn)
任何一個(gè)項(xiàng)目都或多或少存在風(fēng)險(xiǎn),軟件項(xiàng)目開發(fā)過(guò)程中也避免不了這種情況而且有這類項(xiàng)目自己的特點(diǎn),最常見的風(fēng)險(xiǎn)有以下幾種:技術(shù)風(fēng)險(xiǎn),項(xiàng)目技術(shù)難度很大,花費(fèi)的時(shí)間超過(guò)原先的估計(jì);客戶風(fēng)險(xiǎn),客戶需求不定,增加需求,組織協(xié)調(diào)不暢;人員風(fēng)險(xiǎn),開發(fā)人員突然更換、離職;管理風(fēng)險(xiǎn),項(xiàng)目經(jīng)理管理不善、決策失誤。對(duì)于風(fēng)險(xiǎn)控制,在項(xiàng)目管理中通常是提前做風(fēng)險(xiǎn)分析和預(yù)測(cè),制定風(fēng)險(xiǎn)應(yīng)對(duì)措施,這樣在風(fēng)險(xiǎn)真的來(lái)臨時(shí)不至于措手不及,提高整個(gè)項(xiàng)目的可控性。
軟件項(xiàng)目的潛在風(fēng)險(xiǎn)對(duì)于開發(fā)周期的影響在很多情況下是非常大的,當(dāng)然好的項(xiàng)目控制會(huì)最大限度的減少這種影響,絕對(duì)避免是不可能的,所以在開發(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)品,定制開發(fā)的技術(shù)風(fēng)險(xiǎn)相對(duì)非常小,因?yàn)橹匾募夹g(shù)已經(jīng)成型,客戶也很少有新的能帶來(lái)高難度技術(shù)問(wèn)題的需求,這種風(fēng)險(xiǎn)可以不予考慮。但是對(duì)于完全重新開發(fā)的項(xiàng)目,或是研發(fā)類的項(xiàng)目,技術(shù)風(fēng)險(xiǎn)必須特別重視,其中應(yīng)該考慮的細(xì)節(jié)主要包括下面幾個(gè)。
開發(fā)平臺(tái),是否能適合本項(xiàng)目所涉及的軟件開發(fā)、能否滿足最終的需求,平臺(tái)的錯(cuò)誤選擇將導(dǎo)致龐大的開發(fā)工作量,即便滿足了用戶需求也可能造成系統(tǒng)效率低下,擴(kuò)展性差的致命問(wèn)題,軟件可能會(huì)很快被淘汰。功能實(shí)現(xiàn)難度,在切實(shí)了解需求的基礎(chǔ)上要仔細(xì)分析采用的開發(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)歷開發(fā)的項(xiàng)目中,80%的項(xiàng)目延期屬于客戶方的原因,而且這種風(fēng)險(xiǎn)可控性很低,對(duì)項(xiàng)目影響超過(guò)技術(shù)風(fēng)險(xiǎn)。在開發(fā)周期估算前,項(xiàng)目經(jīng)理要仔細(xì)分析客戶的具體狀況,包括客戶的計(jì)算機(jī)水平、管理水平、可溝通程度,在此基礎(chǔ)上結(jié)合以往的經(jīng)驗(yàn)綜合判斷是否會(huì)對(duì)開發(fā)帶來(lái)明顯的影響,可以按照上述的技術(shù)風(fēng)險(xiǎn)的方式將客戶分級(jí),最終確定開發(fā)周期。在這個(gè)過(guò)程中,項(xiàng)目