天天看點

軟體項目成本估算工作量評估:基于場景的軟體早期估算

美國著名的IT咨詢公司——Standish集團,從1996年開始,在每年的報告中都釋出關于項目成功率的統計資訊,在這超過20年的時間内,雖然IT技術以及軟體工程方法日新月異,但IT項目的成功率一直徘徊在40%左右。

為什麼IT這麼難以成功呢?

我們首先要先定義一下:項目“成功”的标準是什麼?

國際上比較普遍的認識——按時,按預算,傳遞客戶滿意的結果。這裡插一句,自從進入了21世紀,項目管理的理論一直都在強調着客戶滿意。

blob.png

仔細分析,這三個特點都與項目的“估算”工作有密切的關系。為了確定項目的成功,我們首先應該精确地進行進度、成本以及客戶期望的估算。

對于軟體項目而言,無論是什麼估算,其基礎都應該是“規模”的估算。也就是要對項目的内容進行“量化”的預估。

在衆多的規模估算的方法中,“功能點方法”既符合ISO标準,也符合我國工信部的标準,應該是一個很好的工具。但是在現實中,無論是美國,還是中國,應用還不是很廣泛。

挑戰

2017年,會迎來IFPUG(國際功能點使用者組)章程釋出30周年的紀念日。盡管已經走過了30年,目前,國際上的專家認為功能點方法正處于“上升突破期”。

在功能點的發明地——美國,還是有很多軟體企業不知道,或者是拒絕使用這套方法。我有一位朋友在美國,在世界第二大ERP公司工作過了十多年,他所在的那個團隊還是在使用傳統的“代碼行”方法進行度量。

在中國的情況也差不多,功能點方法的應用主要還是集中在金融、電信行業中的有先進意識的大中型企業。

IFPUG組織的委員David Herron先生,也在2017年最新一期的發刊詞中感慨:我們是先進的“少數派”。

之是以面臨這樣的“少數派困境”,主要原因就是:1、功能點方法需要投入較多的人力和時間成本;2、需要較高水準的功能點分析專家。

而使用“故事點”和“代碼行”,需要投入的時間、人力成本就低了很多。

但是,也許資訊的成本越低,意味着其自身的價值也不高。

這兩種方法都沒有形成國際标準,又各自有天生的缺陷。代碼行法展現的是成本而非價值,容易造假;故事點法沒有辦法在不同團隊之間進行客觀的比較。

那麼,我們這些“少數派”如何去突破這個“上升期”,如何去撬動這個标準,而又不投入過多的成本?

應對挑戰

國際上有些組織在嘗試“基于場景”的方法(behind the scenes),來解決這個問題,尤其是用來解決業内公認的難題——項目早期估算。

前幾年,國内“萬衆創業”的時代,經常有土豪找到我咨詢——做一個APP需要多少錢?這個問題真是很難回答。

所謂的早期階段,項目可能還沒有真正立項,僅僅是一個概念,一個想法。在這個階段,項目的決策層最渴望資訊——需要投入的人力、物力是多少?進度計劃是多少?

而這個階段,得到這些資訊的基礎往往又很薄弱——隻知道軟體的大概功能範圍;根本達不到需求規格說明(specification)的層級。

在這種情況下,如何快速的進行估算呢?

這裡就可以用到所謂的“基于場景”法——

1、先找到組織或者項目最典型的場景;

2、對其進行功能點計數,建立起功能點字典(功能點樣例);

3、将場景與使用者的業務需求産品,例如:用例(use case)或使用者故事(use story)建立折算關系,得到之間的“換算因子”;

4、在新項目的早期,梳理得出大概的業務需求産品後,就能快速計算出軟體規模。

舉個例子吧——某線下的教育公司X,準備進行“網際網路+”,自己沒有開發人員,需要找到合适的外包團隊。是以在軟體開發項目的初期,在招标之前,迫切希望知道大緻的成本預算。

他們經過分析得出,其所需軟體産品最典型的應用場景就是“課程注冊”、“線上支付”、“線上學習”等等。

然後,找到功能點專家針對這些“場景”建立功能點字典——使用标準的功能點方法進行計數,得到相應個功能點數(FP)。再統計得出,對應此“場景”的用例數(use case),使用者故事數(use story)。

這裡說明一下,X公司中将“使用者故事”定義為“用例”的組成部分、一種細分結構。

經過計算,可以得到下表的轉換因子。

有了這個資料基礎,X公司可以針對新項目進行早期的規模估算——

方案一:

先梳理出新項目的場景數量;用數量乘上相應的轉換因子,以得到粗略的軟體規模結果。

例1:總計10個場景,軟體規模即為1246.7個功能點(FP)。

方案二:

分析出所有場景的“用例”數量,用數量乘上相應的轉換因子,以得到比較精确的軟體規模結果。

例2:分析得出90個用例,軟體規模即為1310.4個FP。

以規模結果為基礎,再去網上查到2016年軟體開發“生産率”的行業資料,就可以得出此項目的工作量。例1的情況,1246.7*7.16=8926人時;大概是50.72個人月。

再以北京地區的人月費率(2.43萬/人月)為例,此新項目的預算即為123.24萬元。來源:北京軟體造價評估聯盟

繼續閱讀