4.1.2.2 工作流程中的并發(fā)性
有個(gè)朋友曾經(jīng)問我在開發(fā)項(xiàng)目時(shí)什么時(shí)候讓你感到浪費(fèi)時(shí)間,我想了想,說(shuō)是“當(dāng)我很忙,但項(xiàng)目成員卻無(wú)所事事的時(shí)候”。細(xì)想原因,歸根到底是工作流程的問題。為什么這樣說(shuō)呢,傳統(tǒng)開發(fā)時(shí),當(dāng)項(xiàng)目經(jīng)理與系統(tǒng)分析員進(jìn)行業(yè)務(wù)需求和設(shè)計(jì)時(shí),通常認(rèn)為項(xiàng)目成員沒有什么可做的,在項(xiàng)目過程中,做一些系統(tǒng)更改時(shí),認(rèn)為程序員水平不夠,幫不上忙。于是乎,程序員似乎理所當(dāng)然地休息一下,上上網(wǎng),打打游戲。時(shí)間這樣被浪費(fèi)了。
這個(gè)問題是我們?cè)诖艘?guī)范強(qiáng)調(diào)的重點(diǎn)之一:工作的并發(fā)性。
下圖是實(shí)現(xiàn)工作并發(fā)的一種方式:
在工作中實(shí)現(xiàn)并發(fā),是合理地安排項(xiàng)目開發(fā)的重要環(huán)節(jié),以避免不必要的浪費(fèi),同時(shí)通過合理分配工作量的方式,減輕了傳統(tǒng)項(xiàng)目中項(xiàng)目經(jīng)理的壓力。
4.1.3.項(xiàng)目管理制度
淡化個(gè)人的力量,突出團(tuán)隊(duì)的協(xié)作
在項(xiàng)目開發(fā)過程中,麻煩的是個(gè)別‘高手’的要脅。這種‘高手’掌握了系統(tǒng)關(guān)鍵的部份,并且此時(shí)無(wú)人可替,非他不可,這時(shí)‘高手’借機(jī)要求加薪,升職。。。。。。
如何避免這種情況的出現(xiàn)呢?
我認(rèn)為是細(xì)化工作量,不要象以前的開發(fā)中那樣,說(shuō)某某,你負(fù)責(zé)某個(gè)模塊。而是盡量細(xì)化工作內(nèi)容,基本上應(yīng)細(xì)化到每工作日,如果細(xì)化到工作時(shí)則更好。同時(shí)建立相互依賴關(guān)系,實(shí)現(xiàn)開發(fā)上的并發(fā),每一個(gè)程序員的工作延遲,將牽涉到幾個(gè)程序員的工作,這樣,其他程序員為了在工作日中完成工作,必須相互幫助。從而實(shí)現(xiàn)了團(tuán)隊(duì)的協(xié)作。
做好項(xiàng)目總結(jié)
項(xiàng)目總結(jié)是非常必要的。在項(xiàng)目總結(jié)中要對(duì)項(xiàng)目或開發(fā)階段中出現(xiàn)的問題進(jìn)行一一歸納。其中包括技術(shù)總結(jié),工作總結(jié),行為總結(jié),從而促進(jìn)項(xiàng)目人員的成長(zhǎng)并能在下一個(gè)階段或下一項(xiàng)目中避免相應(yīng)的問題。
技術(shù)總結(jié)主要是對(duì)開發(fā)中所出現(xiàn)的技術(shù)問題進(jìn)行總結(jié)。一個(gè)程序員開發(fā)的程序在被測(cè)試員測(cè)試后,或被代碼復(fù)審人員檢查后,發(fā)現(xiàn)了問題,如廢代碼過多,調(diào)用錯(cuò)誤的參數(shù)等,此時(shí)你不應(yīng)立即打斷程序員的工作,因?yàn)槟菢訒?huì)打擾程序員現(xiàn)有工作的思路。在項(xiàng)目總結(jié)會(huì)上,可以把他寫的代碼公布給項(xiàng)目組人員共同閱覽,讓大家給他提意見,這樣使之有了進(jìn)一步的提高。
工作總結(jié)是指在開發(fā)過程中出現(xiàn)的其他問題,有些人能力差,有些人能力強(qiáng),能力差的總是拖大家的后腿,這樣導(dǎo)致眾多意見,這樣可以通用大家總結(jié)的方式,一來(lái)可以為項(xiàng)目管理人員重新安排工作量提供參考,二來(lái)也在以另一種方式對(duì)程序員進(jìn)行激勵(lì)。
行為總結(jié)是指對(duì)項(xiàng)目開發(fā)中個(gè)人行為所出現(xiàn)的問題進(jìn)行總結(jié)。如個(gè)別人出現(xiàn)了消極怠工現(xiàn)象,那樣大家來(lái)總結(jié)一下,如果是外界因素如家庭等的影響,則看項(xiàng)目組成員是否可以幫上忙,或者由項(xiàng)目管理人員進(jìn)行工作安排的協(xié)調(diào)。如果是上面說(shuō)的‘高手’故意擺譜,則把事情講清楚,由項(xiàng)目管理人員進(jìn)行相應(yīng)的處理。
流程管理
習(xí)慣于傳統(tǒng)開發(fā)模式的程序員可項(xiàng)目經(jīng)理可能不愿意按照項(xiàng)目管理規(guī)范來(lái)做。認(rèn)為這樣做麻煩,要寫的文檔無(wú)數(shù)。在實(shí)施的過程中往往按自已的一套來(lái)做,從而造成項(xiàng)目的拖延。所以說(shuō),對(duì)項(xiàng)目中的各個(gè)流程都有相應(yīng)的機(jī)制來(lái)監(jiān)督,RUP中所談到的流程管理是與開發(fā)相并行一個(gè)機(jī)構(gòu),但在目前的情況下,可能無(wú)法實(shí)現(xiàn)。那樣必須建立相應(yīng)的機(jī)制來(lái)處理,以避免不必要的損失。
4.2 分步實(shí)施
由于我們現(xiàn)在還處在原始的項(xiàng)目管理階段,實(shí)現(xiàn)一步到位是非常困難的,所以采用分步方式實(shí)施:
第一步 :實(shí)現(xiàn)初步規(guī)范(針對(duì)項(xiàng)目組級(jí))
實(shí)現(xiàn)項(xiàng)目階段、角色層次的初步劃分
將項(xiàng)目階段劃分四個(gè)大的階段(如第一章),以里程碑的各項(xiàng)指標(biāo)(指標(biāo)根據(jù)實(shí)際情況縮減)考核項(xiàng)目組。
將項(xiàng)目組人員劃分成不同角色(一個(gè)人可能是多個(gè)角色),明確分工,加強(qiáng)協(xié)作。(角色根據(jù)實(shí)際情況縮減,基本上是業(yè)務(wù)人員、架構(gòu)設(shè)計(jì)師、系統(tǒng)分析員、項(xiàng)目經(jīng)理、環(huán)境配置人員、數(shù)據(jù)庫(kù)設(shè)計(jì)人員、系統(tǒng)集成人員、程序員、測(cè)試員、復(fù)審員、文檔員、界面設(shè)計(jì)人員)
項(xiàng)目工作重心轉(zhuǎn)到分析設(shè)計(jì)部分
將工作重心轉(zhuǎn)移到分析設(shè)計(jì)來(lái),分析設(shè)計(jì)分為兩個(gè)方面,一方面是對(duì)系統(tǒng)功能與架構(gòu)等系統(tǒng)設(shè)計(jì),另一方面是指將系統(tǒng)分析細(xì)化至功能及類一級(jí),并寫出對(duì)類的要求,如參數(shù),功能等。
規(guī)范工作流程
將工作流程劃分為業(yè)務(wù)需求、環(huán)境配置、分析設(shè)計(jì)、項(xiàng)目管理、實(shí)施。嚴(yán)格按照項(xiàng)目規(guī)范進(jìn)行管理。