場景一:合同前的工作量估算
場景描述:
(1)沒有實施過CMMI2級
(2)合同未簽,需要給客戶報價
(3)有客戶的概要需求,有類似的項目數(shù)據(jù)可供參考
(4)需要估計整個項目的總工作量,以便于估算總成本,給客戶報價
估算步驟:
(1)尋找類似的歷史項目,進行項目的類比分析,根據(jù)歷史項目的工作量憑經(jīng)驗估計本項目的總工作量;
(2)進行WBS分解,力所能及地將整個項目的任務進行分解;
(3)參考類似項目的數(shù)據(jù),采用經(jīng)驗法估計WBS中每類活動的工作量;
(4)匯總得到項目的總工作量;
(5)與第(1)步的結果進行印證分析,根據(jù)分析結果,確定估計結果。
場景二:基于詳細需求的經(jīng)驗估計
場景描述:
(1)只有詳細需求,沒有歷史數(shù)據(jù)
估算步驟:
(1)WBS分解,將任務分解到一個人或者一個小團隊可以執(zhí)行的顆粒度;WBS分解時要識別出所有的交付物、項目管理活動、工程活動等。
(2)采用經(jīng)驗法估計每個活動的工作量;
(3)匯總得到:每個階段的工作量、項目的總工作量。
其他說明:
在該場景下,只使用了經(jīng)驗法,無法對結果進行印證,難以判斷結果的合理性。
場景三:由編碼估算整體
場景描述:
(1)有類似項目的歷史數(shù)據(jù)
(2)有編碼活動的生產(chǎn)率數(shù)據(jù)
(3)有詳細需求
(4)實施了CMMI2級,但是沒有積累歷史項目的工作量分布數(shù)據(jù)
估算步驟:
(1)產(chǎn)品分解,將系統(tǒng)分為子系統(tǒng),子系統(tǒng)分解為模塊;
(2)WBS分解,將任務分解到一個人或者一個小團隊可以執(zhí)行的顆粒度;WBS分解時要識別出所有的交付物、項目管理活動、工程活動等。
(3)建立WBS分解中的活動與產(chǎn)品元素的映射關系,識別出WBS中哪些活動可以采用模型法估算;
(4)估計產(chǎn)品元素的規(guī)模,可以采用代碼行法或功能點法,并估計每個產(chǎn)品元素的復雜度、復用率等;
(5)根據(jù)歷史的編碼階段的生產(chǎn)率數(shù)據(jù)和產(chǎn)品元素的規(guī)模估計、復雜度、復用率等采用模型法計算每個產(chǎn)品元素的編碼工作量;
(6)根據(jù)歷史的類似項目的數(shù)據(jù)及估算人的經(jīng)驗估計其他活動的工作量,可以采用經(jīng)驗法。
(7)匯總得到:每個階段的工作量、項目的總工作量。
其他說明:
在該場景下,混合使用了經(jīng)驗法與模型法,這2種方法互相補充,而不是互相印證。
場景四:由總體印證基于WBS的估計
場景描述:
(1)有類似項目的歷史數(shù)據(jù)
(2) 有類似項目的全生命周期的生產(chǎn)率數(shù)據(jù)(含管理工作量)
(3)有詳細需求
(4)實施了CMMI2級,但是沒有積累歷史項目的工作量分布數(shù)據(jù)
估算步驟:
(1)產(chǎn)品分解,將系統(tǒng)分為子系統(tǒng),子系統(tǒng)分解為模塊;
(2)估計產(chǎn)品元素的規(guī)模,可以采用代碼行法或功能點法;
(3)累計出整個產(chǎn)品的總規(guī)模,并估計產(chǎn)品總體的復雜度、復用率等;
(4)根據(jù)類似項目的全生命周期的生產(chǎn)率數(shù)據(jù)和產(chǎn)品的總規(guī)模、復雜度、復用率等采用模型法計算總的開發(fā)工作量;
(5)WBS分解,將任務分解到一個人或者一個小團隊可以執(zhí)行的顆粒度;WBS分解時要識別出所有的交付物、項目管理活動、工程活動等。
(6)根據(jù)歷史的類似項目的數(shù)據(jù)及估算人的經(jīng)驗估計所有活動的工作量,可以采用經(jīng)驗法。
(7)匯總得到:每個階段的工作量、項目的總工作量。
(8)與第(4)步得出的工作量進行比較印證,如果偏差不大,則以第(7)步的結果為準,如果偏差比較大,要仔細分析原因,可能的原因舉例如下:
類似項目的生產(chǎn)率數(shù)據(jù)不適合本項目;
WBS分解的顆粒度不夠詳細;
估算專家的經(jīng)驗不適合本項目;
具體任務的估計不合理;
針對原因,對估算的結果進行調整,使其趨向合理。
其他說明:
在該場景下,對于項目的總工作量有2個結果或者多個結果,這些結果可以互相印證,以發(fā)現(xiàn)估算過程中的不合理之處,是估計更加合理。