項目經(jīng)理在整個項目團(tuán)隊中,軟件項目進(jìn)度的控制是頭等大事之一,有計劃有安排的項目管理才是保證項目質(zhì)量保證。但是,往往由于客戶等外部因素或者是組內(nèi)等內(nèi)部因素,導(dǎo)致經(jīng)常項目計劃有變更,計劃趕不上變化的事情常常發(fā)生,最終導(dǎo)致整個項目的節(jié)奏就被外部因素趕著走,進(jìn)度控制只是變成了一句空話。
通過里程碑式管理是控制項目進(jìn)度的方法之一。里程碑是什么,以博主(四代土豆)熟悉的42公里馬拉松為例,整個賽道每個五公里在賽道醒目標(biāo),這個醒目標(biāo)志就是里程碑,可以讓比賽選手可以清楚的知道自己跑步的進(jìn)度,方便控制跑步節(jié)奏。試想一下,如果沒有這些標(biāo)志,那么選手只能根據(jù)主觀來判斷當(dāng)前的節(jié)奏,容易造成比賽失誤。
同樣,在軟件開發(fā)項目中也可以通過類似的里程碑式管理,讓包括自己、客戶、組員和領(lǐng)導(dǎo)都了解項目的整個進(jìn)度,完成了多少,該以哪種節(jié)奏工作。軟件開發(fā)中里程碑是什么呢?里程碑一般是完成階段的工作標(biāo)志,標(biāo)志著上一個階段的結(jié)束和下一個階段的開始。除此上面的要求以外,選取作為里程碑的標(biāo)志還有另外幾點(diǎn)選取的依據(jù):
1. 選取的里程碑,項目的干系人都必須清楚的知道其概念,方便溝通;
2. 選取的里程碑,必須有進(jìn)度的估算方法,方便進(jìn)度跟蹤、檢查和匯報;
3. 選取的里程碑,必須是所有不同規(guī)模項目都有的,方便多個項目同時跟蹤,也方便領(lǐng)導(dǎo)全局的監(jiān)控所有項目;
目前軟件開發(fā)都采用的瀑布模型或迭代模型等標(biāo)準(zhǔn)的軟件開發(fā)模型,使用開發(fā)階段作為里程碑是比較合理的方法,劃分的里程碑有:需求設(shè)計、基本設(shè)計、系統(tǒng)開發(fā)、系統(tǒng)測試、更新上線和運(yùn)行實(shí)施共六個里程碑;每個里程碑的下還會根據(jù)WBS再分解任務(wù)。里程碑進(jìn)度是根據(jù)有其下面的任務(wù)的進(jìn)度計算得到。這樣,只要有任何變更,都先調(diào)整其下的任務(wù),重新計算其里程碑進(jìn)度;再根據(jù)項目實(shí)際情況,如果偏差和預(yù)期偏差過大,讓項目所有干系人知曉,重新確認(rèn)計劃,告知其風(fēng)險,(至于風(fēng)險控制不是本文討論了,以后再討論)。該加班的就加班,該壓縮需求的就壓縮,或者是重新調(diào)整進(jìn)度等,該申請資源就申請資源,這個都是項目經(jīng)理該積極做的事情,不管做什么,目的就是控制住項目進(jìn)度。
WBS分解和項目進(jìn)度計算可以使用一定的工具,比如Ms Project,Ms Excel工具就可以很好的管理里程碑和進(jìn)度;我使用的是TaskPm工具,在創(chuàng)建子項目時,系統(tǒng)自動生成這六個里程碑,并根據(jù)下面的任務(wù)自動計算里程碑進(jìn)度,可以直觀的看到項目的進(jìn)度和進(jìn)度的變化,領(lǐng)導(dǎo)也能全局的看到所有項目當(dāng)前進(jìn)度,一目了然。
當(dāng)然,項目管理的進(jìn)度控制在實(shí)際過程中比本文要描述的要復(fù)雜的多,在一些規(guī)模比較大、需求比較模糊和資源不穩(wěn)定等負(fù)責(zé)情況的項目下,還需要有其他的輔助方法來協(xié)同管理,這個以后再繼續(xù)討論。但是有一點(diǎn)都需要肯定的,項目經(jīng)理是控制進(jìn)度的第一負(fù)責(zé)人,對項目進(jìn)度的負(fù)責(zé),就是對客戶、對項目組組員對領(lǐng)導(dǎo)負(fù)責(zé),只有可控的進(jìn)度,才是保證項目質(zhì)量的前提。