一、引言
定制軟件開發(fā)的服務(wù)費(fèi)怎么算?項目概算或者說產(chǎn)品定價是多少就是多少?如果換另一個角度問,領(lǐng)導(dǎo)給了個任務(wù),評估一下項目中定制軟件開發(fā)服務(wù)成本或項目利潤,這時候就尷尬了。這期,咱們聊一聊軟件行業(yè)中,定制軟件開發(fā)服務(wù)預(yù)算成本的評估方法。
二、軟件開發(fā)成本組成
根據(jù)《GB/T36964—2018 軟件工程 軟件開發(fā)成本度量規(guī)范》,軟件開發(fā)構(gòu)成分為以下幾種。
其中,人力成本主要為投入的項目成員,包括直接費(fèi)用:參與該項目開發(fā)過程的所有開發(fā)或支持人員,如項目經(jīng)理、需求分析人員、設(shè)計人員、開發(fā)人員、測試人員、部署人員、用戶文檔編寫人員,質(zhì)量保證人員和配置管理人員等;間接費(fèi)用:參與項目的專家費(fèi)、外勞費(fèi)等。
非人力成本包括直接費(fèi)用,如辦公費(fèi)、差旅費(fèi)、培訓(xùn)費(fèi)、業(yè)務(wù)費(fèi)、采購費(fèi)等項目的配套費(fèi)用;間接費(fèi)用,如場地租賃、水電物業(yè)、推廣宣傳、知識產(chǎn)權(quán)專利等圍繞項目所產(chǎn)生的費(fèi)用。
這里主要討論的是軟件開發(fā)所產(chǎn)生的直接人力成本。
二、軟件開發(fā)的度量方法
定制軟件開發(fā)服務(wù)費(fèi)可按照工作量估算法和功能點估算法進(jìn)行估算。
三、工作量估算法
在行業(yè)上普遍應(yīng)用工作量估算法進(jìn)行估算,即組織一批經(jīng)驗豐富的專家、開發(fā)團(tuán)隊,評估每個功能點投入的工作量(人/月),,計算開發(fā)成本。
軟件開發(fā)成本 = 工作量(人/月)*綜合單價(根據(jù)人社部門發(fā)布的本地軟件和信息技術(shù)服務(wù)業(yè)工資水平)*復(fù)用度調(diào)整系數(shù)。
工作量估算法是通過估算軟件項目各細(xì)分可識別模塊所耗費(fèi)的資源進(jìn)行費(fèi)用估算,資源數(shù)包含人力和時間,一般用人天、人月的形式來衡量。系統(tǒng)按子系統(tǒng)、模塊進(jìn)行細(xì)化分層,一般系統(tǒng)分兩層,復(fù)雜系統(tǒng)應(yīng)分三層或更多。測算表如下:
其中,復(fù)用度調(diào)整系數(shù),對功能復(fù)用情況進(jìn)行分析,識別出可復(fù)用的功能及可復(fù)用的程度,并根據(jù)復(fù)用程度對規(guī)模進(jìn)行量化調(diào)整。在預(yù)算階段,新建項目的復(fù)用度調(diào)整系數(shù)默認(rèn)取值為1(復(fù)用度低),根據(jù)實際情況進(jìn)行調(diào)整;在已有軟件系統(tǒng)或功能模塊基礎(chǔ)上進(jìn)行優(yōu)化完善或調(diào)整改造的,復(fù)用度調(diào)整系數(shù)默認(rèn)取值為2/3(復(fù)用度中),根據(jù)實際情況進(jìn)行調(diào)整。
此類評估為工作量估算法由于定價權(quán)大部分出自乙方,相對甲方而言,摻雜主觀性。在過去做過很多軟件咨詢項目中,多多少少有客戶對評估預(yù)算都有一定的爭議。
四、功能點估算法
那如何客觀的、科學(xué)、擺事實的評估軟件開發(fā)服務(wù)成本呢?
功能點估算法,一個國內(nèi)不大眾化的(算法復(fù)雜)、但又具有國際范的、各行業(yè)標(biāo)準(zhǔn)推崇的軟件開發(fā)估算方法。
現(xiàn)在回答前面的問題:在甲方面前,能夠客觀、科學(xué)、擺事實是什么,是數(shù)據(jù)。而功能點方法,是從用戶視角(即業(yè)務(wù)價值)度量軟件的大小,其核心思想是系統(tǒng)維護(hù)的“數(shù)據(jù)”及處理的復(fù)雜程度決定系統(tǒng)價值。從下面的討論的算法和度量方式,也可以看出其圍繞“數(shù)據(jù)”進(jìn)行軟件度量。
目前,應(yīng)用的比較廣泛的是國際功能點用戶組(IFPUG)發(fā)布的標(biāo)準(zhǔn)功能點法和荷蘭軟件度量協(xié)會(NESMA)發(fā)布的快速功能點法。下面,文章圍繞《GB/T36964—2018 軟件工程 軟件開發(fā)成本度量規(guī)范》、國際標(biāo)準(zhǔn)《ISO/IEC20926:2009 軟件與系統(tǒng)工程 軟件測量 IFPUG 功能規(guī)模測量方法2009》、行業(yè)標(biāo)準(zhǔn)《SJ/T11619—2016 軟件工程 功能規(guī)模測量NESMA 方法》、某省《省級政務(wù)信息化服務(wù)預(yù)算編制規(guī)范和標(biāo)準(zhǔn)》、《電子政務(wù)工程造價指導(dǎo)書》進(jìn)行說明。
其具體計算方式為:
定制軟件開發(fā)服務(wù)費(fèi)用=經(jīng)復(fù)用調(diào)整后功能點數(shù)×軟件開發(fā)生產(chǎn)率基準(zhǔn)/人月折算系數(shù)×軟件開發(fā)基準(zhǔn)人月費(fèi)率+直接非人力成本
其梳理成定制軟件開發(fā)服務(wù)費(fèi)測算表格為:
現(xiàn)在對上述公式的計算方式進(jìn)行拆解
4.1未調(diào)整功能點- UFP
我們先來理解一下功能點里面的概念。
ILF:內(nèi)部邏輯文件的數(shù)量,單位是“個”:說人話是,在系統(tǒng)內(nèi)部產(chǎn)生并維護(hù)的一組數(shù)據(jù),可以是數(shù)據(jù)項、數(shù)據(jù)庫表??梢岳斫釯LF為計算內(nèi)部數(shù)據(jù)功能的數(shù)量。
EIF:外部邏輯文件的數(shù)量,單位是“個”:即外部接口文件,在第三方外部系統(tǒng)產(chǎn)生并維護(hù),擬開發(fā)系統(tǒng)進(jìn)行接入與使用的一組數(shù)據(jù),可以是數(shù)據(jù)項、數(shù)據(jù)表、文件等。可以理解EIF為計算外部數(shù)據(jù)功能的數(shù)量
EQ:外部查詢的數(shù)量,單位是“個”:用戶或第三方系統(tǒng)的外部查詢操作,對內(nèi)部數(shù)據(jù)的簡單輸出,例如查詢、排列、篩選等。
EI:外部輸入的數(shù)量,單位是“個”:用戶或第三方系統(tǒng)的外部輸入操作,如增/刪/改、啟動服務(wù)、閾值設(shè)置等
EO:外部輸出的數(shù)量,單位是“個”:針對某業(yè)務(wù)數(shù)據(jù)的復(fù)雜報表/統(tǒng)計分析等(含計算),如報表統(tǒng)計、趨勢分析等。
他們之間的關(guān)系如下:
這里額外提一下未調(diào)整功能點UFP結(jié)合到國內(nèi)本土信息軟件項目推進(jìn)情況,可分為快速功能點估算法與詳細(xì)功能點估算法。
快速功能點估算法用于項目前期的可行性分析、確立項目范圍與標(biāo)的、增加合同談判的依據(jù)、增加項目立項的依據(jù)、項目計劃與跟蹤的基礎(chǔ)以及人員績效考核等場境。
對應(yīng)到上述測算表格,其只要梳理內(nèi)部邏輯文件ILF和外部邏輯ELF的數(shù)量之和即可,UFP計算公式如下:
UFP=35×ILF 15×ELF。
其中35、15參數(shù)可以理解為,ILF數(shù)據(jù)功能包括有3個EI(對應(yīng)添加、修改、刪除)、1個EO(不少于1個統(tǒng)計操作)和1個EQ(查詢),總和為5,按行業(yè)情況取低復(fù)雜度值,即5*7=35;EIF數(shù)據(jù)功能包括1個EO、1個EQ、1個EO,總和為15,按行業(yè)情況取低復(fù)雜度值,即3*5=15。
功能點數(shù)與復(fù)雜度之間的對應(yīng)關(guān)系
詳細(xì)功能點估算法主要用于正式項目開發(fā)過程,評估項目開發(fā)的成本。其有效性和準(zhǔn)確性取決于軟件開發(fā)原始材料,如需求說明書、系統(tǒng)規(guī)格說明書或者軟件需求說明書等。
對應(yīng)上述測算表格,不但需要梳理ILF和ELF,還要梳理EQ、EI、EO等外部操作數(shù)量,UFP計算公式如下:
UFP=10×ILF 7×ELF 4×El 5×EO 4×EQ
在咨詢工作中,接觸的都是項目比較前期的工作,更多使用快速功能點估算法,詳細(xì)功能點不做細(xì)分討論。
4.2 調(diào)整因子取定
按照《電子政務(wù)工程造價指導(dǎo)書》指導(dǎo),計算完未調(diào)整功能點UFP還不夠,還需要通過復(fù)用情況、復(fù)雜情況調(diào)整功能點數(shù),即上述UFP綜合與各調(diào)整因子的乘積。
調(diào)整因子取定包括有
(一)類別調(diào)整因子取定
計算公式如下:
軟件類別調(diào)整因子(SWF)=規(guī)模調(diào)整因子(SF)×應(yīng)用類型調(diào)整因子(AT) ×質(zhì)量特征調(diào)整因子(OR)。
規(guī)模調(diào)整因子(SF):采用快速功能點進(jìn)行項目預(yù)算編制時,規(guī)模調(diào)整因子(SF)取值為1,如后期確需使用規(guī)模調(diào)整因子,取值可參照行業(yè)標(biāo)準(zhǔn)進(jìn)行計算。
應(yīng)用類型調(diào)整因子(AT),根據(jù)項目情況按照下表進(jìn)行取值。
質(zhì)量特征調(diào)整因子(OR):
計算公式為:質(zhì)量特性調(diào)整因子=(分布式處理因子 性能因子 可靠性因子 多重站點因子)×0.025 1。
(二)復(fù)用系數(shù)取定
即復(fù)用度調(diào)整因子(RUF),取值為0~1的任意實數(shù)。提取已開發(fā)軟件中的有效成分,并利用這些成分構(gòu)造新的軟件系統(tǒng)。該項用以評估軟件開發(fā)中的軟件構(gòu)件可以被復(fù)用的程度或范圍。在預(yù)算階段,定制化軟件開發(fā)復(fù)用情況一般取值為1(假設(shè)復(fù)用程度低)。
4.3 軟件開發(fā)生產(chǎn)率基準(zhǔn)
軟件開發(fā)生產(chǎn)率基準(zhǔn)(功能點耗時率(人時/功能點),指一個功能點需要耗費(fèi)的人時,根據(jù)中國軟件行業(yè)基準(zhǔn)數(shù)據(jù),電子政務(wù)領(lǐng)域功能點耗時率取值可參照下表∶
功能點耗時率(PDR)通常取值為6.65。
功能點耗時率(PDR)通常取值為6.65。
4.4 軟件開發(fā)生產(chǎn)率基準(zhǔn)調(diào)整系數(shù)
根據(jù)項目緊急情況,人員投入的時間(如加班、趕工)在0.8~1.2取值,一般默認(rèn)值為1。
4.5 人月折算系數(shù)(HM)。
單位為人時每人月,取值為176,即22(每月按22個工作日計算)×8(每天按8小時工作時間計算)=176。
4.6 軟件開發(fā)基準(zhǔn)人月費(fèi)率
平均人力成本費(fèi)率(F)包括開發(fā)方直接人力成本和間接成本、開發(fā)方毛利潤),但不包括直接非人力成本,單位為元每人月。根據(jù)人社部門發(fā)布的本地軟件和信息技術(shù)服務(wù)業(yè)工資水平、開發(fā)公司每人月投入成本,結(jié)合國內(nèi)軟件行業(yè)基準(zhǔn)數(shù)據(jù)核算。
4.7 直接非人力成本
非人力成本組成如下:
五、功能點評估案例
某單位需要開發(fā)綜合管廊運(yùn)維管理系統(tǒng),以滿足運(yùn)維值班管理、管廊進(jìn)出管理、管廊管線管理、管廊資產(chǎn)管理、管廊巡檢管理等。
按照上述功能點預(yù)算估算方式。首先根據(jù)項目需求梳理并列出該信息系統(tǒng)功能點計數(shù)清單:
根據(jù)項目需求描述,識別內(nèi)部邏輯文件34個,外部接口文件6個。按照快速功能點估算法進(jìn)行計數(shù)如下:
(1)未調(diào)整的功能點數(shù)量(UFP)=35×ILF 15×ELF=35×34 15×6=1280;
(2)經(jīng)過復(fù)用調(diào)整后的功能點數(shù)= UFP*類別調(diào)整因子取定*復(fù)用系數(shù)
①類別調(diào)整因子取定=規(guī)模調(diào)整因子(SF)×應(yīng)用類型調(diào)整因子(AT) ×質(zhì)量特征調(diào)整因子(OR)。即
>>規(guī)模調(diào)整因子(SF)取值為1;
>>應(yīng)用類型調(diào)整因子(AT)對應(yīng)業(yè)務(wù)處理,取值為1.0;
>>質(zhì)量特征調(diào)整因子(OR)根據(jù)對應(yīng)參數(shù)表取值= (分布式處理因子 性能因子 可靠性因子 多重站點因子)×0.025 1=(0 1 0 0)*0.025 1=1.025;
類別調(diào)整因子取定為1.025
②復(fù)用系數(shù)取定為1;
經(jīng)過復(fù)用調(diào)整后的功能點數(shù)=1280×1×1×1.025= 1312
(3)軟件開發(fā)生產(chǎn)率基準(zhǔn)按照政務(wù)領(lǐng)域要求,取P50值6.65;
(4)軟件開發(fā)生產(chǎn)率基準(zhǔn)調(diào)整系數(shù)按照正常進(jìn)度開發(fā),取值1;
(5)人月折算系數(shù)取值為174。
(6)軟件開發(fā)基準(zhǔn)人月費(fèi)率按照某地電子政務(wù)軟件開發(fā)基準(zhǔn)人月2.4萬計算。
(7)直接非人力成本,如差旅、培訓(xùn)、辦公等該項目費(fèi)用,預(yù)估取值為8萬。
定制軟件開發(fā)服務(wù)費(fèi)用=經(jīng)復(fù)用調(diào)整后功能點數(shù)×軟件開發(fā)生產(chǎn)率基準(zhǔn)/人月折算系數(shù)×軟件開發(fā)基準(zhǔn)人月費(fèi)率+直接非人力成本
=1312×6.65×1÷174 2.4 8≈128.34(萬元)
版權(quán)聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻(xiàn),該文觀點僅代表作者本人。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如發(fā)現(xiàn)本站有涉嫌抄襲侵權(quán)/違法違規(guī)的內(nèi)容, 請發(fā)送郵件至 舉報,一經(jīng)查實,本站將立刻刪除。