軟件開(kāi)發(fā)成本估算過(guò)程可進(jìn)一步細(xì)分為軟件規(guī)模估算、工作量估算、成本估算和確定軟件開(kāi)發(fā)成本等四個(gè)過(guò)程。其中成本估算需要對(duì)直接人力成本、間接人力成本、間接非人力成本及直接非人力成本分別進(jìn)行估算。
國(guó)家標(biāo)準(zhǔn)《GB/T 36964-2018 軟件工程 軟件開(kāi)發(fā)成本度量規(guī)范》中建議的軟件成本估算基本流程如下圖所示:
軟件開(kāi)發(fā)成本估算基本流程
國(guó)家準(zhǔn)中的四個(gè)估算過(guò)程,層層遞進(jìn),逐步細(xì)化,最終達(dá)到科學(xué)、一致的成本估算。
1.軟件規(guī)模估算
通常情況下,規(guī)模估算是軟件成本估算過(guò)程的起點(diǎn)。估算規(guī)模是后續(xù)計(jì)算軟件項(xiàng)目的工作量、成本和進(jìn)度的主要輸入,是項(xiàng)目范圍管理的關(guān)鍵,因此,在條件允許的情況下,應(yīng)首先進(jìn)行規(guī)模估算。在規(guī)模估算過(guò)程中,需要注意以下情況:
a) 在規(guī)模估算開(kāi)始前,應(yīng)根據(jù)可行性研究報(bào)告或類(lèi)似文檔明確項(xiàng)目需求及系統(tǒng)邊界。項(xiàng)目需求除包含最基本的業(yè)務(wù)需求外,還應(yīng)進(jìn)行初步的子系統(tǒng)/模塊劃分,并對(duì)每一子系統(tǒng)或模塊的基本用戶(hù)需求進(jìn)行說(shuō)明,以保證可以根據(jù)項(xiàng)目需求進(jìn)行規(guī)模預(yù)估。
b) 依據(jù)項(xiàng)目特點(diǎn)和需求詳細(xì)程度不同,通常估算人員在選擇估算方法時(shí)應(yīng)采用納入國(guó)際標(biāo)準(zhǔn)的功能點(diǎn)方法進(jìn)行功能規(guī)模估算,在適用IFPUG或NESMA方法時(shí),可以根據(jù)需求的粒度和管理需要,選擇預(yù)估功能點(diǎn)方法、估算功能點(diǎn)方法或者詳細(xì)功能點(diǎn)方法。
c) 若當(dāng)前的項(xiàng)目需求極其模糊或不確定,可不進(jìn)行規(guī)模估算,而直接采用類(lèi)比法或類(lèi)推法估算工作量和成本。
2.工作量估算
在完成規(guī)模估算后,應(yīng)當(dāng)開(kāi)展工作量估算工作,若當(dāng)前項(xiàng)目未開(kāi)展規(guī)模估算,也可直接啟動(dòng)工作量估算工作。工作量估算時(shí),可采用方程法、類(lèi)比法和類(lèi)推法。
方程法:即基于基準(zhǔn)數(shù)據(jù)建立參數(shù)模型,通過(guò)輸入各項(xiàng)參數(shù),確定估算值。
類(lèi)比法:即將待估算項(xiàng)目的部分屬性與類(lèi)似的一組基準(zhǔn)數(shù)據(jù)進(jìn)行比對(duì),進(jìn)而確定估算值。
類(lèi)推法:即將待估算項(xiàng)目的部分屬性與高度類(lèi)似的一個(gè)或幾個(gè)已完成項(xiàng)目的數(shù)據(jù)進(jìn)行比對(duì),并進(jìn)行適當(dāng)調(diào)整后確定估算值。
在開(kāi)展工作量估算的過(guò)程中,需要注意以下情況:
a) 當(dāng)需求極其模糊或不確定時(shí),如果此時(shí)具有高度類(lèi)似的歷史項(xiàng)目,則可直接采用類(lèi)推法,充分利用歷史項(xiàng)目數(shù)據(jù)來(lái)粗略估算工作量。
b) 當(dāng)需求極其模糊或不確定時(shí),如果此時(shí)具有與本項(xiàng)目部分屬性類(lèi)似的一組基準(zhǔn)數(shù)據(jù),則可直接采用類(lèi)比法,充分利用基準(zhǔn)數(shù)據(jù)來(lái)粗略估算工作量。
c) 對(duì)于規(guī)模估算已經(jīng)開(kāi)展的項(xiàng)目,可采用方程法,通過(guò)輸入各項(xiàng)參數(shù),確定帶估算項(xiàng)目的工作量。若客戶(hù)或高層對(duì)項(xiàng)目的工期有明確的要求時(shí),在采用方程法估算工作量時(shí),工期要求有可能是方程的參數(shù)之一。
d) 為追求估算的準(zhǔn)確性,建議在條件允許的情況下,可采用兩種估算方法,對(duì)估算結(jié)果進(jìn)行交叉驗(yàn)證,若估算結(jié)果差別不大,可直接使用兩種估算結(jié)果的平均值或以某種估算結(jié)果為準(zhǔn),若差別較大,需進(jìn)行差異分析。
e) 工作量的估算結(jié)果宜為一個(gè)范圍而不是單一的值。
3.成本估算
在獲得了工作量估算結(jié)果后,可采用科學(xué)的方法進(jìn)行成本估算。在成本估算過(guò)程中,應(yīng)需要注意的情況:
a) 類(lèi)比法和類(lèi)推法,同樣適用于需求極其模糊或不確定時(shí)的成本估算;
b) 間接成本是否與工作量估算結(jié)果相關(guān)取決于間接成本分?jǐn)傆?jì)算方式。在絕大多數(shù)組織,項(xiàng)目周期越長(zhǎng),項(xiàng)目組成員越多,其分?jǐn)偟拈g接成本就越高,此事項(xiàng)目的間接成本與工作量估算結(jié)果直接相關(guān);
c) 直接非人力成本通常與工作量估算結(jié)果無(wú)關(guān),宜單獨(dú)分項(xiàng)測(cè)算;
d) 成本估算結(jié)果,也通常為一個(gè)范圍,而不是單一的值。
4.確定軟件開(kāi)發(fā)成本
在《軟件工程 軟件開(kāi)發(fā)成本度量規(guī)范》中,將軟件開(kāi)發(fā)成本分為四類(lèi),主要是為便于對(duì)成本構(gòu)成(即哪些成本屬于開(kāi)發(fā)成本,哪些不屬于開(kāi)發(fā)成本)進(jìn)行清晰界定。而在實(shí)際確定軟件開(kāi)發(fā)成本時(shí),通常并不是分別測(cè)定4類(lèi)成本,加和后獲得總成本,而是通常采用以下兩種方式確定總成本:
a) 根據(jù)人力成本費(fèi)率及工作量估算直接人力成本和間接成本之和,再加上直接非人力成本,獲得總成本;
b) 根據(jù)規(guī)模綜合單價(jià)和軟件規(guī)模,測(cè)算出直接人力成本和間接成本之和,再加上直接非人力成本,獲得總成本。
在進(jìn)行軟件的規(guī)模、工作量、成本估算時(shí)應(yīng)遵循以下原則:
a) 在規(guī)模估算時(shí),應(yīng)根據(jù)項(xiàng)目特點(diǎn)和需求的詳細(xì)程度選擇合適的估算方法;
b) 充分利用基準(zhǔn)數(shù)據(jù),采用方程法、類(lèi)比法或類(lèi)推法,對(duì)工作量和成本進(jìn)行估算;
c) 工作量和成本的估算結(jié)果宜為一個(gè)范圍值;
d) 在進(jìn)行成本估算時(shí),如有明確的工期要求,應(yīng)充分考慮工期對(duì)項(xiàng)目成本的影響,可以根據(jù)項(xiàng)目實(shí)際情況以及工期對(duì)項(xiàng)目的影響程度,對(duì)成本的估算結(jié)果進(jìn)行調(diào)整;
e) 成本估算過(guò)程中宜采用不同的方法分別估算并進(jìn)行交叉驗(yàn)證。如果不同方法的估算結(jié)果產(chǎn)生較大差異,可采用專(zhuān)家評(píng)審方法確定估算結(jié)果,也可使用較簡(jiǎn)單的加權(quán)平均方法;
f) 在軟件項(xiàng)目的不同場(chǎng)景下(如預(yù)算、招投標(biāo)、項(xiàng)目計(jì)劃和變更管理等)采用國(guó)家標(biāo)準(zhǔn)時(shí),相關(guān)要求見(jiàn)國(guó)家標(biāo)準(zhǔn)中附錄A。
除了上述主要原則外,我們還需注意在使用基準(zhǔn)數(shù)據(jù)時(shí):
a) 對(duì)于委托方和第三方,建議使用或參考行業(yè)基準(zhǔn)數(shù)據(jù)(由北京軟件造價(jià)評(píng)估技術(shù)創(chuàng)新聯(lián)盟每年發(fā)布的年度軟件行業(yè)基準(zhǔn)數(shù)據(jù)分析報(bào)告基于CSBMK®基準(zhǔn)數(shù)據(jù)庫(kù)的數(shù)據(jù)分析結(jié)果,該基準(zhǔn)數(shù)據(jù)庫(kù)是當(dāng)前國(guó)內(nèi)規(guī)模最大的行業(yè)基準(zhǔn)數(shù)據(jù)庫(kù))進(jìn)行估算。估算模型的調(diào)整因子的增減或取值有可能隨著行業(yè)基準(zhǔn)數(shù)據(jù)的變化而變化。
b) 對(duì)于開(kāi)發(fā)方,在引入行業(yè)基準(zhǔn)數(shù)據(jù)的基礎(chǔ)上,可逐步建立組織級(jí)基準(zhǔn)數(shù)據(jù)庫(kù),以提高估算精度。組織級(jí)基準(zhǔn)數(shù)據(jù)定義應(yīng)與行業(yè)基準(zhǔn)數(shù)據(jù)定義保持一致,以便于與行業(yè)基準(zhǔn)數(shù)據(jù)進(jìn)行比對(duì)分析,并持續(xù)提升組織能力。
以上就是軟件造價(jià)評(píng)估公司中基數(shù)聯(lián)為您帶來(lái)的“軟件項(xiàng)目的規(guī)模、工作量和成本是如何進(jìn)行估算或評(píng)估的?”所有內(nèi)容,更多軟件開(kāi)發(fā)成本估算知識(shí)敬請(qǐng)關(guān)注中基數(shù)聯(lián)!