概念: 反覆漸進顯現價值
本原則係展現反覆式開發的價值。
主要說明

簡介

本原則說明反覆式的作法對於軟體開發大有助益的原因。反覆流程能輕易融合設計變更、取得意見反應並納入專案、及早降低風險,乃至於動態調整流程。

        
好處
  • 及早降低風險
  • 提高專案過程中的可預測性
  • 廣受關係人信任
型樣
  1. 於各反覆週期漸進產生使用者價值而獲取意見反應
  2. 透過反覆流程修正計劃
  3. 適應並管理變更
  4. 及早排除重大技術、業務及程式設計面風險
反型樣
  • 詳細規劃整個生命週期,追蹤計劃中的變數(可能實際導致專案失敗者)
  • 於專案初期及中期透過規格審查評估狀態,而非根據測試結果及成果展示進行評估

討論  

本原則中附帶幾項先決條件。第一是我們必須產出漸進價值以及早並持續獲取意見反應。其作法是要將專案劃分成一連串的反覆週期。 在每個反覆週期間,執行部分需求、設計、實作並測試應用程式,於焉製成逐漸接近最終解決方案的交付標的物。如此便能向一般使用者及其他關係人展示應用程式,或直接請他們試用應用程式,以便很快的對我們目前所做提出意見。我們是否朝著正確方向進行?關係人是否滿意現階段的成果?需不需要 變更目前實作的功能?還有哪些其他功能需要實作,以增進商業價值?只要能夠肯定回答這些問題,便可確定我們目前開發中的系統贏得關係人的信賴,能夠滿足對方的需求。而且也比較沒有過度工程化的問題,或是加進一些對使用者不實用的功能。

第二項先決條件是根據展示經驗及意見反應,適當調整計劃。不用依靠需求規格、設計模型或計劃等的規格評估,只要從實際運作情形來評估目前開發的程式碼即可。換言之,我們應透過作業程式碼的測試結果,以及向關係人展示的結果,來評定我們的開發成績高低。如此能讓我們清楚瞭解任務達成率、團隊進度快慢,以及是否需要修正路線以期順利完成專案。我們可以 藉由這些資訊來調整專案的整體計劃,並開發下一反覆週期的詳細計劃。

第三項先決條件是適應並管理變更。當今的應用程式都太過複雜,從需求、設計、實作到測試,都無法維持初衷,做到前後呼應的地步。然而 最有效的應用程式開發方法,是能夠適應必然面臨的變更。透過及早且持續的意見反應,可學習如何改善應用程式,而反覆週期的作法也讓我們有機會循序漸進的 融入變更。這類變更要求都要靠適當備整的流程及工具來管理,才能夠在無損創造性的同時有效管理變更。

此原則的第四項先決條件是必須在生命週期中及早消除重大風險,如下圖所示。我們必須盡可能及早排除重大技術、業務及程式設計面的風險,而不應將風險解決方案拖到最後。這就需要平常持續不斷的評估所面臨到的風險,並於下一個反覆週期評估重大未決風險。一個成功的專案,都是在早期的反覆週期即取得關係人對於願景及高階需求的共識,包括架構設計、實作及測試等,因而降低技術風險。此外並需掌握必要資訊,裨使決策可重複使用的主要資產或採用何種立即可用的商業化 (COTS) 軟體。

圖解說明能夠比瀑布式開發流成更快降低風險的反覆流程

瀑布式及反覆式開發模式的降低風險曲線圖

反覆式漸進式開發的一大目標在於早期降低風險。要達成此目標,須分析、決定風險的優先順序,並在每個反覆週期內設法排除重大風險(請參閱輔助資料:反覆式開發)。有關如何於反覆週期間組織開發生命週期的其他輔助指引,請參閱概念:反覆週期以及概念:階段