七種場景下的軟體工作量估算步驟
場景一:合同前的工作量估算
場景描述:
(1)沒有實施過CMMI2級
(2)合同未籤,需要給客戶報價
(3)有客戶的概要需求,有類似的專案資料可供參考
(4)需要估計整個專案的總工作量,以便於估算總成本,給客戶報價
估算步驟:
(1)尋找類似的歷史專案,進行專案的類比分析,根據歷史專案的工作量憑經驗估計本專案的總工作量;
(2)進行WBS分解,力所能及地將整個專案的任務進行分解;
(3)參考類似專案的資料,採用經驗法估計WBS中每類活動的工作量;
(4)彙總得到專案的總工作量;
(5)與第(1)步的結果進行印證分析,根據分析結果,確定估計結果。
場景二:基於詳細需求的經驗估計
場景描述:
(1)只有詳細需求,沒有歷史資料
估算步驟:
(1)WBS分解,將任務分解到一個人或者一個小團隊可以執行的顆粒度;WBS分解時要識別出所有的交付物、專案管理活動、工程活動等。
(2)採用經驗法估計每個活動的工作量;
(3)彙總得到:每個階段的工作量、專案的總工作量。
其他說明:
在該場景下,只使用了經驗法,無法對結果進行印證,難以判斷結果的合理性。
場景三:由編碼估算整體
場景描述:
(1)有類似專案的歷史資料
(2)有編碼活動的生產率資料
(3)有詳細需求
(4)實施了CMMI2級,但是沒有積累歷史專案的工作量分佈資料
估算步驟:
(1)產品分解,將系統分為子系統,子系統分解為模組;
(2)WBS分解,將任務分解到一個人或者一個小團隊可以執行的顆粒度;WBS分解時要識別出所有的交付物、專案管理活動、工程活動等。
(3)建立WBS分解中的活動與產品元素的對映關係,識別出WBS中哪些活動可以採用模型法估算;
(4)估計產品元素的規模,可以採用程式碼行法或功能點法,並估計每個產品元素的複雜度、複用率等;
(5)根據歷史的編碼階段的生產率資料和產品元素的規模估計、複雜度、複用率等採用模型法計算每個產品元素的編碼工作量;
(6)根據歷史的類似專案的資料及估算人的經驗估計其他活動的工作量,可以採用經驗法。
(7)彙總得到:每個階段的工作量、專案的總工作量。
其他說明:
在該場景下,混合使用了經驗法與模型法,這2種方法互相補充,而不是互相印證。
場景四:由總體印證基於WBS的估計
場景描述:
(1)有類似專案的歷史資料
(2) 有類似專案的全生命週期的生產率資料(含管理工作量)
(3)有詳細需求
(4)實施了CMMI2級,但是沒有積累歷史專案的工作量分佈資料
估算步驟:
(1)產品分解,將系統分為子系統,子系統分解為模組;
(2)估計產品元素的規模,可以採用程式碼行法或功能點法;
(3)累計出整個產品的總規模,並估計產品總體的複雜度、複用率等;
(4)根據類似專案的全生命週期的生產率資料和產品的總規模、複雜度、複用率等採用模型法計算總的開發工作量;
(5)WBS分解,將任務分解到一個人或者一個小團隊可以執行的顆粒度;WBS分解時要識別出所有的交付物、專案管理活動、工程活動等。
(6)根據歷史的類似專案的資料及估算人的經驗估計所有活動的工作量,可以採用經驗法。
(7)彙總得到:每個階段的工作量、專案的總工作量。
(8)與第(4)步得出的工作量進行比較印證,如果偏差不大,則以第(7)步的結果為準,如果偏差比較大,要仔細分析原因,可能的原因舉例如下:
類似專案的生產率資料不適合本專案;
WBS分解的顆粒度不夠詳細;
估算專家的經驗不適合本專案;
具體任務的估計不合理;
針對原因,對估算的結果進行調整,使其趨向合理。
其他說明:
在該場景下,對於專案的總工作量有2個結果或者多個結果,這些結果可以互相印證,以發現估算過程中的不合理之處,是估計更加合理。
場景五:三維印證基於WBS的估計
場景描述:
(1)有類似專案的歷史資料
(2) 有類似專案的全生命週期的生產率資料(含管理工作量)
(3)有詳細需求
(4)實施了CMMI3級,有歷史專案的工作量分佈資料(階段分佈、工種分佈)
估算步驟:
(1)產品分解,將系統分為子系統,子系統分解為模組;
(2)估計產品元素的規模,可以採用程式碼行法或功能點法;
(3)累計出整個產品的總規模,並估計產品總體的複雜度、複用率等;
(4)根據類似專案的全生命週期的生產率資料和產品的總規模、複雜度、複用率等採用模型法計算總的開發工作量;
(5)根據歷史專案的工作量分佈資料及第(4)步估算的專案總工作量,計算:
(7)根據歷史的類似專案的資料及估算人的經驗估計所有活動的工作量,可以採用經驗法。
(8)彙總得到:每個階段的工作量、每個工種的工作量、專案的總工作量。
(9)與第(4)、(5)步得出的工作量進行比較印證,如果偏差不大,則以第(7)步的結果為準,如果偏差比較大,要仔細分析原因,可能的原因舉例如下:
類似專案的生產率資料不適合本專案;
WBS分解的顆粒度不夠詳細;
估算專家的經驗不適合本專案;
具體任務的估計不合理;
針對原因,對估算的結果進行調整,使其趨向合理。
其他說明:
在該場景下,對於專案的總工作量有2個結果或者多個結果,並且採用2種方法都得到了每個階段、每個工種的工作量、專案的總工作量,可以從上述的3個維度對這些結果進行互相印證,以發現估算過程中的不合理之處,是估計更加合理。
場景六:四維印證基於WBS的估計
場景描述:
(1)有類似專案的歷史資料
(2) 有類似專案的編碼活動的生產率資料(不含管理工作量)
(3)有詳細需求
(4)實施了CMMI3級,有歷史專案的工作量分佈資料(階段分佈、工種分佈、階段工種分佈)
(5)專案採用了瀑布模型
估算步驟:
(1)產品分解,將系統分為子系統,子系統分解為模組;
(2)估計產品元素的規模,可以採用程式碼行法或功能點法,並估計每個產品元素的複雜度、複用率等;
(3)根據類似專案的編碼活動的生產率資料和產品元素的規模、複雜度、複用率等採用模型法計算每個產品元素的編碼工作量;
(4)根據歷史專案的按工種的工作量分佈資料及第(3)步的估算的編碼工作量依次計算:
i)根據歷史專案的編碼的工作量佔編碼階段的工作量的百分比與第(3)部計算出的編碼工作量計算編碼階段的總工作量;
ii)根據歷史專案的編碼階段各工種的工作量分佈百分比計算編碼階段每個工種的工作量;
iii)根據歷史專案的其他階段的工作量與編碼階段的工作量比例計算其他階段的總工作量;
iv)根據歷史專案的其他階段的每個工種的工作量分佈百分比及第iii)步的結果計算其他階段的每個工種的工作量;
(5)WBS分解,將任務分解到一個人或者一個小團隊可以執行的顆粒度;WBS分解時要識別出所有的交付物、專案管理活動、工程活動等。
(6)根據歷史的類似專案的資料及估算人的經驗估計所有活動的工作量,可以採用經驗法。
(7)彙總得到:每個階段每個工種的工作量、每個階段的工作量、每個工種的工作量、專案的總工作量。
(8)與第(4)步得出的工作量進行比較印證,如果偏差不大,則以第(6)步的結果為準,如果偏差比較大,要仔細分析原因,可能的原因舉例如下:
類似專案的生產率資料不適合本專案;
WBS分解的顆粒度不夠詳細;
估算專家的經驗不適合本專案;
具體任務的估計不合理;
針對原因,對估算的結果進行調整,使其趨向合理。
其他說明:
在該場景下,對於專案的總工作量有2個結果或者多個結果,並且採用2種方法都得到了每個階段的工作量、每個工種的工作量、每個階段每個工種的工作量、專案的總工作量,可以從上述的4個維度對這些結果進行互相印證,以發現估算過程中的不合理之處,是估計更加合理。
場景七:需求變更的工作量估計
場景描述:
(1)有變更的需求描述
(2)專案進行到了編碼階段
(3)有本專案的編碼的生產率
估算步驟:
(1)進行需求變更的波及範圍分析
(2)進行本次變更的的WBS分解
(3)對於變更引起的程式碼變化進行規模、複雜度等其他屬性的估計
(4)根據本專案的編碼的生產率及估計的規模採用模型法估計工作量
(5)對於WBS分解中其他活動進行經驗估計
(6)彙總所有的工作量得到本次變更的工作量估計
場景描述:
(1)沒有實施過CMMI2級
(2)合同未籤,需要給客戶報價
(3)有客戶的概要需求,有類似的專案資料可供參考
(4)需要估計整個專案的總工作量,以便於估算總成本,給客戶報價
估算步驟:
(1)尋找類似的歷史專案,進行專案的類比分析,根據歷史專案的工作量憑經驗估計本專案的總工作量;
(2)進行WBS分解,力所能及地將整個專案的任務進行分解;
(3)參考類似專案的資料,採用經驗法估計WBS中每類活動的工作量;
(4)彙總得到專案的總工作量;
(5)與第(1)步的結果進行印證分析,根據分析結果,確定估計結果。
場景二:基於詳細需求的經驗估計
場景描述:
(1)只有詳細需求,沒有歷史資料
估算步驟:
(1)WBS分解,將任務分解到一個人或者一個小團隊可以執行的顆粒度;WBS分解時要識別出所有的交付物、專案管理活動、工程活動等。
(2)採用經驗法估計每個活動的工作量;
(3)彙總得到:每個階段的工作量、專案的總工作量。
其他說明:
在該場景下,只使用了經驗法,無法對結果進行印證,難以判斷結果的合理性。
場景三:由編碼估算整體
場景描述:
(1)有類似專案的歷史資料
(2)有編碼活動的生產率資料
(3)有詳細需求
(4)實施了CMMI2級,但是沒有積累歷史專案的工作量分佈資料
估算步驟:
(1)產品分解,將系統分為子系統,子系統分解為模組;
(2)WBS分解,將任務分解到一個人或者一個小團隊可以執行的顆粒度;WBS分解時要識別出所有的交付物、專案管理活動、工程活動等。
(3)建立WBS分解中的活動與產品元素的對映關係,識別出WBS中哪些活動可以採用模型法估算;
(4)估計產品元素的規模,可以採用程式碼行法或功能點法,並估計每個產品元素的複雜度、複用率等;
(5)根據歷史的編碼階段的生產率資料和產品元素的規模估計、複雜度、複用率等採用模型法計算每個產品元素的編碼工作量;
(6)根據歷史的類似專案的資料及估算人的經驗估計其他活動的工作量,可以採用經驗法。
(7)彙總得到:每個階段的工作量、專案的總工作量。
其他說明:
在該場景下,混合使用了經驗法與模型法,這2種方法互相補充,而不是互相印證。
場景四:由總體印證基於WBS的估計
場景描述:
(1)有類似專案的歷史資料
(2) 有類似專案的全生命週期的生產率資料(含管理工作量)
(3)有詳細需求
(4)實施了CMMI2級,但是沒有積累歷史專案的工作量分佈資料
估算步驟:
(1)產品分解,將系統分為子系統,子系統分解為模組;
(2)估計產品元素的規模,可以採用程式碼行法或功能點法;
(3)累計出整個產品的總規模,並估計產品總體的複雜度、複用率等;
(4)根據類似專案的全生命週期的生產率資料和產品的總規模、複雜度、複用率等採用模型法計算總的開發工作量;
(5)WBS分解,將任務分解到一個人或者一個小團隊可以執行的顆粒度;WBS分解時要識別出所有的交付物、專案管理活動、工程活動等。
(6)根據歷史的類似專案的資料及估算人的經驗估計所有活動的工作量,可以採用經驗法。
(7)彙總得到:每個階段的工作量、專案的總工作量。
(8)與第(4)步得出的工作量進行比較印證,如果偏差不大,則以第(7)步的結果為準,如果偏差比較大,要仔細分析原因,可能的原因舉例如下:
類似專案的生產率資料不適合本專案;
WBS分解的顆粒度不夠詳細;
估算專家的經驗不適合本專案;
具體任務的估計不合理;
針對原因,對估算的結果進行調整,使其趨向合理。
其他說明:
在該場景下,對於專案的總工作量有2個結果或者多個結果,這些結果可以互相印證,以發現估算過程中的不合理之處,是估計更加合理。
場景五:三維印證基於WBS的估計
場景描述:
(1)有類似專案的歷史資料
(2) 有類似專案的全生命週期的生產率資料(含管理工作量)
(3)有詳細需求
(4)實施了CMMI3級,有歷史專案的工作量分佈資料(階段分佈、工種分佈)
估算步驟:
(1)產品分解,將系統分為子系統,子系統分解為模組;
(2)估計產品元素的規模,可以採用程式碼行法或功能點法;
(3)累計出整個產品的總規模,並估計產品總體的複雜度、複用率等;
(4)根據類似專案的全生命週期的生產率資料和產品的總規模、複雜度、複用率等採用模型法計算總的開發工作量;
(5)根據歷史專案的工作量分佈資料及第(4)步估算的專案總工作量,計算:
- 每個階段的工作量
- 每個工種的工作量
(7)根據歷史的類似專案的資料及估算人的經驗估計所有活動的工作量,可以採用經驗法。
(8)彙總得到:每個階段的工作量、每個工種的工作量、專案的總工作量。
(9)與第(4)、(5)步得出的工作量進行比較印證,如果偏差不大,則以第(7)步的結果為準,如果偏差比較大,要仔細分析原因,可能的原因舉例如下:
類似專案的生產率資料不適合本專案;
WBS分解的顆粒度不夠詳細;
估算專家的經驗不適合本專案;
具體任務的估計不合理;
針對原因,對估算的結果進行調整,使其趨向合理。
其他說明:
在該場景下,對於專案的總工作量有2個結果或者多個結果,並且採用2種方法都得到了每個階段、每個工種的工作量、專案的總工作量,可以從上述的3個維度對這些結果進行互相印證,以發現估算過程中的不合理之處,是估計更加合理。
場景六:四維印證基於WBS的估計
場景描述:
(1)有類似專案的歷史資料
(2) 有類似專案的編碼活動的生產率資料(不含管理工作量)
(3)有詳細需求
(4)實施了CMMI3級,有歷史專案的工作量分佈資料(階段分佈、工種分佈、階段工種分佈)
(5)專案採用了瀑布模型
估算步驟:
(1)產品分解,將系統分為子系統,子系統分解為模組;
(2)估計產品元素的規模,可以採用程式碼行法或功能點法,並估計每個產品元素的複雜度、複用率等;
(3)根據類似專案的編碼活動的生產率資料和產品元素的規模、複雜度、複用率等採用模型法計算每個產品元素的編碼工作量;
(4)根據歷史專案的按工種的工作量分佈資料及第(3)步的估算的編碼工作量依次計算:
i)根據歷史專案的編碼的工作量佔編碼階段的工作量的百分比與第(3)部計算出的編碼工作量計算編碼階段的總工作量;
ii)根據歷史專案的編碼階段各工種的工作量分佈百分比計算編碼階段每個工種的工作量;
iii)根據歷史專案的其他階段的工作量與編碼階段的工作量比例計算其他階段的總工作量;
iv)根據歷史專案的其他階段的每個工種的工作量分佈百分比及第iii)步的結果計算其他階段的每個工種的工作量;
(5)WBS分解,將任務分解到一個人或者一個小團隊可以執行的顆粒度;WBS分解時要識別出所有的交付物、專案管理活動、工程活動等。
(6)根據歷史的類似專案的資料及估算人的經驗估計所有活動的工作量,可以採用經驗法。
(7)彙總得到:每個階段每個工種的工作量、每個階段的工作量、每個工種的工作量、專案的總工作量。
(8)與第(4)步得出的工作量進行比較印證,如果偏差不大,則以第(6)步的結果為準,如果偏差比較大,要仔細分析原因,可能的原因舉例如下:
類似專案的生產率資料不適合本專案;
WBS分解的顆粒度不夠詳細;
估算專家的經驗不適合本專案;
具體任務的估計不合理;
針對原因,對估算的結果進行調整,使其趨向合理。
其他說明:
在該場景下,對於專案的總工作量有2個結果或者多個結果,並且採用2種方法都得到了每個階段的工作量、每個工種的工作量、每個階段每個工種的工作量、專案的總工作量,可以從上述的4個維度對這些結果進行互相印證,以發現估算過程中的不合理之處,是估計更加合理。
場景七:需求變更的工作量估計
場景描述:
(1)有變更的需求描述
(2)專案進行到了編碼階段
(3)有本專案的編碼的生產率
估算步驟:
(1)進行需求變更的波及範圍分析
(2)進行本次變更的的WBS分解
(3)對於變更引起的程式碼變化進行規模、複雜度等其他屬性的估計
(4)根據本專案的編碼的生產率及估計的規模採用模型法估計工作量
(5)對於WBS分解中其他活動進行經驗估計
(6)彙總所有的工作量得到本次變更的工作量估計
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/14780828/viewspace-621755/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 軟體工程估算的技巧 - shubhro軟體工程
- 搭建高效雲的七個步驟
- jdk、tomcat、mysql軟體的安裝步驟JDKTomcatMySql
- 架構:軟體成本估算架構
- 訊息佇列的七種經典應用場景佇列
- ThottleStop 軟體的應用場景
- 5個非常良心好用的軟體工具,適合各種場景
- 企業運維軟體的選型步驟運維
- win10如何攔截各種軟體的廣告彈窗_win10阻止各種軟體廣告視窗的步驟Win10
- 訊息中介軟體的應用場景
- 訊息中介軟體 — 使用場景
- 分享淘寶採集商家電話軟體的步驟
- 思邁特軟體Smartbi:資料探勘的基本步驟
- 【軟體硬體】相機標定(Camera calibration)原理、步驟
- ArgoWorkflow教程(七)---高效的步驟間檔案共享策略Go
- 軟體結構設計,具體分為幾個步驟?
- 用友財務軟體資料庫恢復步驟資料庫
- 軟體效能測試方法及步驟分享,權威的軟體測試公司有哪些?
- 軟體產品安全測試,保障軟體產品質量的關鍵性步驟
- 如何應對軟體開發中的估算問題?
- 詳解 Go 空結構體的 3 種使用場景Go結構體
- 短影片軟體開發的多種應用場景,短影片是如何風靡全球的
- iOS framework的具體合成步驟iOSFramework
- vnc安裝步驟,4個在Linux下vnc的個安裝步驟VNCLinux
- 企業網站建設的七大步驟網站
- 安全強化你的 Linux 伺服器的七個步驟Linux伺服器
- LINUX下ORACLE增量備份的步驟LinuxOracle
- 如何學好數學?七個步驟拿高分!
- ubuntu 下安裝nginx步驟UbuntuNginx
- linux下安裝docker步驟LinuxDocker
- 雙十一雲起實驗室體驗專場,七大場景,體驗有禮
- 專案經理如何有效地進行專案工作量估算?
- RISmed軟體包的使用(碰到EUtilsGet()步驟報錯,暫未解決)
- hackathon 覆盤:niche 海外軟體工具正確的方法 6 個步驟
- 軟體測試團隊對產品驗收的三步驟
- 直播軟體開發關於Android、iOS中的影片採集步驟AndroidiOS
- 區塊鏈直銷軟體開發搭建步驟詳解區塊鏈
- Linux下軟體包的多種安裝方式Linux
- vnc安裝步驟,如何在Linux(CentOS 7)下vnc安裝步驟VNCLinuxCentOS