筆者每天上下班都要走不短的一段路,最近幾天才體會出走路與項目管理之間的聯(lián)系。因為基本能確定上班花在路上的時間,所以每天幾乎都是掐著點兒從家里出發(fā)??墒窃趧偝鲩T走去地鐵站的時候,因為覺得還早,所以挺悠哉的像散步一樣走過去??墒窍铝说罔F往往都8點10好幾,有時是11、2分,有時就是17、8分了,從地鐵站到公司也要10來分鐘,就只好緊趕慢趕,甚至跑步前進(jìn)了。就算這樣也未必就能及時趕到公司,上次的遲到就是一個明證了。
項目管理也會出現(xiàn)同樣的情形。通常在項目啟動時,大家都知道我們有“大量的”時間,雖然可能這段時間相對于真實進(jìn)度而言可能還是很緊張甚至是不夠的,可是大家看著數(shù)量“巨大”的時間資源擺在面前,很容易產(chǎn)生一種“還早呢”的懈怠感。于是在項目初期產(chǎn)生拖拉、分析設(shè)計不深入等問題也不足為奇。
同樣,在項目中期雖然會感覺到一定的壓力,但仍會感覺有一定的“緩沖時間”在,有時也會產(chǎn)生“唉,這個問題我知道,等我有空了就馬上解決”或是“我知道這里應(yīng)該重新設(shè)計,可是我們還有時間,等過一會兒我有空了一定會好好設(shè)計的”這種想法/做法。
然而當(dāng)進(jìn)行到項目收尾階段,大家才會發(fā)現(xiàn)時間不夠用,前面沒解決的問題全都拖到這個階段,各種各樣的毛病、問題和用戶反饋像火山一樣爆發(fā),大家拼命加班加點,把所有精力都投入到Debug工作中,把那些“修飾性”的設(shè)計工作拋到了下一版,所有的團(tuán)隊成員都為了準(zhǔn)時提交可用的軟件這個唯一目標(biāo)而努力奮斗。最終也許可以準(zhǔn)時提交(如果足夠幸運的話),但再拖延個三四周甚至幾個月也并不是什么罕見的事。
為什么會這樣呢?這是因為,在項目的啟動階段(開始走路時),我們擁有全部可調(diào)動的資源,同時我們的時間還沒有開始浪費在不相關(guān)的地方,所以在這個時候我們最容易也最有可能減少我們的浪費。就像走路時你完全可以在前半段稍稍提高你的速度,不必奔跑,就可以省下大概10多分鐘的時間,而這些時間足夠讓你悠閑的從地鐵站走到公司而不會遲到。
同樣在項目開始時你可以通過對需求進(jìn)行詳細(xì)而深入的分析,對系統(tǒng)進(jìn)行全面的考慮而給出盡量合理的設(shè)計,在發(fā)現(xiàn)時間和資源浪費的同時糾正這些錯誤而提高開發(fā)速度,同時減輕資源(包括時間)的浪費。在前期的這些投入將使你在項目后期得到10倍甚至100倍的收益,因為你無法收回已浪費的時間和資源,但可以通過努力工作而減少尚未產(chǎn)生的浪費。
而在項目后期,絕大部分的時間和資源都已經(jīng)被使用,盡管你知道很多被浪費了,你也沒有辦法再去收回;而同時你可以調(diào)動用來進(jìn)行“補償”的資源也大大減少,之前由于懶惰、懈怠、草率造成的問題也都開始顯現(xiàn),所以你在這時焦頭爛額,疲于奔命,但往往還是不得不面對你無法兌現(xiàn)你當(dāng)初的承諾的悲慘結(jié)局。
因為無論如何努力,人的能力是有限的,就像如果地鐵站與公司的距離是一個人拼命狂奔也需要15分鐘的話,你在只剩10分鐘的情況下無論如何努力也是要遲到的,因為你不能期望著你能比世界短跑冠軍跑得還快。
所以盡管在項目初期和項目收尾時浪費的10分鐘看起來是一樣的,但它們帶來的影響是完全不同的,而沒有認(rèn)識到這個差別有時會產(chǎn)生非常嚴(yán)重的后果。順便說一句,同走路一樣,通常不能期望項目相對于估算日期提前很多完成。因為當(dāng)進(jìn)入到項目后期,每個人都能夠肯定項目不會拖延,肯定能夠按時交付的時候,不能夠指望他們還會拼命的去提前發(fā)布日期;相反,他們的通常做法是保持原來的進(jìn)度甚至稍稍懈怠一些,因為“反正不可能遲到,為何不看著報紙走去公司?”。
所以如果項目比估
算日期提前很多完成,那只有一種情況:估算本身偏離了實際情況太多,就如同早上上班出來的太早,盡管你走得很慢,可還是很早到了公司一樣。
要注意的是,盡管比預(yù)算提前了很多,但浪費也會隨之增加?因為預(yù)算過于寬松,緊迫感會隨之降低。