夫子曰:凡事欲則立,不欲則廢?!坝保褪菍κ挛锏囊?guī)劃,說明事物規(guī)劃的重要性。中國人對規(guī)劃非常重視,軟件開發(fā)也不例外。軟件開發(fā)項(xiàng)目的規(guī)劃具體來說,就是項(xiàng)目的計(jì)劃。但軟件開發(fā)項(xiàng)目卻常常脫離項(xiàng)目的計(jì)劃,不能夠更早或準(zhǔn)時完成。這仿佛成了軟件開發(fā)項(xiàng)目的“通病”,至今沒有有效的解決辦法。本文針對軟件開發(fā)中的幾個不良因素進(jìn)行分析,提出相應(yīng)的應(yīng)對方法,希望能夠減輕和預(yù)防這個“通病”。使參與項(xiàng)目管理的相關(guān)人員能夠有所借鑒。
影響項(xiàng)目的外部因素非常之多,常見的因素有客戶需求的變更、使用技術(shù)的失敗、選擇的供應(yīng)商不能履行承諾、其他額外的工作和項(xiàng)目影響了項(xiàng)目的開發(fā)。本文不對這些相對“外部”因素進(jìn)行討論,本文關(guān)注的因素主要是參與軟件開發(fā)的項(xiàng)目團(tuán)隊(duì)的“內(nèi)部”不良因素,這些因素有:項(xiàng)目延遲效應(yīng)、不良多任務(wù)、學(xué)生候群癥、帕金森定律、“錦上添花”。
項(xiàng)目的延遲效應(yīng) :項(xiàng)目是一系列相互依賴的活動構(gòu)成的,當(dāng)某個活動由于某些原因延遲完成,與這個活動依賴的相關(guān)活動都會受到影響并推遲完成,以至于整個項(xiàng)目不能夠按時完成。
不良多任務(wù):受到流水線工作的影響,為充分使用人力資源,項(xiàng)目中的部分成員被賦予多個工作,認(rèn)為這樣可以提高工作效率。其實(shí)人并不是計(jì)算機(jī)。計(jì)算機(jī)可以立即切換(或化費(fèi)非常少的時間切換)開始另外一項(xiàng)工作,而項(xiàng)目工程師化費(fèi)在工作切換上的時間將占用許多工作時間。并且由于工作切換帶來的負(fù)面效應(yīng)(不能投入的工作)造成相應(yīng)的問題,解決這些問題需要大量的時間,甚至問題使問題越來越多。
學(xué)生候群癥:為了應(yīng)付項(xiàng)目中的突發(fā)事件和計(jì)劃外工作。項(xiàng)目計(jì)劃中的活動一般留有世間余量。但這并不能使工作人員提早完成工作,工作人員在開始工作前,經(jīng)常會先將工作余量時間浪費(fèi)掉,然后才開始工作。若發(fā)生異常情況,照樣不能按時完成工作。
帕金森定律:某些工作提前完成了,但開發(fā)人員并不會利用節(jié)省的時間,開始下一項(xiàng)工作,節(jié)省的時間同樣在等待中浪費(fèi)掉。
“錦上添花”:項(xiàng)目開發(fā)人員根據(jù)自己不完全的理解及追求完美的心理,增強(qiáng)了“超過期望”的系統(tǒng)功能,加大了項(xiàng)目開發(fā)成本,加大了項(xiàng)目的維護(hù)量。
為避免這些不良因素的影響,項(xiàng)目管理者在項(xiàng)目計(jì)劃和實(shí)施過程中可以借鑒以下幾種措施,防止對項(xiàng)目的負(fù)面影響。
項(xiàng)目活動的估算
從項(xiàng)目的過程來看,項(xiàng)目是由構(gòu)成項(xiàng)目的一系列活動構(gòu)成的,當(dāng)這一系列活動按次序正常發(fā)生了,項(xiàng)目也就結(jié)束了。因此,在作項(xiàng)目計(jì)劃時,首先將項(xiàng)目采用WBS(Work BreakDown Structure)方法將項(xiàng)目分解為一系列可估算的活動(資源、時間、成本)?;顒拥墓浪阌卸喾N方法,最基本最常用的方法是經(jīng)驗(yàn)估算法。以時間估算為例,假如你每天上班大約需要30分鐘,那你早上上班會提前30分鐘出發(fā)。你不會由于偶爾堵車或其他因素而改變你每天的出發(fā)時間,所以你規(guī)劃的上班時間為30分鐘。但假如老總希望今天上班后召見你,你當(dāng)天可能會提前40分鐘出發(fā)上班,那你規(guī)劃的上班時間為40分鐘。估算項(xiàng)目活動也如同這個道理,對于比較重要的活動,相應(yīng)會給出比較多的資源和時間,而次要的活動,會給出較少的時間。估算活動時間不必考慮偶然因素對項(xiàng)目的活動的影響。偶然因素的影響放在項(xiàng)目風(fēng)險(xiǎn)方面考慮。
客觀公正地估算項(xiàng)目活動時間,是項(xiàng)目人員最基本的素質(zhì),也是項(xiàng)目人員能力的體現(xiàn)。
項(xiàng)目活動的界定
對于不稱職的項(xiàng)目人員,當(dāng)他匯報(bào)某個項(xiàng)目活動已經(jīng)完成時,其實(shí)他只完成了項(xiàng)目活動的某一表面部分。如某個程序員匯報(bào),他已經(jīng)完成了某項(xiàng)功能的實(shí)現(xiàn)。其實(shí)他僅僅完成了編碼,這個功能程序還沒有調(diào)試,甚至不能編譯執(zhí)行。同樣,某個設(shè)計(jì)人員匯報(bào)完成某項(xiàng)功能的設(shè)計(jì),其實(shí)他僅僅完成功能文檔初稿的編寫,文檔還沒有檢查(甚至語句都不通順),沒有審核,沒有評審,還不能納入配置管理受控和發(fā)布。因此,必須對項(xiàng)目活動進(jìn)行界定。只有滿足活動界定的輸出條件,才能說本項(xiàng)活動已經(jīng)完成?;顒拥慕缍ǚ衔鍌€條件:一是輸入條件是什么?二是本項(xiàng)活動由誰來承擔(dān)負(fù)責(zé)?三是完成活動需要多長時間(估算)?四是誰來檢查這項(xiàng)工作?五是完成活動的輸出產(chǎn)品或結(jié)束原則是什么?
值得注意的是項(xiàng)目規(guī)劃者一定不要設(shè)置本項(xiàng)工作的起始工作時間點(diǎn)和完成工作時間點(diǎn),防止開發(fā)人員的“學(xué)生侯群癥”。對工作活動一定要設(shè)置檢查活動,保證活動過程質(zhì)量,項(xiàng)目活動完成后一定反饋匯報(bào),并且防止“帕金森定律”發(fā)生。在項(xiàng)目活動符合輸出條件后,立即宣布本項(xiàng)活動完成,防止開發(fā)人員的“錦上添花”的作為。
項(xiàng)目間隙的設(shè)置
項(xiàng)目的計(jì)劃是對項(xiàng)目活動的預(yù)先規(guī)劃和設(shè)想。項(xiàng)目管理要求項(xiàng)目按預(yù)想的計(jì)劃執(zhí)行,但項(xiàng)目執(zhí)行過程中,由于其他因素的干擾,包括突發(fā)事件的出現(xiàn)。必然將項(xiàng)目的執(zhí)行偏離預(yù)想的計(jì)劃。為了使計(jì)劃可行且保證一定的穩(wěn)定性,在項(xiàng)目計(jì)劃中,增加相應(yīng)的間隙時間是有必要的。間隙時間根據(jù)項(xiàng)目的活動時間,一般占項(xiàng)目實(shí)際計(jì)劃時間的5%~25%。選比例按項(xiàng)目計(jì)劃的精細(xì)程度和項(xiàng)目管理者對項(xiàng)目的把握程度。若項(xiàng)目計(jì)劃比較精細(xì),項(xiàng)目管理者對項(xiàng)目把握程度較高,則選擇較低的間隙比例,否則選擇較高的間隙比例。項(xiàng)目的間隙不要分配給項(xiàng)目活動中,防止被開發(fā)人員無畏浪費(fèi)掉(學(xué)生侯群癥),應(yīng)作為項(xiàng)目中的“灰色”間隙,由項(xiàng)目管理者掌握??傊?,一定不要讓開發(fā)人員感覺到時間寬裕,應(yīng)讓開發(fā)人員在緊迫的時間中,完成必要的項(xiàng)目活動。也是不要給項(xiàng)目員工有機(jī)會犯學(xué)生候群證和“錦上添花”錯誤的機(jī)會。
不良多任務(wù)的避免
即使最能干的項(xiàng)目成員,不要給他賦予超過三項(xiàng)并行任務(wù)。記住,只有投入,才能做好事情,尤其是軟件開發(fā)。
【?發(fā)表評論?0條?】