項目管理中的里程碑

學識都 人氣:3.24W

項目進度的延遲總是在快到計劃結束的時刻暴露出來,結果是誰也不知道到底什麼時候才能夠結束項目,到最後項目 經理只好請辭。那麼,到底問題出在哪呢?一起來看看!

項目管理中的里程碑

艱難的項目進度管理

軟件開發管理一直有一個令人困惑的難題,就是如何確保項目進度管理。項目進度控制是項目管理工作中的重要一環,也可以說是最艱難的工作之一。在軟件開發中項目進度失控受到很多因素的影響,主要有以下幾種情況:

(1)缺少進度指路明燈

當我們在路上行走的時候,會在沿途觀看路標,當到達某一個路標時,我們便知道還有多少路或多少時間才能夠到達終點。這些路標是我們在旅程中的里程碑,讓我們可以清楚地知道目前所在地離開目的地有多遠,也讓我們能估算何時才能夠到達目的地。

對於在路上行走的我們,可以通過路邊的里程碑這一個簡單工具來獲知自己的進度信息。當進行軟件開發的時候,我們也需要建立開發項目的里程碑,使我們知道項目的進度。里程碑是項目管理不可忽視的一部分,通常意味一個時間點上可交付成果的完成,好的里程碑管理就像一張地圖指示我們走向項目目標的進 度。

(2)項目進度估算準確性差

軟件項目開發進度控制面臨的最大挑戰就是項目進度估算的準確性差。據統計,在對軟件項目進度與成本估算時,大多數項目實際完成時間超過估算進度的25%到100%。根據我的經驗要想對項目進度進行有效的估算,必須抓好以下兩個方面:一是項目計劃的可行性和可操作性,這是進度估算的基礎。二是要對項目進度進行合理的度量,這樣才能夠獲得項目的真實進展情況,並對項目估算做出相應調整。

(3)前鬆後緊,項目進度缺乏有效監管和控制

一般人在工作時都有前鬆後緊的習慣,而里程碑強制規定在某段時間做什麼,從而合理分配工作,細化管理粒度。對複雜的軟件開發項目而言,每一階段 的進度都需要逐步逼近目標,里程碑產出的中間“交付物”就是每一步逼近的結果,也是控制的對象。如果沒有里程碑,中間想知道“現在進度做的怎麼樣了”是很困難的。

(4)沒有儘早發現和降低項目風險

在軟件開發中錯誤發現得越晚,對於開發造成的損失越大。里程碑式開發模式可根據每個階段產出結果分期確認成果,避免血本無歸。通過早期里程碑評審一般可以提前發現需求和設計中的`問題,降低後期修改和返工的可能性。例如,在需求分析階段發生的錯誤,那麼最多就是把需求分析寫一遍,損失的是一個人的勞動;而到了測試階段發現了需求錯誤,再回去重新做需求分析,那麼損失可能是致命的。

目標導向衍生里程碑式管理

一般來說,在項目開始時項目經理都會對開發項目進度制定一個詳細的計劃。通常情況下,這需要採用一些具體的開發模式技術,最常用的技術是網絡計 劃和里程碑計劃。網絡計劃是任務導向,以工作分解結構(WBS)爲基礎;里程碑計劃是目標導向,以目標分解結構(OBS)爲基礎。有時兩種方法可以混合使用,如在網絡計劃中設置里程碑。

(1)什麼是里程碑式管理

里程碑是一個目標導向模式,它表明爲了達到特定的里程碑需要完成的一系列活動。里程碑式開發是通過建立里程碑和檢驗各個里程碑的到達情況,來控制項目工作的進展和保證實現總目標。

軟件開發項目生命週期中有三個與時間相關的重要概念,這三個概念分別是:檢查點、里程碑和基線。檢查點是指在規定的時間間隔內對項目進行檢查, 比較實際進度與估算計劃之間的差異,並根據差異進行調整。我們可以將檢查點看作是一個固定“採樣”時點,而時間間隔根據項目週期長短不同而不同。里程碑是 指一個具有特定重要性的事件,通常代表項目工作中一個重要階段的完成。在里程碑處,通常要進行檢查。基線則是指一個配置在項目不同時間點上通過正式評審而 進入正式受控的一種(里程碑)狀態。

三者的關係是:重要的檢查點是里程碑,重要的需要客戶確認的里程碑,就是基線。有一句通俗的話是這樣描述:沒有檢查點,工作難進展,不設里程碑,項目往後推,基線不評審,客戶吃不準。

(2)怎樣纔算是一個里程碑呢?

簡單的說里程碑是完成一個階段工作後可以看到部分結果的檢查點。一般來說,在軟件開發過程中,我們都會經過一定的流程或階段,例如信息蒐集階 段、需求分析階段、系統設計階段、系統開發和系統測試階段。每個階段都會產生交付物,每一份交付物的完結說明我們已經完成了一個階段的工作,一般情況下我 們是在確認這一份工作成果後纔會進入下一個階段的工作。因此,每一份交付物將就是開發過程中的里程碑。

里程碑(基線、基點)是一個軟件配置在開發週期內的某一特定時刻、正式的事件,它也就是階段性目標。里程碑是團隊階段性工作完成的標誌,對於任 何一個里程碑都應該給於認真的檢查、審定和批准。在里程碑中間應要設置大量的檢查點,這些檢查點應要細分到一旦檢查點出現問題不至於在進度上失控。

(3)里程碑可爲進度預留緩衝時間

使用里程碑式模式還有一個好處,就是將大項目分成若干里程碑式的重要階段時,可在各重要階段之間預留有緩衝時間。使用緩衝時間,可以很好的在項 目未來實際執行進度和預計進度之間取得平衡。一般來說,在項目中我們需要爲意外事故保留總開發1/3的時間,即“緩衝時間”。緩衝時間有助於一個項目適應 意料之外的事件,例如緩衝時間可以用於彌補進度延誤,或者是技術困難或是由於疏忽而忘記把任務寫入進度,或者是未料到的難題而形成的時間損失,這種應付突 發事件的緩衝時間在開發和穩定化過程中是每一個主要里程碑的一部分。

(4)警惕只問結果的里程碑陷阱

衆所周知,里程碑是項目進度控制中的一個極爲重要的概念,也正因爲如此,人們也易於過於依賴里程碑,反而使項目進度落空。里程碑陷阱表現爲人們在軟件項目的里程碑被設定以後,認爲“目標管理是隻問結果,不計過程”,從而忽視對過程的監控而導致項目里程碑不能按期達到。

如何實施里程碑式的管理

里程碑一般是項目中完成階段性工作的標誌,不同類型的項目,里程碑也不同。其精髓首先是將大項目劃分成若干個子項目或若干個子階段;其次,是通過每一階段對各人員角色職責的考覈和監管,以保證開發過程的進度和質量。

(1)劃分若干個子項目,設立里程碑檢查點

項目進度是以里程碑爲界限,將整個開發週期劃分爲若干階段。根據里程碑的完成情況,適當的調整每一個較小的階段的任務量和完成的任務時間,這種方式非常有利於整個項目進度的動態調整,也利於項目質量的監督。

在里程碑式的開發模式下,因爲按子項目或子階段來劃分里程碑,每一個子項目都會經過一定的穩定化階段。當再進入到第二個子項目的時候,就是基於 前一個相對穩定的子項目基礎之上,這樣就將風險或錯誤的累加分散到最低。以局部的進度控制和質量控制來保證整體開發過程的穩定,使得質量和進度得以很好的 控制,這就是里程碑式的開發模式優秀之處。

(2)每個具體的里程碑應與具體角色相關聯

里程碑模式也可以稱作項目實施進度管理模式,一但開發項目立項確定,需要做的第一件事情就是確定項目進度的里程碑。在里程碑中應清楚地定義每一個階段的開始時間、結束時間、負責人和階段的提交成果。

因此,里程碑是項目經理進行開發進度控制的主要依據,里程碑一旦確定,各相應負責人應確保按時交付成果,這樣既便於明確各個角色責權範圍,也有 利於按時完成任。例如每個具體的里程碑與開發組某一具體的人員角色相關聯,達到某個里程碑表明對此負有主要責任的人員角色完成了任務。因此,基於里程碑的 軟件質量控制必然會演變成對角色的質量控制,這樣才能真正達到對軟件質量的控制,

(3)確保里程碑有可驗證的標準

我們經常看到許多項目進度中,都像模像樣地設立了里程碑。但實際上,最大的問題就在於許多里程碑沒有設定相應的驗證標準。在軟件開發項目中設立 的里程碑,其作用是在項目進行時確認進度用的,沒有設定驗證標準就等於沒有里程碑管理。因此,需要給出一個清晰的驗證標準,用來驗證是否達到里程碑。

(4)里程碑應標明交付成果的進度

在標識里程碑時,要根據里程碑完成情況標明交付成果的進度。更通俗地說,就是讓每個里程碑帶上一個百分比,清楚的告訴團隊通過這個里程碑說明項目完成了多少。當然隨着項目進度的動態變化,未到達的里程碑的也應該做出相應的調整。