里程碑,這個計劃的框架基本確定了。我們可以進行功能點的估算得到一個參考的估算值,例如系統(tǒng)需要耗費的工作量(人月或人時),進一步估算,我們可以得到每個活動花費的工作量,例如編碼的工作量是多少個人月或人時,此時結(jié)合項目的實際人力資源情況,當這兩者匹配時,計劃是可行的。否則需要對計劃作出調(diào)整。由于有了比較客觀的估算,這種調(diào)整還是比較具有說明力的。
最后總體計劃要確定迭代周期多長,一般為2-3周。
總體計劃批準通過后建立計劃基線,如果需要修訂必須獲得客戶方的同意,但是總體計劃關(guān)注的層次較高,修訂的機會很小,避免了項目經(jīng)理頻繁更新計劃的困境。
制定迭代計劃
確定了總體計劃后,我們可以為每個迭代周期制定計劃了,但是并非將所有迭代周期的計劃一次性完成,我們只需要制定當前迭代周期的計劃即可,到了迭代的后期才能確定什么需要在下個周期內(nèi)完成的事情。
時間箱(TimeBoxing)迭代是將迭代的結(jié)束日期固定下來并且不允許其改變的實踐。一旦某次迭代的時間箱無法實現(xiàn),我們不能推遲迭代的結(jié)束日期,而是減小范圍,如下圖所示,四個變量中時間變量被固定后,我們只需要考慮范圍,質(zhì)量,人員三個變量。
圖二
迭代計劃可以使用Project進度計劃來編制并跟蹤。項目管理理論中對如何編制進度做了詳細的論述,這包括編制wbs,任務(wù)之間關(guān)系,分配人員,確定任務(wù)的工期,確定任務(wù)的起止時間,進行資源平衡,并行任務(wù),提前任務(wù)來填充空白時間等技巧。由于迭代計劃的時間跨度短,項目經(jīng)理和團隊成員完全有能力對這個短期的計劃作出比較準確的判斷和估計,也可以根據(jù)實際情況進行微調(diào),因此迭代計劃的修訂與跟蹤工作可以很好的開展。
結(jié)束語
實踐是檢驗真理的唯一標準,軟件項目更適合采用迭代的開發(fā)模型,軟件項目計劃也應(yīng)該采用更加符合實際情況的有效編制方式。作者通過幾年的實踐經(jīng)驗,總結(jié)了一種迭代型的軟件項目計劃的編制方法,期望能夠為從事迭代型軟件項目的項目經(jīng)理提供一些有益的參考。
參考文獻
Planning Agile Projects 【英】Martin Fowler
敏捷迭代開發(fā)-管理者指南 【美】Craig Larman著,張曉坤,林旺,曾毅譯 中國電力出版社