軟件成本評估的6個步驟:
1、軟件規模評估:
軟件規模評估是軟件成本評估的基礎,是為了保證軟件成本評估結果的客觀性和透明性,軟件規模信息必不可少。
在軟件規模評估過程中,如果能夠以軟件功能點方法作為主要的軟件規模評估方法,同時輔以其他的非標準評估方法,例如代碼行方法、用例數方法等,應用不同的軟件規模評估方法對規模評估結果進行真實性交叉檢驗,壹方面可以提高軟件規模評估結果的可信度;另壹方面,也可以對不同類型的項目幹系人也會具有更強的說服力。
在實際的軟件規模評估過程中,軟件組織或者個人也可以根據自身的特點采用有別於上述評估方法的其他方法。但要註意的是,不管采用哪種軟件規模評估方法,都要盡可能的保證這個方法所評估結果的壹致性和客觀性。
2、軟件工作量評估
如果說我們能夠算出開發軟件、維護軟件所投入的人員工作量,那麽我們也就相當於得到了相應的軟件成本。在軟件行業中的絕大多數項目裏面,影響軟件工作量的最主要因素還是軟件規模因素,當軟件規模越來越大時,也就意味著我們需要投入的工作量越多,這兩者之間是存在著正相關的關系。
在軟件工作量的評估中,還包含了五個小步驟,也就是收集歷史工作量數據、分析歷史工作量數據、建立工作量評估模型、評估工作量、工作量模型的標定和更新。通過這些步驟可以積累更多關於軟件組織開發工作量和維護工作量的數據,在此基礎之上,建立相應的工作量評估模型,從而為後續的工作量評估任務提供支持方法。
3、軟件階段工作量評估
在這個步驟中,軟件成本評估團隊應該充分考慮軟件項目的工期因素,對軟件項目總工作量安排和各個階段工作量安排進行優化分析,將軟件項目的總工作量以合理可行的方式分解為各個階段的工作量。
不僅如此,還要考慮軟件項目工期所面臨的各種工期約束條件,例如壹些來自客戶的強制工期要求、市場競爭性、可用的人力資源、項目各階段人力資源分配的合理比例等約束條件,都在這個步驟中明確介紹了壹系列階段工作量安排的改進和優化方法,包括階段工作量匯總法、資源平滑法、快速跟蹤法、趕工法以及軟件階段工作量的可行性評估方法等。
這些方法的主要目的就是在於將軟件工作總量以合理、可行的方式分配到軟件項目的各個階段,確保在不超出工作總量的前提下,盡可能降低人員成本、優化人力資源配置,為軟件預算、軟件開發計劃制定等管理活動提供充分的決策支持信息。
4、軟件人員成本評估
在這個步驟裏面,我們將會詳細說明如何在軟件開發和維護所需的工作量轉換為對應的費用信息,以便為相關的項目外部幹系人提供更直接的決策依據。在軟件人員成本評估中,也包含有單壹人員成本評估法、分類人員成本評估法和行業人員成本評估法。
5、軟件風險評估
在軟件開發的過程中,許多軟件組織明確認識到軟件行業的開發人員已經默認和接受了無償加班這壹行業事實,這樣壹來,就算沒有識別相應的風險信息,但也沒有嚴重後果,也就是說,如果風險發生了,那就加班。
這個步驟中通過應用不同的風險評價方法,將軟件項目的風險信息轉換為項目的成本信息,從而建立軟件項目的風險預算。
6、軟件成本報告與更新
軟件項目在開發過程中時,經常容易發生各種軟件需求變更、人員變更、工期變更等多種類型的變更,這些變更無壹例外地將對軟件成本產生明顯的影響。
在這個步驟中,可以分析軟件成本更新面臨的困難,有哪些典型的軟件成本更新的信息來源,從機制設計的角度確保盡可能全面獲取軟件成本變更信息。最後遵循軟件組織所建立的軟件成本更新過程,將軟件成本變更信息反映到更新後的軟件成本評估結果中。