最現實、最合理的進度表在項目進行中還是可能遇到麻煩。例如由于有一些事情的優先等級提高了,另一個本來進行得很順利的任務現在卻可能被放到了不重要的位置。一般來說,可以有好幾個辦法讓進度表滯后的項目再回到正常軌道上來。那么,如何避免進度表滯后,保證項目如期完成?
鎖定需求,避免無休止的變更
每一個項目都需要在開展之前鎖定需求,不這樣做必將會導致項目失敗。在項目開發的過程中,多多少少都會發生一些范圍變更,一定要嚴格控制這些變更,對這些變更有一個應對方案,把變更范圍控制在可控范圍內,不然便會出現很多并發癥,導致進度表滯后和成本的增加。
例如明確項目需求變更的根本原則,避免將需求范圍擴大化,將不確定和復雜多變的需求排除在開發策略之外。把需求定義為"必須的需求"、"應當具備的需求"和"錦上添花的需求",嚴格堅守核心功能,并一直不斷跟蹤以控制在進度表范圍之內。事實證明,只有做到了需求明確才能避免進度表不斷滯后的惡果。
重新檢查進度表
項目進度表的一個很重要的前提是項目估算,項目估算最大的基礎是基于經驗值,而軟件工程的經驗值反映的只是業界的常規實踐,并不能夠反映每一個團隊。因此,在項目估算時應該以自己團隊歷史經驗值為基礎,讓項目團隊中的每一個成員參與估算,這樣才能夠保證項目計劃的可行性,從而避免出現系統設計與編碼實現都超出進度表的計劃估算。
同時,項目進度表不是一成不變的,而是應該根據項目的進展對一些新的需求、新的變化做出響應,動態的更新項目計劃。例如,面對動態變化的環境,可采用迭代式的生命周期模型使項目開發團隊更好地適應變化。如果進度嚴重滯后,看看能否在進度表中增加一到兩個緩沖區,如果已經用光了所有的緩沖區,看看能不能縮短某個任務的時間或加快進行。同時,仔細檢查進度表里有沒有這樣的步驟:他們可以錦上添花,但并不是項目成功的關鍵任務。現在就需要刪除這些內容,可能最后的結果沒那么精細,但去掉一些裝飾物可以幫助項目走回正軌。
有效的進度表檢查工具
糟糕的執行會給項目帶來在成本和時間兩方面上的失敗,這會最終導致整個項目的失敗。很多失敗的項目開發的教訓揭示了能夠充分地描述項目進度的檢查工具簡直太重要了。我得到的最寶貴的經驗是要抓住項目開發過程中的關鍵環節,密切注意進展情況,一旦出現問題,應該馬上能拿出切實可行的措施。當出現可能嚴重影響進度表滯后時,就應該根據現階段狀況重新評價需求分析結果、工數估算、設計結果等。切勿匆忙采取頭痛醫頭、腳痛醫腳的措施,致使進度表滯后更嚴重。
例如,根據里程碑完成情況編寫項目進度報告時賦予里程碑標識進度值的功能。簡單地說,就是讓每個里程碑帶上一個百分比,告訴團隊通過這個里程碑說明項目完成了多少,這樣項目進度報告上的完成百分比將顯得更加真實和有意義。