近年來,講到產品開發類型的專案管理,最潮的框架大概就是敏捷(aglie)、精實(lean)... 這些名詞了。相較之下,傳統的瀑布式開發(waterfall)好像蒙上一層灰,難道採用瀑布就是過時的做法與思維嗎?在回答這個問題之前,我們先來理清下面幾個概念:
專案生命週期 vs 開發生命週期 之間的關係
如果我們查閱美國專案管理協會 (PMI) 所給出的定義,可以發現一個完整的專案生命週期(project life cycle),通常包含了四個階段(phase):
- Starting
- Organizing
- Carrying
- Completing
而每個階段內都可以包含一個或數個開發生命週期(developnent life cycle),意即專案生命週期與開發生命週期,是可以分別以不同的架構來規劃的。
舉例來說,「一個瀑布式的專案生命週期裡面,包含好幾個非瀑布式的開發生命週期」或「一個非瀑布式的專案生命週期裡面,有x個瀑布式的開發生命週期 + y個非瀑布式的開發生命週期」這些情況都是可能合理存在的。
此外 Phase Gate 也能根據需要設立若干個合適的斷點,比如說用里程碑(milestone)、檢查點(check point)、衝刺週期(sprint) 等,都是不錯的思路。
專案生命週期 / 開發生命週期的類型
隨著時代推進,現在已經有許多不同名稱的方法被提出(在這裡我就不另細講),不過依然可以根據條件變化與交付成果的頻次來大致分為預測式 Predictive、迭代式 Iterative、增量式 Incremental、以及調適式 Adaptive 這四種。其中預測式 Predictive也正是我們常說的瀑布型生命週期:
雖然我們在上面這張表指令出了四種類型,但在實際應用場景裡面,一個有經驗的PM,可以根據每個專案現實條件的不同需要、來自己靈活微調或重組成各種型態。
結論
到這裡,眼尖的讀者應該已經發現了:如果選用的框架符合實際情況中的需求,則無論採用的是哪些生命週期框架,就是好的框架;反之亦然。並且,Waterfall可以與其他框架組合運用,形成混合式的生命週期,端看管理者如何運用經驗與智慧,將之裁適為符合現況的框架,並進一步將專案生命週期與開發生命週期盡量嵌合起來,達到貼近無縫的團隊合作體驗。