軟體開發成本管理

2021-04-24 19:15:03 字數 2585 閱讀 2885

軟體開發成本管理之由時間、質量、成本是決定專案管理成敗的鼎之三足,每個專案都有乙個預算,專案成功就包含著要在批准的預算範圍內完成專案。但是很多國內軟體業的專案經理,都會認為專案經理抓好兩件事即可,一手是時間,一手是質量。而對於開發成本的管理,始終沒有上公升到應有的高度,即使在一些cmm/cmmi級別比較高的公司,他們對於專案的開發成本也都沒有做到很好的管理。

為什麼出現這樣的情況?究其原因,其一,專案經理這個位置在公司發展中走得是技術路線,成本管理並沒有得到很高的重視。其二,成本管理做起來的確比較麻煩,費時費力,效果也不一定精確可用。很多公司現在如果讓他們說出他們開發人員的生產效率是多少,很少有人可以精確說出;加上現在大多專案組織是矩陣式管理,人員作為資源在專案組裡流動性比較大,所以大多是一筆糊塗帳。其三,就如上面所說,在中國很多公司中,專案經理並不負責專案的預算部分,這項工作往往由職能部門的經理來擔當,由他負責跟蹤、報告和監控專案的開銷。

說到這裡,有的朋友可能會反駁了,專案中我控制好時間和質量,成本就控制了。誠然,如果乙個專案如果時間和質量控制的合適,成本也大多是較好的,但這是遠遠不夠的。我們經常會看到這樣的情形,從前些年的「工資跟著學歷走,程式設計師要求碩士以上學歷,而招來的技術專業類博士生卻去做服務」到現在軟體行業已經走出高利潤回報的後時代,公司的專案簽合同或者開發或實施過程中看著好像在盈利,但是到了年底核算,公司卻是虧損嚴重。或是專案到了中後期,無論怎麼努力,為了千方百計完成專案,花費都已經無法控制等種種現象,表明成本管理依然是軟體行業專案管理的木桶短板。

軟體開發成本管理之術及實踐

專案成本管理,就是保證專案在預算內完成的管理。如果用最簡單的話來說,成本管理是回答如下花錢問題的:

這個專案將花多少錢?

這個預算合理嗎?依據是什麼?

這些錢夠花嗎?是否預算考慮了專案風險的因素?

這些錢花在什麼地方?如何花?何時花?

如何能保證花錢是在預算之內的?

這個專案實際花了多少錢?

如何評估花費?

這個專案花費的歷史記錄對專案成本管理有何貢獻?

這些問題,從專案成本管理過程中,分為如下過程:資源計畫編制、費用估算、費用分配和費用控制階段。當然這四個過程並不是瀑布式的,而是組成了專案成本管理的閉環。

計畫編制

在進入了資源計畫編制階段之前,一般應完成工作範圍說明書和wbs,在資源計畫的過程中,我們要確定完成專案活動需要使用什麼資源以及多少資源,所以輸出就是專案的資源需求計畫,也就是人、物等資源的需求計畫。過程的輸入除了上面所說的工作範圍說明書和工作分解結構wbs外,一般還會有資源配置庫說明、活動的工期估算,以及公司專案管理庫中的機構政策和歷史資訊。在此過程中,常用的技術就是專家判斷方案選擇方法,當然也可以用microsoft 的project、ibm的rational portfolio manager等專案管理軟體來進行,將範圍和時間計畫的甘特圖等關聯資源。

費用估算

費用估算環節,主要是估算要完成專案活動所需資源將耗用多少費用。在這個環節要得出費用估算值、和費用計畫等文件。這時我們的輸入,除了上乙個過程的輸出資源需求外,還需要wbs,因為wbs是確定成本估算準確性的關鍵,我們需要為wbs中列出的每項活動所需的資源做出成本估算。除wbs以外,還需要資源**或者比較符合實際**的成本估算出版物、歷史資訊,以及考慮風險等情況。資源**即是資源的單位成本,例如招聘的開發人員、測試人員折算的每小時薪金,用上面得出的該資源需求工時數乘以單位成本,就得出該資源成本估算了,累加這些成本。在此過程中,在確定成本估算時一定要包括專案整個生命期的全部成本,例如專案正式結項前,例如驗收前的全部環節,包括上線測試期成本以及一年的質量擔保期的執行成本等。因為,專案中通常會承諾使用者在質量擔保期內修復bug或者解決問題,這些開支要包含在估算中。而且,一定要估算出專案所需的所有資源,包括剛才說的員工工資、外包合作單位的成本、材料費、裝置及硬體、軟體工具等成本或者成本分攤。

成本估算中,常用的技術包括類別估算,也就是通過一些歷史資訊或者類似專案的相關資訊,考慮專案異同和風險情況,用類別方式從上而下的估算方法。常用於專案範圍不甚明確的時候,這時估算也相對較粗。在cmm/cmmi4企業中,有了量化管理的依據,我們可以根據真實的歷史專案情況,進行類別估算。

引數化建模方式將影響成本的因素,進行引數化,將一些代表生產率或者單位成本等數量代入模型運算,就可以從該工作要素中得到整個專案的成本估算。例如我們知道單位人工生產率這些引數,在軟體行業是人日(時)**行數等,都是非常重要的進行估算的模型引數。如果影響最終結果的因素,有多個引數,我們還可以為每個引數分配權值。當然根據不同公司政策和專案情況,我們需要累積這個模型。一般如果公司有pmo組織或者嚴格的過程管理組織話,這個方法也經常使用。

自下而上估算,與模擬估算相反,先從wbs的底層,單獨估算專案中的每項活動,。然後加起來算出總體成本。這是較準確的估算方法,但是也較為費時,因為它必須要求對每個包進行估算。當然現在很多專案管理工具提供了這種估算自動加和,這也是最常用的估算方法。

費用分配

費用分配過程是把費用預算分配到每一項活動中,以便獲得專案費用計畫基準。這個過程比較簡單,就是利用費用估計值、wbs、專案進度計畫和風險管理計畫等,制定出專案的費用計畫基準,這裡的費用計畫基準是乙個按照實踐階段分配的預算計畫,用來衡量和監控專案費用狀況。可以在接下來的費用控制過程詳細解釋。

費用控制

軟體開發成本估算

首先我們需要明確的是為什麼要做軟體專案預算.首先軟體專案是不同於一般工程專案的專案型別.受使用者需求,開發方式的影響很大.沒有明確的預算,會導致軟體開支的不可控制,隨著專案的進行,開發放要承擔的風險也會增加.另外如果沒有預算,更不可能與客戶達成開發協議.沒有人會傻到委託別人做乙個自己都不知道要花多少...

軟體開發專案成本管理實踐

本文將從專案經理 軟體開發團隊的角度,怎麼做專案成本管理。首先,了解專案成本構成 軟體專案成本由直接成本和間接成本構成,可以把間接成本分攤到直接人力成本中,例如每人日450元,就是生產一線人員的成本,包括人員工資 分攤支撐線人員工資 辦公費用等各項費用。本文假設間接成本分攤到一線開發人員的人力成本中...

軟體專案開發成本估算方法

對於乙個大型的軟體專案,由於專案的複雜性,開發成本的估算不是一件簡單的事,要進行一系列的估算處理。主要靠分解和類推的手段進行。基本估算方法分為3類。1 自頂向下的估算方法 這種方法的主要思想是從專案的整體出發,進行類推。即估算人員根據以前已完成專案所消耗的總成本 或總工作量 來推算將要開發的軟體的總...