)什么是里程碑式管理
里程碑是一個目標(biāo)導(dǎo)向模式,它表明為了達(dá)到特定的里程碑需要完成的一系列活動。里程碑式開發(fā)是通過建立里程碑和檢驗各個里程碑的到達(dá)情況,來控制項目工作的進(jìn)展和保證實現(xiàn)總目標(biāo)。
軟件開發(fā)項目生命周期中有三個與時間相關(guān)的重要概念,這三個概念分別是:檢查點、里程碑和基線。檢查點是指在規(guī)定的時間間隔內(nèi)對項目進(jìn)行檢查,比較實際進(jìn)度與估算計劃之間的差異,并根據(jù)差異進(jìn)行調(diào)整。我們可以將檢查點看作是一個固定“采樣”時點,而時間間隔根據(jù)項目周期長短不同而不同。里程碑是指一個具有特定重要性的事件,通常代表項目工作中一個重要階段的完成。在里程碑處,通常要進(jìn)行檢查?;€則是指一個配置在項目不同時間點上通過正式評審而進(jìn)入正式受控的一種(里程碑)狀態(tài)。
三者的關(guān)系是:重要的檢查點是里程碑,重要的需要客戶確認(rèn)的里程碑,就是基線。有一句通俗的話是這樣描述:沒有檢查點,工作難進(jìn)展,不設(shè)里程碑,項目往后推,基線不評審,客戶吃不準(zhǔn)。
(2)怎樣才算是一個里程碑呢?
簡單的說里程碑是完成一個階段工作后可以看到部分結(jié)果的檢查點。一般來說,在軟件開發(fā)過程中,我們都會經(jīng)過一定的流程或階段,例如信息搜集階段、需求分析階段、系統(tǒng)設(shè)計階段、系統(tǒng)開發(fā)和系統(tǒng)測試階段。每個階段都會產(chǎn)生交付物,每一份交付物的完結(jié)說明我們已經(jīng)完成了一個階段的工作,一般情況下我們是在確認(rèn)這一份工作成果后才會進(jìn)入下一個階段的工作。因此,每一份交付物將就是開發(fā)過程中的里程碑。
里程碑(基線、基點)是一個軟件配置在開發(fā)周期內(nèi)的某一特定時刻、正式的事件,它也就是階段性目標(biāo)。里程碑是團(tuán)隊階段性工作完成的標(biāo)志,對于任何一個里程碑都應(yīng)該給于認(rèn)真的檢查、審定和批準(zhǔn)。在里程碑中間應(yīng)要設(shè)置大量的檢查點,這些檢查點應(yīng)要細(xì)分到一旦檢查點出現(xiàn)問題不至于在進(jìn)度上失控。
(3)里程碑可為進(jìn)度預(yù)留緩沖時間
使用里程碑式模式還有一個好處,就是將大項目分成若干里程碑式的重要階段時,可在各重要階段之間預(yù)留有緩沖時間。使用緩沖時間,可以很好的在項目未來實際執(zhí)行進(jìn)度和預(yù)計進(jìn)度之間取得平衡。一般來說,在項目中我們需要為意外事故保留總開發(fā)1/3的時間,即“緩沖時間”。緩沖時間有助于一個項目適應(yīng)意料之外的事件,例如緩沖時間可以用于彌補進(jìn)度延誤,或者是技術(shù)困難或是由于疏忽而忘記把任務(wù)寫入進(jìn)度,或者是未料到的難題而形成的時間損失,這種應(yīng)付突發(fā)事件的緩沖時間在開發(fā)和穩(wěn)定化過程中是每一個主要里程碑的一部分。
(4)警惕只問結(jié)果的里程碑陷阱
眾所周知,里程碑是項目進(jìn)度控制中的一個極為重要的概念,也正因為如此,人們也易于過于依賴?yán)锍瘫炊鬼椖窟M(jìn)度落空。里程碑陷阱表現(xiàn)為人們在軟件項目的里程碑被設(shè)定以后,認(rèn)為“目標(biāo)管理是只問結(jié)果,不計過程”,從而忽視對過程的監(jiān)控而導(dǎo)致項目里程碑不能按期達(dá)到。
三、如何實施里程碑式的管理
里程碑一般是項目中完成階段性工作的標(biāo)志,不同類型的項目,里程碑也不同。其精髓首先是將大項目劃分成若干個子項目或若干個子階段;其次,是通過每一階段對各人員角色職責(zé)的考核和監(jiān)管,以保證開發(fā)過程的進(jìn)度和質(zhì)量。
(1)劃分若干個子項目,設(shè)立里程碑檢查點
項目進(jìn)度是以里程碑為界限,將整個開發(fā)周期劃分為若干階段。根據(jù)里程碑的完成情況,適當(dāng)?shù)恼{(diào)整每一個較小的階段的任務(wù)量和完成的任務(wù)時間,這種方式非常有利于整個項目進(jìn)度的動態(tài)調(diào)整,也利于項目質(zhì)量的監(jiān)督。
在里程碑式的開發(fā)模式下,因為按子項目或子階段