論軟件開發(fā)項目的成本管理
【摘要】
2009年8月,我作為項目經(jīng)理開始參與某某銀行授信業(yè)務(wù)系統(tǒng)的開發(fā)項目,主要工作職責(zé)為需求分析、系統(tǒng)設(shè)計和項目管理.系統(tǒng)基本功能包括:業(yè)務(wù)操作、業(yè)務(wù)提醒、基礎(chǔ)資料、查詢統(tǒng)計和權(quán)限管理等五個模塊.系統(tǒng)采用Struts + Hibernate主流Web應(yīng)用框架,實現(xiàn)Web應(yīng)用程序服務(wù)器WebSphere與協(xié)作應(yīng)用程序服務(wù)器Lotus Domino的高度集成.
項目的成功很大程度上歸功于在項目過程中各個階段對進(jìn)度和成本的有效管理和控制。本文以該項目為例,結(jié)合作者實踐,討論了信息系統(tǒng)項目中的成本管理問題,主要通過在計劃階段做好工作量估算,有效管理和控制風(fēng)險因素,在實施階段進(jìn)行成本跟蹤和控制等方法來有效管理和控制項目成本.實施結(jié)果…
【正文】
2009年8月,我作為項目經(jīng)理開始參與某某銀行授信業(yè)務(wù)系統(tǒng)的開發(fā)項目,主要工作職責(zé)為需求分析、系統(tǒng)設(shè)計和項目管理.當(dāng)然也做一些編碼工作,主要是基礎(chǔ)性公用代碼和關(guān)鍵核心代碼的編寫與維護(hù).授信是指銀行以自身信用向客戶提供貸款(包括項目貸款)、擔(dān)保、開票信用證、匯票乘兌等業(yè)務(wù),授信業(yè)務(wù)是商業(yè)銀行資金運(yùn)作中最為重要的業(yè)務(wù)之一。開發(fā)授信業(yè)務(wù)系統(tǒng),提高授信業(yè)務(wù)的管理水平和運(yùn)行效率、充分利用共享的信息資源、減小各種風(fēng)險、運(yùn)用各種科學(xué)的金融分析模型指導(dǎo)業(yè)務(wù)開展具有十分重要的意義.系統(tǒng)基本功能包括:業(yè)務(wù)操作、業(yè)務(wù)提醒、基礎(chǔ)資料、查詢統(tǒng)計和權(quán)限管理等五個模塊.系統(tǒng)全面實現(xiàn)授信業(yè)務(wù)的網(wǎng)上操作,實現(xiàn)流程的上報,審批和管理,大大提高了授信業(yè)務(wù)工作效率。提供了強(qiáng)大的業(yè)務(wù)查詢和統(tǒng)計功能,便于對授信業(yè)務(wù)工作的管理和監(jiān)督.其中業(yè)務(wù)操作模塊實現(xiàn)授信業(yè)務(wù)工作流程,主要包括正常類授信業(yè)務(wù)申報、問題類授信業(yè)務(wù)申報、特殊類授信業(yè)務(wù)申報和授后監(jiān)控業(yè)務(wù)等工作流程.
系統(tǒng)采用Struts + Hibernate主流Web應(yīng)用框架,開發(fā)工具采用WebSphere Studio Application Developer 5.0 (WSAD 5.0),WSAD 5.0集成并擴(kuò)展了Eclipse 2.0的功能.硬件配置方面:IBM P610小型機(jī)用于安裝WebSphere 5.0,DELL服務(wù)器用于安裝Domino R6和SQL Server 2000。實現(xiàn)Web應(yīng)用程序服務(wù)器WebSphere與協(xié)作應(yīng)用程序服務(wù)器Lotus Domino的高度集成,并使用Single Sign On(SSO)實現(xiàn)單點(diǎn)登陸.總體架構(gòu)思想,將表單數(shù)據(jù)的生成和分析采用關(guān)系型數(shù)據(jù)庫來實現(xiàn),通過WebSphere架構(gòu)實現(xiàn)業(yè)務(wù)邏輯的處理,而表單的審核流程由Domino進(jìn)行驅(qū)動.將基于業(yè)務(wù)為主的J2EE服務(wù)系統(tǒng)和基于協(xié)作為主的DOMINO流程處理系統(tǒng)有效的結(jié)合起來,確保整個業(yè)務(wù)流程的有效運(yùn)行和各種數(shù)據(jù)查詢分析統(tǒng)計的有機(jī)結(jié)合.
由于考慮到銀行帳戶年度等因素,客戶要求系統(tǒng)在2009年12底前交付,項目開發(fā)周期為4個月。項目人員配備情況,項目經(jīng)理l人,開發(fā)人員4人,測試人員3人,界面美工人員1人,項目行政秘書1人,配置管理人員1人,質(zhì)量管理人員1人.其中開發(fā)人員小張來自某某銀行科技處.項目行政秘書、配置管理、質(zhì)量管理等人員為兼職人員,為多項目共享。由于公司屬于大型軟件企業(yè),在項目基礎(chǔ)設(shè)施方面包括開發(fā)服務(wù)器、開發(fā)機(jī)、測試服務(wù)器、配置管理服務(wù)器、開發(fā)工具等配備狀況較好。
軟件成本管理是軟件項目管理的一個重要組成部分,也是一個十分容易被忽視但卻又是十分重要的內(nèi)容.成本管理的目的是通過執(zhí)行項目成本管理過程和使用一些基本項目管理工具和技術(shù)來改進(jìn)項目成本績效。項目組整體上把按進(jìn)度和預(yù)算交付項目作為我們最大的挑戰(zhàn),因此我們十分重視對項目進(jìn)度和成本的控制和管理.該項目中我們借助項目管理軟件Microsoft Project 2003來輔助進(jìn)度和成本的計劃和管理.我們主要通過在計劃階段做好工作量估算,有效管理和控制風(fēng)險因素和在實施階段進(jìn)行成本跟蹤和控制等方法和策略來有效管理和控制項目成本.
1、計劃階段做好活動歷時(工作量)估算
項目需求分析階段結(jié)束,《軟件需求說明書》得到客戶正式簽字確認(rèn)后,我們開始創(chuàng)建工作分解結(jié)構(gòu)WBS和制定詳細(xì)項目進(jìn)度計劃.我們認(rèn)為工作量估算是成本估算的基礎(chǔ),對于項目成本管理+分關(guān)鍵.由于對代碼行(LOC)估算、功能點(diǎn)(FP)估算等估算方式研究不是很深入,工作量估算主要采用基于公司項目歷史績效數(shù)據(jù)庫和個人經(jīng)驗的估算方法.對于部分涉及流程的活動單位一般比較難一次性把握其活動的歷時,事實上流程調(diào)試的工作量在頁面基本功能(增加/刪除了修改)的3倍工作量以上.例如業(yè)務(wù)操作模塊——問題類授信業(yè)務(wù)申報——問題類客戶行動計劃申請流程頁面提交工作量為2日/人,而流程調(diào)試需要涉及20多個角色和8條路徑.對于估算把握不是很好的任務(wù),我們一般通過提供一個樂觀估算A、悲觀估算B、正常估算M進(jìn)行3次估算然后利用PERT公式[1 ( 4 * M + A + B)/6]計算取整.每項活動我都先確定具體人員,然后需要對活動本身進(jìn)行詳細(xì)分析,必要時查看公司項目歷史績效數(shù)據(jù)庫。最后需要為各項活動建立了依賴關(guān)系,明確各項活動的前置任務(wù),活動開始時間和結(jié)束時間.總體上講活動歷時估算工作量較大,我花費(fèi)了數(shù)個工作日.
項目組人員流動率較低,在J2EE和Struts架構(gòu)下的WEB應(yīng)用開發(fā)已經(jīng)有一定的項目積累和團(tuán)隊合作基礎(chǔ).如項目組自行開發(fā)了功能完善的Struts-config.xml統(tǒng)一維護(hù)工具,實現(xiàn)了FormBean和ActionBean方便管理。有大量可供復(fù)用的東西,如公共基礎(chǔ)代碼包,權(quán)限管理模塊等.這些也是在我們工作量估算中需要考慮的因素.
2、有效管理和控制風(fēng)險因素
項目中我們對項目風(fēng)險進(jìn)行了必要的管理,以避免風(fēng)險事件的發(fā)生引發(fā)項目成本增加或超支.公司項目管理部門提供了風(fēng)險管理計劃的模板和風(fēng)險事件列表模板.為了讓項目組整體在各個階段保持良好的風(fēng)險意識,我嘗試采用了“十大風(fēng)險事項跟蹤”,把項目中各主要風(fēng)險事項按照排名張貼在公告欄上.由于當(dāng)時有部分未明晰的需求包括:①問題類客戶行動計劃申請流程;②查詢統(tǒng)計部分需求;③客戶方面可能提出的新需求.需求和范圍界定不清、計劃不充分、用戶參與不足、缺乏領(lǐng)導(dǎo)支持、技術(shù)問題等為我們項目計劃階段主要風(fēng)險事件.事實表明,這種做法效果是非常明顯的.特別是客戶方面,我定期把風(fēng)險事件列表Email給客戶方項目負(fù)責(zé)人方某.為了能盡快落實未明晰的需求部分,我與客戶方主要項目負(fù)責(zé)人方某進(jìn)行了面對面的溝通.通過一番利弊關(guān)系的陳述,達(dá)成盡快明晰懸留部分需求的共識.需求問題很快得到解決.項目組整體信心十足,積極性和責(zé)任感增加.公司領(lǐng)導(dǎo)方面對項目組也表現(xiàn)出特別的關(guān)心,特別是公司趙總開始頻繁出現(xiàn)在項目組的每周進(jìn)度評審會議上,他們也開始擔(dān)心因為對項目支持不夠而導(dǎo)致項目的失敗.
3、實施階段進(jìn)行成本跟蹤和控制
實施階段需要進(jìn)行成本的跟蹤和控制.Project 2003中需要設(shè)定各項資源(人員)的工時標(biāo)準(zhǔn)費(fèi)率,即人員每小時的工作成本.項目組成員每周五下班前通過內(nèi)網(wǎng)B/S項目管理信息系統(tǒng)PMIS提交《項目周報》,把各自本周內(nèi)完成的任務(wù)進(jìn)度情況和下周任務(wù)計劃進(jìn)行匯報.報告要求按百分比嚴(yán)格量化任務(wù)完成情況,PMIS只提供具體百分比的選擇.項目經(jīng)理(我)把各項任務(wù)實際完成數(shù)據(jù)輸入到進(jìn)度計劃中,Project 2003自動成本統(tǒng)計表,清楚顯示任務(wù)基準(zhǔn)和實際成本信息.通過查看跟蹤甘特圖就可以較好把握項目總體的進(jìn)度績效.
授信業(yè)務(wù)系統(tǒng)在2009年12月下旬正式上線,提前1周完成了項目.目前系統(tǒng)運(yùn)行正常,受到客戶方各有關(guān)部門的一致好評,對項目滿意度較高.項目的成功很大程度上歸功于在項目過程中各個階段對進(jìn)度和成本的有效管理和控制.沒有成本管理,項目也可能成功.但沒有成本管理的項目,對于項目管理質(zhì)量、時間、成本三大目標(biāo)的實現(xiàn)是具有巨大風(fēng)險.