一、客戶最關注什么
產品質量往往是基本,這是一個默認屬性。但是做到哪個度仍然可以談,所以首先要清楚用戶對質量要求的優先級,一般來言可能是可用->易用->性能->安全。這一般叫測試類型,另外就是測試的等級表明測試要達到何種覆蓋率或程度。這些都影響到項目周期。
除了默認質量要求,項目周期往往是客戶最為關注的。這個往往并不是經過詳細的估算,排完進度了再確定下來的,而是項目一開始往往就由客戶敲定,而項目范圍往往也是在合同就會明確下來。所以跟用戶敲項目周期就顯得很重要了,根據軟件工程和經濟學得出結論是:對于一個軟件項目我們可以考慮投入更多資源來縮短項目周期,但當項目周期縮短到一定度以后,投入再多的資源也沒有用。因此項目經理談判的底線為在不考慮人力資源情況下項目能夠達到的最短周期,如果這個最短周期還達不到客戶要求,必須縮減項目范圍而不是犧牲產品質量。
項目計劃重點就是通過調整各個要素,保證項目能夠有8,9成以上的勝算,對于影響到項目成功的全部列入風險和關鍵問題進行跟蹤。項目經理在計劃完成后一大半的時間都應該花費在消除不確定性上。項目失敗往往并不是進展過程出現太多異常,而是一開始項目經理就不清楚自己有幾層把握,一開始也沒有分析清楚有哪些不確定性和關鍵要素。
二、項目周期敲定了再排進度
如果簡單的認為項目周期確定了再排進度就只能是倒排進度,那說明還沒有真正理解各要素的平衡和進度安排的實際含義。項目經理往往根據項目周期倒排不切實際的進度計劃,那導致項目進度延期就是必然的事情了。
制定進度前最重要的仍然是根據人力資源情況和項目周期來綜合考慮生命周期模型的選擇,是瀑布還是增量迭代,這個直接影響到WBS的分解。而WBS中我們又最關心工作包或任務的粒度問題,這個需要和可用的人力資源配合起來,一個功能模塊分解細后可以更多的人力資源參與進來,使更多的任務能夠并行,但無疑會增加前面接口設計和后期集成的工作量。當接口設計和集成工作所花費時間大于開發任務并行所縮短的時間時候,這個時候就到了分解的最小粒度。在這個粗細粒度間就是可以通過調配人力資源能夠獲取的最大進度壓縮。
在IT項目中由于崗位角色劃分,往往并不適合采用關鍵路徑的方法來預計進度。進度安排關鍵在讓所有人都盡可能早的動起來,在這里可以考慮的思考方式是:
1.關注項目關鍵資源,關鍵資源必須優先安排來執行關鍵任務;
2.通過組件細分和迭代,增加后期集成時間,但縮短前期關鍵路徑等待時間;
3.通過每日構造將測試也迭代起來;
4.進度緊往往更不該跳過需求和總體設計評審而直接編碼,后期返工往往是災難性的。
三、最有效的方法論和過程 在裁剪過程的時候,必須清楚的認識到哪些過程元素是保證項目成功的核心要素,哪些是可以省略的。XP方法論對于任何一個功能的開發仍然是遵循小瀑布,而不是跳過程。一個設計思路可以在紙面設計草圖后就可以開始編碼,后期再形成規范的文檔,但決定不是說不經過設計就開始編碼。需求,DEMO原型,總體架構,數據庫設計,評審,項目開發模式和規范都是重要的元素,都應該最有效的去發揮作用。