- 軟件項目估算
- (美)阿蘭·阿布蘭
- 1227字
- 2020-06-02 15:42:08
前言
項目估算不僅對大多數軟件企業是一項挑戰,而且對他們的客戶也是一件非常頭疼的事情,因為客戶需要承受項目嚴重超支、進度延遲、軟件功能沒有達到預期以及質量問題等多方面風險。
目前的軟件估算水平是否比40年前有提高呢?目前的估算模型是否更好用呢?
在這段時間里,軟件估算方面一成不變的是什么?
·全世界的項目經理(以及他們的組員)都被寄予厚望,期望能滿足基于模糊的需求而設定的預算目標和項目完工時間。
·研究人員繼續開發越來越復雜的估算模型和方法,以達到“準確”估算的目的。
·盡管我們可以通過軟件估算工具供應商獲得商業工具,或在網絡中獲得免費的估算工具,但是幾乎沒有文檔化的證據說明這些工具在已完工項目中的使用效果。
40年來,關于軟件估算的書籍和工具層出不窮,提出了很多解決方案(估算工具、模型、技術)以應對軟件估算帶來的挑戰。
·但是這些解決方案的有效性到底如何呢?
·有哪些可用的知識能評價這些估算工具的有效性呢?
項目經理對他們的估算過程的質量、市場上的估算工具的性能了解多少呢?通常并不多!然而,管理層還是會根據這些估算工具提供的結果進行很多決策活動。
在估算中,軟件估算人員和管理者分別扮演著不同的角色。
·軟件估算人員的角色不是承諾發生奇跡,而是要提供優質的、合理的技術信息,上下文環境以及對結果的解讀,即估算人員需要向管理者提交信息以支持決策的制定。
·而管理者需要根據這些信息,選擇和分配項目預算,并且管理相關的風險:管理者的角色是在項目進行過程中承擔風險并管理風險。
當一個組織已經收集了自己的數據并且有能力來分析數據、記錄估算模型質量時,該組織便具備了以下兩個優勢:
·面向市場時的關鍵競爭力優勢;
·在非競爭環境下的可信度優勢。
當一個組織沒有度量其歷史項目的生產率時,它在以下很多方面都是未知的。
·組織的績效如何?
·某個經理的績效與其他人的差別有多大?
·某個經理在估算時所做的假設與其他人的差別有多大?
很多軟件組織都處于這樣的一個局面,即使用的估算模型來源于生產率不同的環境,無法提供真正的價值。當人們對以下兩種情況了解甚少時,更是如此。
·外部數據庫的數據質量。
·在建立估算模型環境中的模型質量。
這些模型具有花哨的功能和成本因子,而那些對這些模型感覺良好的人,卻在這些“黑盒”數據上自欺欺人。
本書將教授開發估算信息(估算數據+估算環境)的方法。該估算信息可以幫助管理者在不確定的環境下制定項目預算決策。
本書不包含以下內容:
·聲稱可以一次性處理所有成本因子的黑盒估算;
·估算秘訣;
·估算模型、技術、成本因子的摘要;
·對項目每個階段進行詳細策劃的要點。
本書將介紹軟件項目估算中的工程實踐,具體內容如下:
·度量軟件項目生產率的正確概念,即功能規模度量;
·如何使用生產率數據建立估算模型;
·如何驗證一個估算過程中每個構件的質量;
·如何為軟件項目管理(預算與控制)中的決策制定提供有價值(如正確的信息)的信息。
如果沒有牢固的統計學基礎,就不會有工程化方法,也無法進行軟件估算!