極限程式設計 - 過程週期



極限程式設計是一種敏捷過程。

極限程式設計是一種敏捷過程,因為它:

  • 強調大量的溝通和反饋:

    • 團隊內部(結對程式設計、集體程式碼所有權、簡單設計)

    • 與客戶(現場客戶和驗收測試)

    • 用於釋出計劃(客戶和開發人員參與估算)

  • 極限程式設計聘用了一位教練,其工作是注意人們何時沒有進行溝通並重新引入溝通。

  • 擁抱變化:

    • 頻繁迭代(短期釋出)

    • 輕鬆設計和重新設計(簡單設計)

    • 持續編碼和測試(結對程式設計)

    • 讓客戶持續參與(線上客戶)

  • 以短迭代(短期釋出)向客戶交付可工作的產品。

  • 儘早消除缺陷,從而降低成本(結對程式設計)

    • 程式碼審查

    • 單元測試

    • 針對每一組更改和測試進行整合

極限程式設計過程週期

極限程式設計是迭代和增量的,並且由時間盒週期驅動。因此,極限程式設計過程的節奏至關重要。

極限程式設計具有以下活動級別:

  • 產品生命週期

  • 釋出

  • 迭代

  • 任務

  • 開發

  • 反饋

每個活動級別都提供下一級別所需的最小輸入。它們是:

  • 產品生命週期活動為釋出週期提供輸入。

  • 釋出計劃會議為迭代週期提供輸入。

  • 迭代計劃會議為任務週期提供輸入。

  • 任務開發為開發階段提供輸入。

  • 開發產生產品。

反饋是整個專案和所有上述活動級別的持續活動。

產品生命週期

這也被稱為探索階段。它涉及功能集定義和計劃。客戶獲得高價值需求,並且需求以使用者故事的形式給出。

故事是此級別活動的初級交付物。

釋出

這也被稱為承諾階段。在此活動中:

  • 整個團隊聚集在一起,以便:

    • 審查進度。

    • 可以新增新的需求和/或更改或刪除現有需求。

    • 客戶展示故事。

    • 討論故事。

  • 開發人員確定技術方法和風險。他們提供第一級估計和選項。

  • 客戶對故事進行優先順序排序並選擇目標釋出時間盒。

  • 客戶和開發人員承諾要包含的功能以及下一次釋出的日期。

  • 開發人員:

    • 將故事安排到可能的迭代中。

    • 包含來自先前釋出的驗收測試的缺陷修復。

    • 開始迭代。

釋出計劃是此級別活動的初級交付物。

迭代

這也被稱為指導階段。整個團隊聚集在一起,以便審查進度並調整計劃。客戶為迭代展示故事,並更詳細地討論這些故事。

迭代計劃是此活動的初級交付物。

開發人員:

  • 確定詳細的技術方法。

  • 為每個故事建立任務列表。

  • 開始開發。

  • 部署系統到

可部署系統是此活動的最終交付物。

任務

開發人員註冊任務並開始開發階段以實現故事。他們確保迭代的任務已完成。開發人員還確保迭代的故事已透過驗收測試完成。

開發

開發人員組成配對,這可以是一個持續的動態活動。

每對:

  • 驗證他們對故事的理解。

  • 確定詳細的實施方法,確保簡單設計。

  • 開始測試驅動開發,即編寫單元測試、實現程式碼以透過單元測試、重構以使程式碼簡單。

  • 在適當的間隔將他們的程式碼整合到系統程式碼庫中。

  • 經常審查進度。

反饋

配對人員在內部和外部與團隊進行持續溝通。線上客戶也持續參與溝通。某些團隊採用每日站立會議,以快速討論整體團隊狀態以及必要時可能的重新同步和微計劃。

迭代和釋出審查提供整體狀態和流程調整和改進點。

  • 開發階段可能會導致重新思考任務。

  • 任務開發可能會導致重新思考故事。

  • 故事重新估算可能會導致迭代更改或恢復。

  • 迭代結果可能會導致釋出計劃發生更改。

極限程式設計過程週期如下所示。

Extreme Programming Process Cycle
廣告

© . All rights reserved.