相信對很多業(yè)內(nèi)人士來說,領(lǐng)導(dǎo)一個新的項目是一種激動人心的經(jīng)歷,也是公司管理層對其專業(yè)水平的肯定。當(dāng)然,這也是一種讓人感到有些緊張的經(jīng)歷。突然要處理一些自己可能并不很了解的事情,這的確會讓人感到不知所措。這里我想根據(jù)我的經(jīng)歷談?wù)勎覍?a target="_self" href="http://m.opto-elec.com.cn/zhuanti/20081118/">項目管理的一點看法。
6月份,煙臺港客運售票信息系統(tǒng)的項目正式開始。這是一個實時性非常強(qiáng)的項目,而且功能模塊較多(500個左右),但從獲取需求信息到正式運行卻只有4個月的時間。其中包括基于因特網(wǎng)的遠(yuǎn)程售票系統(tǒng),這一部分要涉及到分布式多層應(yīng)用技術(shù),而這對我們來說還很陌生。此外,還包括公司的網(wǎng)站和Web在線售、訂票系統(tǒng),涉及到在線支付。不得不說這是一個不小的挑戰(zhàn),能不能在限定的時間內(nèi)按質(zhì)量要求完成開發(fā)任務(wù),我沒有確切的把握。
一、需求調(diào)研&總體設(shè)計
這是我第一次接觸這種規(guī)模比較大的軟件項目,以至于一開始就出現(xiàn)了一些失誤。比如,整個項目是在悄無聲息中進(jìn)行的,沒有要求管理層召開正式的項目啟動會議,開發(fā)小組的人員也沒有全部到位,甚至于連一份簡單的項目計劃都沒有!部門從別的項目組臨時抽調(diào)了一位項目總監(jiān)參加我們的需求分析與總體設(shè)計,他對業(yè)務(wù)比較熟悉,參與多個類似項目的研發(fā)工作,精通數(shù)據(jù)模型設(shè)計,算是我們中間的內(nèi)行。初期主要就是依靠他一個人的工作,我們調(diào)研小組的其他成員(我和另外一名項目經(jīng)理)只是協(xié)助做一些事情,主要是整理一下材料,與客戶做一些簡單的溝通。需求調(diào)研工作一共進(jìn)行了三天!現(xiàn)在想起來都覺得不可思議,這個階段工作結(jié)束的時候形成了一份非常簡單的《用戶需求說明書》,其實只是一份功能清單,連功能描述都沒有。當(dāng)時項目總監(jiān)出差,我們負(fù)責(zé)項目的另一個項目經(jīng)理也被調(diào)去參加其他項目的實施工作,實在沒有人力來完成規(guī)范的需求文檔。 很快我們進(jìn)入總體設(shè)計階段,項目總監(jiān)開出了一份數(shù)據(jù)模型設(shè)計文檔,包含了基本表和另外十幾個核心業(yè)務(wù)相關(guān)的表和視圖,羅列了幾個關(guān)鍵的存儲過程和觸發(fā)器。此時,我也根據(jù)與用戶的溝通做出了關(guān)鍵模塊的用戶界面,對功能也做了第一次大的調(diào)整。然后我們召開了一次正式的用戶溝通會議,在功能設(shè)計上與用戶取得了一致意見,此時項目已經(jīng)進(jìn)行了一個多月的時間(40天),人員基本到位,項目逐步進(jìn)入正規(guī)。
二、詳細(xì)設(shè)計與編碼
根據(jù)公司的ISO9001文件,我們必須做出比較詳細(xì)的《詳細(xì)設(shè)計說明書》,這樣的一份文檔起碼要有幾百頁。但是,由于我們是第一次接觸客運售票這種業(yè)務(wù),我個人認(rèn)為不可能做出非常好的詳細(xì)設(shè)計,因為我們對業(yè)務(wù)的認(rèn)識程度不夠,設(shè)計上可能會存在很大的不確定性。因此我不支持在詳細(xì)設(shè)計的文檔上花費太多的時間,我們把更多的精力放在核心功能模塊的分析設(shè)計上。我們不斷的圍繞航班、售票的數(shù)據(jù)流進(jìn)行討論,同時對售票的并發(fā)、實時控制進(jìn)行詳細(xì)設(shè)計,對裝車的算法反復(fù)論證,做優(yōu)化設(shè)計。設(shè)計結(jié)束的時候,我們得到了一份核心模塊的功能設(shè)計文檔,開發(fā)人員對他負(fù)責(zé)的功能模塊相關(guān)的業(yè)務(wù)也基本熟悉了。這就是敏捷設(shè)計,在兼顧規(guī)范的同時,更注重實用性,更注重核心功能的把握。 一切順利,在大家的艱苦努力下,我們順利完成了本地網(wǎng)售票系統(tǒng)基本框架的編碼工作。太令人高興了,我告訴團(tuán)隊的成員,我們可以休息一下了。但是,麻煩就在這時候出現(xiàn)了。
三、迭代開發(fā)階段與項目的延期
9月份,終于完成了售票系統(tǒng)的“毛坯”,我們搶了整整兩個周的進(jìn)度,這是前個階段辛苦的結(jié)果。 按照計劃,我約請客戶代表來看程序,提意見。我們每天接待一批客戶派