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