用於軟件項目工做量估算的方法有以「估」爲主的專家法和類推法,以「算」爲主的類比法和方程法。在軟件估算的實踐中,類比法和類推法也是廣泛使用的估算方法,但不少人搞不清兩者的應用範圍和估算步驟,如今筆者就對這兩種估算方法作一下詳細介紹。數據庫
一、類比法markdown
類比法是指將本項目的部分屬性與相似的一組基準數據進行比對,進而得到待估算項目工做量、工期或成本估算值的方法。類比法是基於大量歷史項目樣本數據來肯定目標項目的預測值,一般是以50百分位數爲參考而非平均值。選擇類比法進行估算,應根據項目的主要屬性,在基準數據庫中選擇主要屬性相同的項目進行比對。框架
類比法適合評估那些與歷史項目在應用領域、系統規模、環境和複雜度方面類似的項目,經過新項目與歷史項目的比較獲得估計數據。類比法估算結果的精確度取決於歷史項目數據的完整性和準確度。所以,用好類比法的前提條件之一是組織創建起較好的項目後評價與分析機制,對歷史項目的相關屬性創建基線數據。
適用範圍:
當需求極其模糊或不肯定時,若是此時有與本項目相似屬性(如規模、應用類型、複雜度、開發團隊經驗等)的一組基準數據,則可直接採用類比法,充分利用基準數據來估算工做量。類比法能夠在整個項目級上作基準比對,也能夠在子系統級上進行。
估算過程:
1) 肯定待估算項目所具備的屬性特色,如系統的規模、複雜度、應用類型、業務領域、開發人員的經驗和能力等。
2) 查詢歷史數據庫並篩選「最類似」的項目屬性數據。
3) 若是待估算項目屬性與歷史項目的主要屬性相似,則可依據歷史項目的基線數據直接得出待估算項目的工做量合理範圍。
4) 若是同時知足待估算項目主要屬性的歷史項目太少,則可針對待估算項目的每一個屬性與歷史項目相應屬性的基準數據分別比對,再分別計算得出P25/P50/P75的平均值做爲估算值。
5) 通常狀況下,取P50的工做量數據做爲待估算項目工做量最可能的值。
應用示例1:
項目範圍描述:爲某銀行新開發應用駕駛艙項目,以支持金融相關業務數據的圖形化展現和決策分析,如經營指標、績效指標、財務指標、風險指標、監管指標等,使用儀表盤技術,綜合展現現狀及目標完成進度以幫助瞭解目前經營指標是否均衡發展,市場規模是否具備良好發展態勢。
對待估算項目的主要屬性進行識別,分別爲:應用類型(BI)、業務領域(銀行)、新開發項目。
經查詢企業基準數據庫後發現,公司作過55個與待估算項目屬性基本相同的項目。
查詢結果以下:ide
從表中數據可得出待估算的項目最可能的工做量爲3845人時(P50),合理的工做量範圍在3366人時(P25)和4210人時(P75)之間。
應用示例2:
項目範圍描述:爲某集團企業開發一套結算報銷審覈和資產管理系統,以支持該單位的報銷單據的填寫、審覈和審批,並支持固定資產採購的申請、審批和資產的借用、分配和淘汰管理。
對待估算項目的主要屬性進行識別,能夠識別出項目的3個主要屬性是新開發類型、業務領域和應用類型,分別爲「新開發」、「集團企業」、「業務處理」。
經查詢企業基準數據庫後發現,同時符合3個篩選條件的項目只有5個,數量過少,參考價值不大。所以選擇單一屬性分別比對,查詢結果以下:開發
從表中數據可計算出,該項目最可能的工做量爲5238人時,計算方法爲(5500+5240+4975)/3。工做量估算的合理範圍在4744人時和5938人時之間(採用P25和P75的值分別計算平均值)。
二、類推法
類推法是指將本項目的部分屬性與高度相似的一個或幾個已完成項目的數據進行比對,適當調整後得到待估算項目工做量、工期或成本估算值的方法。選擇類推法進行估算,一般只參照1~2個高度相似的項目,同時根據待估算項目與參照項目的差別,進行適當調整。
適用範圍:
1) 當需求極其模糊或不肯定時,較難估算工做量,若是此時具備高度相似的歷史項目,則可直接採用類推法,充分利用歷史項目數據進行估算。
2) 適用評估一些與歷史項目在業務領域、應用類型、環境和複雜度等方面的類似項目,經過新項目與歷史項目的比較進行估計。
3) 該方法估算結果的精確度取決於已完成項目數據的完整性、準確度,以及兩個項目之間的類似度。若是沒有相似的項目,該方法就不能應用。
估算過程:
1) 識別出待估算項目的主要屬性。
2) 查找本組織曾經作過的相似的歷史項目。
3) 對比歷史項目,標記差別點,通過調整後計算出待估算項目的工做量。
應用示例:
如下項目是基於某公司銀行監管報送產品框架,依據人行和銀監會要求的報送制度,作相應的功能定製開發。示例中的甲、乙客戶都屬於城市商業銀行。
項目範圍描述:採用公司自有產品框架,爲乙銀行開發一套知足監管報送制度的系統。銀行業務系統包括核心業務系統和信貸管理系統,監管報送數據來自這兩個系統,通過數據抽取、清洗、彙總後按要求分別上報人行和銀監會。
歷史項目狀況:公司爲甲銀行開發過相似的系統,並已上線運行。經統計,項目開發總工做量爲75人天,其中監管報送部分的工做量爲60人天,行內報表部分的工做量爲15人天,即甲銀行在監管報送業務功能的基礎上,增長了3張行內定製報表。
需求差別:通過對甲、乙客戶項目的分析,確認兩者的應用類型相同,項目複雜度和業務領域相似,而且在監管報送方面的項目範圍相同,但乙銀行對行內報表沒有提出額外的開發要求。
基於以上信息,採用類推法估算乙客戶項目最可能的工做量爲60人天,與甲銀行在監管報送部分的開發工做量相同。
類比法和類推法估算都依賴於項目的歷史數據,類比法要求組織創建基準數據庫,而類推法要求新項目和歷史項目具備高度相似的部分屬性。(本文版權歸北京軟件造價評估技術創新聯盟全部,轉載需標明出處)產品