系分論文:應(yīng)用CMM改進(jìn)銀行軟件過程
我在某銀行軟件開發(fā)科室工作,長期從事商業(yè)銀行中間業(yè)務(wù)應(yīng)用的開發(fā)。在以往的中間業(yè)務(wù)產(chǎn)品開發(fā)過程中,存在許需求不明確;開發(fā)人員有章不循,依靠個(gè)人智慧,開發(fā)處于低水平的重復(fù)狀態(tài);項(xiàng)目的進(jìn)度、質(zhì)量難以保證等問題。我們從2001年底開始著手解決中間業(yè)務(wù)產(chǎn)品的整合和綜合發(fā)展問題,經(jīng)過項(xiàng)目分析和論證,我們提出了要開發(fā)一套具有良好擴(kuò)展性、通用的中間業(yè)務(wù)平臺(tái)系統(tǒng)。為了避免在新平臺(tái)的開發(fā)過程中繼續(xù)出現(xiàn)上述問題,作為該項(xiàng)目的主要負(fù)責(zé)人,我在中間業(yè)務(wù)開發(fā)團(tuán)隊(duì)引入CMM,采取了一些有效的策略和方法,主要包括:進(jìn)行CMM培訓(xùn)和咨..
中間業(yè)務(wù)是指銀行利用自己的網(wǎng)點(diǎn)、設(shè)備、網(wǎng)絡(luò)、信息等優(yōu)勢,以中間人的身份接受客戶委托,提供各類金融服務(wù)并收取相應(yīng)手續(xù)費(fèi)的業(yè)務(wù)。作為銀行業(yè)務(wù)新的利潤增長點(diǎn)及重要的吸收存款手段,中間業(yè)務(wù)正日益受到國內(nèi)各商業(yè)銀行的重視。近年來,我所在銀行根據(jù)業(yè)務(wù)發(fā)展的需要,通過陸續(xù)推出代發(fā)工資、代收電話費(fèi)、代收水電費(fèi)、代收學(xué)費(fèi)、行政事業(yè)代收費(fèi)等一系列代收代付的中間業(yè)務(wù),在提高自身服務(wù)水平的同時(shí),增強(qiáng)了在同業(yè)中的競爭能力。
一、中間業(yè)務(wù)開發(fā)過程中存在的問題
隨著中間業(yè)務(wù)品種的增多和市場對中間業(yè)務(wù)要求的提高,中間業(yè)務(wù)系統(tǒng)越來越龐大與復(fù)雜,盡管我們中間業(yè)務(wù)開發(fā)團(tuán)隊(duì)不乏技術(shù)過硬的開發(fā)人員,還是經(jīng)常出現(xiàn)項(xiàng)目不能按時(shí)完成;新的中間業(yè)務(wù)項(xiàng)目上線時(shí),軟件質(zhì)量不理想,其中包括一些明顯的錯(cuò)誤,如客戶不能交費(fèi)、重復(fù)扣或少扣客戶的費(fèi)用,客戶交費(fèi)后打印不了發(fā)票等;而且文檔不齊全,造成維護(hù)比較困難。作為中間業(yè)務(wù)開發(fā)團(tuán)隊(duì)的主要負(fù)責(zé)人,我召集了幾名技術(shù)骨干總結(jié)了以往的經(jīng)驗(yàn)教訓(xùn),找出了存在的一些主要問題:
1、隨意性決策較多。往往軟件產(chǎn)品從立項(xiàng)階段開始就成了“實(shí)驗(yàn)田”——軟件產(chǎn)品做與不做,什么時(shí)候交付等多是憑個(gè)人的主觀意愿,沒有參考以往經(jīng)驗(yàn),也沒有充分考慮資源的有效投入,導(dǎo)致開發(fā)的產(chǎn)品維護(hù)成本較高,“打補(bǔ)丁”現(xiàn)象較多,用戶使用不方便。
2、有章不循。盡管我們科技部門比較注重規(guī)章制度的建設(shè),也針對軟件開發(fā)過程制定了大量的程序性文件,但由于沒有嚴(yán)格的后續(xù)跟蹤與監(jiān)督機(jī)制,使軟件開發(fā)的質(zhì)量控制大打折扣。
3、依賴個(gè)人智慧。我們開發(fā)團(tuán)隊(duì)中不乏一些具有相當(dāng)才干的項(xiàng)目經(jīng)理和骨干人員,他們?yōu)檠邪l(fā)銀行軟件產(chǎn)品做出了較大貢獻(xiàn)。然而,由于他們的經(jīng)驗(yàn)沒有被很好地總結(jié)、歸納,并上升為整個(gè)開發(fā)團(tuán)隊(duì)的財(cái)富,致使有的項(xiàng)目負(fù)責(zé)人一走,開發(fā)質(zhì)量就會(huì)下降,這說明軟件產(chǎn)品的研發(fā)依賴于個(gè)人而不是整個(gè)開發(fā)團(tuán)隊(duì)。
4、“可視性”低。軟件開發(fā)過程不透明,上級不了解下面在做什么,無法實(shí)時(shí)監(jiān)控項(xiàng)目進(jìn)展;下面的開發(fā)人員“報(bào)喜不報(bào)憂”。由此導(dǎo)致產(chǎn)品缺陷被慢慢積累起來,等看到結(jié)果為時(shí)已晚。
二、應(yīng)用CMM改進(jìn)中間業(yè)務(wù)平臺(tái)開發(fā)過程
由于傳統(tǒng)的中間業(yè)務(wù)系統(tǒng)產(chǎn)品開發(fā)平臺(tái)多樣化、缺少統(tǒng)一規(guī)范、產(chǎn)品分散、功能不足,大大影響了開發(fā)效率和增加了維護(hù)難度。為解決傳統(tǒng)中間業(yè)務(wù)開發(fā)模式存在的諸多弊端,我們從2001年底開始著手解決中間業(yè)務(wù)產(chǎn)品的整合和綜合發(fā)展問題,經(jīng)過項(xiàng)目分析和論證,我們提出了要開發(fā)一套具有良好擴(kuò)展性、通用的中間業(yè)務(wù)平臺(tái)系統(tǒng)。為了避免在新平臺(tái)的開發(fā)過程中繼續(xù)出現(xiàn)上述問題,作為該項(xiàng)目的主要負(fù)責(zé)人,我考慮在中間業(yè)務(wù)開發(fā)團(tuán)隊(duì)引入CMM,試圖把個(gè)人的腦力勞動(dòng)規(guī)范為有紀(jì)律的智力產(chǎn)品。
1、培訓(xùn)與開發(fā)過程規(guī)范的制定
在項(xiàng)目啟動(dòng)前,我們請了一家知名的培訓(xùn)機(jī)構(gòu),培訓(xùn)了CMM的基礎(chǔ)理論,并結(jié)合一些軟件開發(fā)公司實(shí)施CMM的案例講解,促進(jìn)了團(tuán)隊(duì)成員對CMM的認(rèn)識和對軟件過程實(shí)行規(guī)范管理的理解和支持。然后,我們分析開發(fā)部已有的規(guī)章制度存在的問題和缺陷,重新制定了中間業(yè)務(wù)開發(fā)規(guī)范。首先定義出軟件開發(fā)中的主要過程,參考CMM并針對中間業(yè)務(wù)開發(fā)的實(shí)際需要,確定了每個(gè)過程的具體工作內(nèi)容。其次確定了軟件開發(fā)的具體方法,我們確立了面向?qū)ο蟮拈_發(fā)方法,并對每個(gè)開發(fā)過程定義了相應(yīng)的具體文檔,如系統(tǒng)計(jì)劃階段必須提交《系統(tǒng)開發(fā)計(jì)劃》,需求分析階段必須提交《軟件需求規(guī)格說明書》。并定義了文檔的格式和必須提交的內(nèi)容。最后,對每個(gè)過程劃分相應(yīng)的人員職責(zé),即按照工作要求,進(jìn)行人員分工,并確定具體的工作內(nèi)容。
2、努力做好需求管理
在銀行的軟件研發(fā)過程中,需求管理是一個(gè)“老大難”問題。技術(shù)部門抱怨業(yè)務(wù)部門提出的需求不清晰,甚至提不出需求;業(yè)務(wù)部門抱怨技術(shù)部門對需求理解有偏差,開發(fā)的產(chǎn)品與初衷相去甚遠(yuǎn)。從CMM的角度來說,業(yè)務(wù)部門提出的需求只是顧客需求,而在顧客需求中既有技術(shù)層面,也有非技術(shù)層面的,即便是技術(shù)層面的需求,也并非面面俱到都要開發(fā),比如一些技術(shù)上不可行或者資源要求不能滿足的需求就必須剔除。只有適合軟件產(chǎn)品研發(fā)的需求才會(huì)被最終制作成規(guī)格說明。
在中間業(yè)務(wù)平臺(tái)需求的制定過程中,我采取了以下措施:
(1)組成業(yè)務(wù)部門與技術(shù)部門共同參與的需求組,需求提出后經(jīng)過上級領(lǐng)導(dǎo)的評審和業(yè)務(wù)部門確認(rèn)才實(shí)施開發(fā)。
(2)制定技術(shù)部門必須和業(yè)務(wù)部門商定需求變更流程和跟蹤監(jiān)督的機(jī)制,需求變更如何提出、由誰進(jìn)行評審、由誰決定做與不做、對項(xiàng)目進(jìn)度及對資源的影響如何等都應(yīng)事先考慮。
3、加強(qiáng)過程的跟蹤和監(jiān)控
軟件開發(fā)過程中,我們按照軟件開發(fā)過程規(guī)范嚴(yán)格實(shí)施。在項(xiàng)目啟動(dòng)的初期,開發(fā)人員要花很大一部分時(shí)間寫文檔資料,工作壓力比以前大多了,工作流程的改變,也導(dǎo)致一段時(shí)間內(nèi)效率降低。大家逐漸習(xí)慣后,感覺文檔是研發(fā)人員勞動(dòng)成果最好的記錄,工作比以前清晰,規(guī)范的文檔減少了對某個(gè)人的依賴,使軟件研發(fā)過程的上下環(huán)節(jié)緊密銜接。在整個(gè)過程中,我們得到所有的文檔,并根據(jù)文檔的內(nèi)容對每個(gè)過程進(jìn)行了檢查。在進(jìn)度控制方面,我首先制定了系統(tǒng)開發(fā)計(jì)劃,要求開發(fā)人員填寫工作量周報(bào),并據(jù)此繪制項(xiàng)目進(jìn)度圖,隨時(shí)了解項(xiàng)目進(jìn)展,并適當(dāng)調(diào)配人手,整個(gè)項(xiàng)目比計(jì)劃略早完成。
在質(zhì)量保證方面,銀行軟件產(chǎn)品質(zhì)量對業(yè)務(wù)的開展尤為重要,它涉及銀行的資金安全和自身信譽(yù),因此必須確保軟件開發(fā)產(chǎn)品質(zhì)量。現(xiàn)在我國各銀行并沒有成立單獨(dú)的質(zhì)量保證機(jī)構(gòu),對質(zhì)量的控制主要掌握在項(xiàng)目研發(fā)人員手中,為此CMM建議成立專門的SQA組,檢查軟件開發(fā)過程標(biāo)準(zhǔn)、規(guī)程的合理性。鑒于人手問題,我們沒有成立專門的SQA小組,采用測試小組兼做SQA工作,對項(xiàng)目組的監(jiān)督“對事不對人”,并定期公布監(jiān)督結(jié)果。
三、經(jīng)驗(yàn)和不足之處
經(jīng)過近一年工作,我們完成了中間業(yè)務(wù)平臺(tái)的開發(fā),新的中間業(yè)務(wù)平臺(tái)運(yùn)行良好,受到了業(yè)務(wù)部門和技術(shù)部門高層的贊許。在該項(xiàng)目的開發(fā)中,由于引進(jìn)了CMM,加強(qiáng)了軟件過程管理,很好地解決了以前存在的四個(gè)問題。中間業(yè)務(wù)產(chǎn)品的開發(fā)目標(biāo)更明確,提高了產(chǎn)品開發(fā)過程的可視性和可控性,從而在提高產(chǎn)品開發(fā)能力的同時(shí)提高了產(chǎn)品的質(zhì)量;我的開發(fā)管理水平也得到了很大的提升。高層領(lǐng)導(dǎo)尤其對我們的開發(fā)流程和開發(fā)規(guī)范表示認(rèn)可,并決定在整個(gè)開發(fā)部門推廣。我將這次軟件過程改進(jìn)的成功實(shí)踐歸功于兩個(gè)原因:一是基于我們長期中間業(yè)務(wù)開發(fā)的基礎(chǔ)上總結(jié)出來的經(jīng)驗(yàn)和教訓(xùn),二是CMM原則與我們團(tuán)隊(duì)和項(xiàng)目本身的特點(diǎn)的有效結(jié)合。然而,由于我們初次應(yīng)用CMM,還有許多需要改進(jìn)的地方:
1、我們僅運(yùn)用了CMM的基本原則,整個(gè)軟件過程的管理基本是定性的。過程改進(jìn)的趨勢是定量管理,必須采用合適的工具,如采用項(xiàng)目管理工具M(jìn)S PROJECT控制項(xiàng)目進(jìn)度,使用RATIONAL ROSE對需求分析和系統(tǒng)設(shè)計(jì)進(jìn)行輔助設(shè)計(jì),可預(yù)測和監(jiān)控整個(gè)過程性能和產(chǎn)品質(zhì)量,及時(shí)糾正偏差。
2、鑒于人手的問題,我們團(tuán)隊(duì)成員往往身兼設(shè)計(jì)、開發(fā)、測試、SQA數(shù)職,組織結(jié)構(gòu)不合理、人員分工不清顯然制約過程改進(jìn)的實(shí)施,我們最近打算成立一個(gè)獨(dú)立于開發(fā)部的質(zhì)量控制部,分清設(shè)計(jì)、測試和質(zhì)量保證的責(zé)任、界限和權(quán)限,使其在更高的層次上控制軟件質(zhì)量。
軟件過程的改進(jìn)是一個(gè)很大的課題和實(shí)踐方向,在今后的工作中,我們將爭取向CMM更高的級別努力。
【編輯推薦】