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