軟件開發(fā)成本管理之由時間、質(zhì)量、成本是決定項目管理成敗的鼎之三足,每個項目都有一個預算,項目成功就包含著要在批準的預算范圍內(nèi)完成項目。但是很多國內(nèi)軟件業(yè)的項目經(jīng)理,都會認為項目經(jīng)理抓好兩件事即可,一手是時間,一手是質(zhì)量。而對于開發(fā)成本的管理,始終沒有上升到應有的高度,即使在一些CMM/CMMI級別比較高的公司,他們對于項目的開發(fā)成本也都沒有做到很好的管理。
為什么出現(xiàn)這樣的情況?究其原因,其一,項目經(jīng)理這個位置在公司發(fā)展中走得是技術(shù)路線,成本管理并沒有得到很高的重視。其二,成本管理做起來的確比較麻煩,費時費力,效果也不一定精確可用。很多公司現(xiàn)在如果讓他們說出他們開發(fā)人員的生產(chǎn)效率是多少,很少有人可以精確說出;加上現(xiàn)在大多項目組織是矩陣式管理,人員作為資源在項目組里流動性比較大,所以大多是一筆糊涂帳。其三,就如上面所說,在中國很多公司中,項目經(jīng)理并不負責項目的預算部分,這項工作往往由職能部門的經(jīng)理來擔當,由他負責跟蹤、報告和監(jiān)控項目的開銷。
說到這里,有的朋友可能會反駁了,項目中我控制好時間和質(zhì)量,成本就控制了。誠然,如果一個項目如果時間和質(zhì)量控制的合適,成本也大多是較好的,但這是遠遠不夠的。我們經(jīng)常會看到這樣的情形,從前些年的“工資跟著學歷走,程序員要求碩士以上學歷,而招來的技術(shù)專業(yè)類博士生卻去做服務”到現(xiàn)在軟件行業(yè)已經(jīng)走出高利潤回報的后時代,公司的項目簽合同或者開發(fā)或?qū)嵤┻^程中看著好像在盈利,但是到了年底核算,公司卻是虧損嚴重?;蚴琼椖康搅酥泻笃?,無論怎么努力,為了千方百計完成項目,花費都已經(jīng)無法控制等種種現(xiàn)象,表明成本管理依然是軟件行業(yè)項目管理的木桶短板。
軟件開發(fā)成本管理之術(shù)及實踐
項目成本管理,就是保證項目在預算內(nèi)完成的管理。如果用最簡單的話來說,成本管理是回答如下花錢問題的:
這個項目將花多少錢?
這個預算合理嗎?依據(jù)是什么?
這些錢夠花嗎?是否預算考慮了項目風險的因素?
這些錢花在什么地方?如何花?何時花?
如何能保證花錢是在預算之內(nèi)的?
這個項目實際花了多少錢?
如何評估花費?
這個項目花費的歷史記錄對項目成本管理有何貢獻?
這些問題,從項目成本管理過程中,分為如下過程:資源計劃編制、費用估算、費用分配和費用控制階段。當然這四個過程并不是瀑布式的,而是組成了項目成本管理的閉環(huán)。
計劃編制
在進入了資源計劃編制階段之前,一般應完成工作范圍說明書和WBS,在資源計劃的過程中,我們要確定完成項目活動需要使用什么資源以及多少資源,所以輸出就是項目的資源需求計劃,也就是人、物等資源的需求計劃。過程的輸入除了上面所說的工作范圍說明書和工作分解結(jié)構(gòu)WBS外,一般還會有資源配置庫說明、活動的工期估算,以及公司項目管理庫中的機構(gòu)政策和歷史信息。在此過程中,常用的技術(shù)就是專家判斷方案選擇方法,當然也可以用MicroSoft 的Project、IBM的Rational Portfolio Manager等項目管理軟件來進行,將范圍和時間計劃的甘特圖等關(guān)聯(lián)資源。
費用估算
費用估算環(huán)節(jié),主要是估算要完成項目活動所需資源將耗用多少費用。在這個環(huán)節(jié)要得出費用估算值、和費用計劃等文檔。這時我們的輸入,除了上一個過程的輸出資源需求外,還需要WBS,因為WBS是確定成本估算準確性的關(guān)鍵,我們需要為WBS中列出的每項活動所需的資源做出成本估算。除WBS以外,還需要資源價格或者比較符合實際價格的成本估算出版物、歷史信息,以及考慮風險等情況。資源價格即是資源的單位成本,例如招聘的開發(fā)人員、測試人員折算的每小時薪金,用上面得出的該資