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