里程碑怎樣設定才合理?
在專案開發過程中設定里程碑檢查點,是專案監控的有效措施之一。但是,一個專案究竟設定幾個里程碑才合適呢?
這個問題一直困擾著實施GJB5000的組織。在一個專案中設定2個或者3個里程碑,常被評價組置疑里程碑數太少,那麼設定4個、5個就合適嗎?
要想知道設定多少個里程碑最為合適,首先,我們要理解設定里程碑的意義。
專案開發的過程,是一個從混沌走向明朗的過程。在專案前期,往往不能準確地預知專案的目標能否達成。通過設定一些里程碑,將專案的目標拆分成一個個可達的小目標,專案團隊通過這些小目標的達成也能不斷得到激勵,最終實現專案的目標。
所以,里程碑點對於專案的利益相關方來說,是一個有意義的點。比如,需求固化、設計穩定、開發完成、測試結束這樣的點。
有些組織認為里程碑都是重大節點,所以需要通過所級/廠級的評審才行。這個觀點似乎並不妥。里程碑評審應由哪些人蔘加,要看這個里程碑達成什麼目標,這個目標的利益相關方有哪些來決定。按照《軟體研發之道-微軟開發團隊的經驗法則》的表述,這些有意義的點,有時是自然出現的。書中把它稱為自然里程碑。書中列舉了6個自然里程碑點,分別是:
-
設計穩定
設計穩定指的是軟體產品的解決方案已經確定,不會再有大的改動。
-
需求明確
隨著解決方案的確定,相關方可以更準確地理解解決方案,可以更具體地描述需求和目標,需求也能達成一致理解。
-
計劃確定
專案範圍已定,投入資源已知,專案的工作量、進度都可以確定。
-
重大變更
隨著專案進展,總會出現一些重大變更的情況出現,或者減少功能、或者增加資源。一旦變更結束,專案會重新趨於穩定狀態。
-
開發結束
編碼活動停止,功能全部實現。
-
結束測試
完成軟體測試,修復所有BUG。
這些里程碑都可以給專案經理作為參考。
最後,按照微軟團隊的經驗法則39“里程碑的合理數目”給出了兩個設定里程碑的建議:
1) 最好每6個星期或者3個月設定一個里程碑。小型團隊可以多設定一些里程碑,因為小型團隊的里程碑開銷較低,而且可以通過成功的里程碑快速成長。
2) 任何專案里程碑數目不能超過7個。最佳里程碑數目3個或4個,外加交付里程碑。
這正是:
合理設定里程碑,專案監控起作用
最佳數目四五個,週期間隔適當設
參考書目:《軟體研發之道-微軟開發團隊的經驗法則》,人民郵電出版社
作者簡介:王小雙,長期從事GJB5000推廣、實施、評價、改進的工作,建立《軟體工程之思》微信公眾號,一直在《軟體工程之思》分享GJB5000、CMMI、軟體工程的知識和感悟。現致力於GJB5000諮詢以及軟體過程改進、軟體工程能力提升的研究工作。