4.4 案例四:成本控制
閱讀以下關于信息系統項目管理過程中成本控制方面問題的敘述,回答問題1一問題3。
4.4.1案例場景
某A單位的電力信息應用系統(簡稱A系統),系統建設總投資是1100萬元,其中主機采購、存儲系統采購、網絡設備采購、配件采購等花費500萬元,應用軟件開發600萬元。2005年4月工程雙方簽訂項目開發合同,由N公司負責承建。項目總工期為25周,計劃從2005年5月1甲啟動至2005年10月22日全部完工。
N公司是一家民營高科技信息系統集成企業,有高級工程師2人,軟件、硬件、網絡工程師共36人。N公司安排高工劉工負責A系統的建設工作。N公司的績效考核制度是非常嚴格的,對項目負責人的考核,項目開工前要制訂項目實施計劃,項目完工后要對項目計劃的執行情況進行考核,項目的進度、質量、成本三大目標都要求控制在計劃的范圍內。
劉工于項目正式啟動之前兩周開始進行項目建設的準備工作,對工程項目進行了工作分解,在工作分解的基礎上,編制了項目資源計劃、人員計劃、項目質量保障計劃、進度計劃、項目成本預算和成本控制計劃等。劉工編制完項目資源計劃后,報告公司審批,包括項目小組組建的計劃在內的項目資源計劃順利地通過了公司審批。于2005年5月1日項目正式啟動時,項目小組也組建完成。劉工所組建的項目小組為12人,包括軟件設計、編碼工程師8人,軟件測試工程師4人。
由于軟件項目開發的主要成本為人力資源成本,為此,劉工制定了詳細的人力資源成本控制計劃,人力資源計劃成本=12人×25周×平均人周成本(1500元) =450 000元。為了將軟件開發人力資源費用控制在45萬元內,劉工制定了詳細的工程成本管理計劃。
劉工所進行的項目工作分解,得到共24個系統功能模塊,分別編號為M01、M02、……、M24,并分別為每個功能模塊制定了工期和成本預算。如表4-8所示。
在項目開發的過程中,劉工隨時跟蹤統計項目的開支情況。劉工要求每位軟件工程師每周報告一次工作進度,如某某模塊完成工作量30%,劉工據此來估算項目的進度和成本績效。如表4-9所示。劉工根據表4-9的統計數據計算累積完工的工程價值,計算公式為:
。
【問題1】(6分)
請以200字左右回答,劉工的成本預算存在哪些問題?劉工所采取的成本跟蹤管理的方法是什么方法?應用軟件系統開發項目中,使用此方法應注意什么特點?
【問題2】(10分)
請以200字左右回答,衡量軟件開發實際累積人力資源成本的計算公式是什么?怎樣改進上述方法才能控制好人力資源成本?怎樣得到軟件企業實際消耗的人力資源成本?
【問題3】(9分)
請以300字內回答,劉工采用此方法的具體措施是否存在不足之處?如存在,請指出不足并說明理由,請給出你的改進意見。
4.4.2案例分析
【問題1】
掙值管理方法是應用非常廣泛的項目成本管理方法。但是,IT應用系統開發工程項目有其特殊的特點,掙值管理方法的應用必須結合IT工程項目的特點進行,才能夠收到理想的效果。另外,IT應用系統工程項目的成本預算也是比較困難的課題,我們往往很難像其他工程項目(如建筑工程項目)那樣,將IT應用系統工程項目的成本預算做得準確。
在過去的應用軟件工程項目中,很少采用掙值管理來控制項目進度款支付。但隨著IT項目管理水平的提高,隨著我國IT工程監理制度的推廣,將來采用掙值管理控制工程進度款支付也是可期待的。項目經理應當熟練掌握掙值管理方法。
軟件項目的合同價格不等于軟件項目開發的實際成本,合同價格除了承建單位的軟件開發成本外,還包括銷售成本、行政費用、稅金、利潤等,但我們在這里探討的主要是項目開發成本,即工程成本。
在劉工的成本估算中,缺少了對工程量的估算,因此,對人力資源成本的估算也就缺少了依據。對工作量的估算,如M0l模塊需要16“人周”,M02模塊需要6“人周”,或以“人月”、“人年”為單位來估算工作量,各模塊的工作量合起來,就可得到整個項目的工作量。當然,如果要把預算做得更準確,還需要估算各模塊的代碼量,以歷史經驗得到每個成員的工作效率來計算各模塊所需的工作量,但這種做法目前在我國還沒有多少成功的案例,很多IT公司均是靠經驗來進行估算的。
【問題2】
對于大多數應用軟件開發項目來說,工程成本的主要構成要素是人力資源使用成本。而為了合理有效地控制人力資源使用成本,在組建項目小組的時候,可以根據工程項目的進度情況,分階段投入人力資源,要做好與其他工程項目協調使用人力資源。我們也可用人力資源成本來計算掙值,人力資源使用成本的實際值可向財務查詢所支付的成本,掙值可以這樣計算:
累積人力資源成本(掙值)=模塊工作量i×完成率i×平均人力周成本
這種計算是在承建單位內部的成本控制。
本題的主要考點在于怎樣在軟件開發項目中合理、有效地進行掙值管理。要合理使用掙值管理方法,必須同時考慮到軟件工程項目的特點。軟件工程項目與建筑工程項目有很大的區別。軟件工程項目更加類似于科研項目。如表4-10所示。
在建筑工程項目中,工程進度與成本之間的線性比例關系較好,而且進度容易測量。因此,掙值管理方法也使用得比較好。
但在軟件工程項目中,要合理、合適地采用掙值分析方法是比較困難的。軟件工程項目的成本控制的困難有以下原因。
(1)需求的不確定性:軟件項目的范圍、需求難以準確地定義,導致項目開發過程中存在大量的變更,從而影響進度和成本。
(2)規模和工作量的不確定性:軟件項目的工作量預算難以估計準確。
(3)質量鑒定的不確定性:開發完成并投入運行的軟件模塊的質量難以鑒定,特別如某個模塊完成了30%或80%的工作量,我們無法去鑒定,或用于鑒定的成本可能很高而使開發單位難以接受或不愿意去做這樣的鑒定。
(4)把握需求的不確定性:已經編寫完成的軟件代碼,可能隱藏著對需求理解的嚴重偏差,可能是廢品,得全部返工。
(5)難易程度的不確定性:已經編寫完成的軟件代碼可能是很簡單的,未完成的可能很難,或反之。
(6)人員的不確定性:如果編寫軟件代碼的人員不穩定,熟練員工中途流失將給項目進度、質量管理帶來嚴重影響。新人中途接手未全面完成的、風格不良的軟件代碼,是一件很困難的工作。員工的敬業精神也難以衡量。
由于以上這些因素的影響,使得在軟件工程項目中對工程進度和工程質量的測量變得很困難,因而,我們就不可能像在建筑項目中那樣使用掙值管理方法了。
【問題3】
在軟件項目的開發管理中采用掙值分析時,可以考察各模塊的完成狀態,全部完成并且集成測試成功,能夠投入初步運行,這樣,可以算本模塊的工作量完成,可以獲得本模塊的全部掙值,否則,本模塊的掙值計0。考慮到工程整體的集成還需要一定成本,因此,在計算各模塊掙值時,還應當扣除一定比例的掙值,作為工程整體集成的工作量的掙值。
但我們在實際工作中,也有很多時候采用估算某模塊完成百分之幾的做法,但這種做法是粗放式的,項目管理人員可以將這信息作為對項目成本累積的參考,作為粗略估計項目進度的參考,但不是成本核算的依據,也不能作為申請工程進度款支付的依據,需知這種信息的可信度和可控性均較差。
4.4.3參考答案
【問題1】(6分)
應當先估算各模塊的工程量,再以工程量來估算所需要的人力資源,如總工程量“××人周”或“××人月”或“××人年”等。劉工的項目小組的建設應分階段進行人力資源投入,如設計階段所用人力應較少,而詳細設計完成后,編碼階段進入,則人力投入是高峰期。
人力資源成本的預算也應當核算一定比例的浮動成本。劉工所采用的是掙值管理方法。此方法應用到軟件工程項目中,應注意軟件開發掙值與投入的非線性比例關系特點。
【問題2】(10分)
軟件開發人力資源成本掙值統計是能夠做到比較準確的,衡量軟件開發人力資源成本的計算公式: 累積人力資源成本=模塊工作量i×完成率i×平均人力周成本
劉工所采取的方法應增加各模塊工程量的估算,就能夠進行人力資源成本控制。如表4-11所示。
實際消耗的人力資源成本可通過財務發放的工資統計得到。
【問題3】(9分)
劉工根據各工程師的進度報告(進度百分比)來計算掙值,在軟件開發中是不可行的。
在軟件開發中,各模塊的進度百分比通常很難測量準確,而各工程師的匯報往往是很粗略的估計,這種估計只能提供給項目經理控制進度時做參考,但不能作為成本核算或申請工程進度款支付的依據。建議劉工以各模塊全面完工來進行計算,即各模塊要么計算0%,要么計算100%完工,但在進行工作分解的時候,分解的深度和各模塊的粒度要合適,便于進行控制。
另外,在核算的時候,要扣除一定的比例,如20%~30%作為各模塊集成所需要的工程量,待工程全面完工后進行核算。