What is Waterfall Project Management?

瀑布法是一種線性、按部就班的專案管理方法,專案會穩步地向下流動,依序經過明確、預先決定的階段每個階段都必須百分之百完成,下一個階段才能開始;如果沒有重新啟動流程,團隊無法輕易回到上一個階段。 
與敏捷式專案管理靈活迭代的特性不同,瀑布法高度依賴大量的初期規劃、嚴格的文件和固定的時程。
 

瀑布法的 6 個經典階段

傳統的瀑布式專案嚴格按照以下連續階段進行: [11]

  1. 需求:在專案開始時收集並記錄專案的每個細節、功能和限制。
  2. 系統設計:架構師根據固定的需求規劃技術解決方案、選擇程式語言或建立藍圖。
  3. 實施(開發):團隊成員編寫軟體程式碼或建構實體產品的實際建置階段。
  4. 整合與測試:將完成的產品組裝起來並嚴格測試,以找出並修復缺陷。
  5. 部署:將最終、完全完成的產品正式發布給市場、客戶或終端使用者。
  6. 維護:產品上線後,持續提供支援、修補錯誤和進行小型更新。 

瀑布法的關鍵特性


  • 循序漸進:進度是透過從一個設限階段到下一個階段來衡量。
  • 大量文件:在生產開始之前,每個步驟、需求和設計選擇都會被仔細記錄。
  • 低彈性:在專案中期更改需求需要正式且通常成本高昂的變更管理流程。
  • 價值延遲:直到整個專案完成後,使用者才能看到或接觸到產品的運作版本。 

瀑布模型優缺點

優點:

  • 期望明確:成本、時間表和最終交付物從一開始就明確定義。
  • 易於追蹤:里程碑清晰可見且易於追蹤,因為截止日期是固定的。
  • 有紀律的結構:階段之間清晰的分隔,便於不同團隊之間的交接(例如,設計師與開發人員)。 
缺點:

  • 難以變更:如果市場需求或客戶目標在專案進行到一半時發生變化,則調整極其困難。
  • 測試延遲:在專案結束前的測試階段發現關鍵架構缺陷,修復成本非常高昂。
  • 高風險:如果初始需求有缺陷,團隊可能會花費數月時間卻建置出錯誤的產品。 

何時使用瀑布法而非敏捷式

儘管現代軟體開發高度傾向於敏捷式方法,但瀑布法仍然是以下專案的業界標準: 

  • 固定的、不可更改的預算和截止日期。
  • 嚴格的法規和合規要求(例如,醫療設備、航空航太工程)。
  • 無法迭代的實體依賴關係(例如,建造橋樑或摩天大樓)。
  • 技術已成熟,且團隊之前曾多次建置完全相同的產品。