Cone of Uncertainty,不確定性圓錐,是一個概念模型,用來描述在專案的不同階段中,對於時間和成本預估的不確定性如何隨著專案進展而逐漸減少。在專案開始時,不確定性最大,隨著專案進行,獲得更多的資訊和經驗,預估的準確性會逐漸提高。
不確定性圓錐的階段
- 初始概念階段:此時對專案需求和範疇的理解非常有限,不確定性最大,預估的範圍可能會有非常大的變動。
- 需求分析階段:需求逐漸明確,不確定性開始減少,但仍存在相當大的變數。
- 設計階段:具體的設計方案確立後,不確定性進一步減少,預估更為準確。
- 開發階段:在編碼和測試的過程中,實際數據和進展情況不斷被驗證,不確定性持續減少。
- 測試階段:大部分功能已實現,測試和修正階段的不確定性最小。
- 部署和維護階段:專案進入維護階段時,所有主要功能已實現,不確定性非常小。
在各階段運用不確定性圓錐來選擇適用的預估方法
-
初始概念階段
- 適用方法:類比估算(Analogous Estimation)、專家判斷(Expert Judgment)
- 說明:由於此時缺乏具體數據,可以依賴過去類似專案的經驗進行估算。
-
需求分析階段
- 適用方法:粗略點數估算(Rough Order of Magnitude, ROM)、三點估算(Three-Point Estimation)
- 說明:在需求逐漸明確的情況下,可以使用更精確的估算方法,通過考慮最樂觀、最悲觀和最可能的情境來進行預估。
-
設計階段
- 適用方法:功能點分析(Function Point Analysis)、用例點估算(Use Case Points)
- 說明:設計方案確定後,使用基於功能和用例的定量方法來提高預估的精確性。
-
開發階段
- 適用方法:漸進式估算(Rolling Wave Planning)、自下而上估算(Bottom-Up Estimation)
- 說明:開發階段的不確定性逐步減少,可以通過更詳細的工作分解結構(WBS)進行精細化估算。
-
測試階段
- 適用方法:基於測試結果的估算(Estimation Based on Test Results)、增量交付估算(Incremental Delivery Estimation)
- 說明:測試過程中可以根據實際測試數據和進度進行精確的預估,並對剩餘工作量進行調整。
-
部署和維護階段
- 適用方法:歷史數據分析(Historical Data Analysis)、經驗估算(Experience-Based Estimation)
- 說明:此時所有主要工作已完成,預估主要集中在維護和潛在的改進,依賴過去的數據和經驗進行。