摘自:《敏捷軟件開發:原則、模式與實踐》 Robert C.Martin【著】,鄧輝【譯】
極限編程實踐:
1. 完整團隊:
XP項目的所有參與者(開發人員、業務分析師、測試人員等等)一起工作在一個開放的場所中,他們是同一個團隊的成員。這個場所的墻壁上隨意懸掛著大幅的、顯著的圖表以及其他一些顯示他們進度的東西。
2. 計劃游戲:
計劃是持續的、循序漸進的。每2周,開發人員就為下2周估算候選特性的成本,而客戶則根據成本和商務價值來選擇要實現的特性。
3. 客戶測試:
作為選擇每個所期望的特性的一部分,客戶定義出自動驗收測試來表明該特性可以工作。
4. 簡單設計:
團隊保持設計恰好和當前的系統功能項匹配。它通過了所有的測試,不包含任何重復,表達出了編寫者想表達的所有東西,并且包含盡可能少的代碼。
5. 結對編程:
所有的產品軟件都是由兩個程序員、并排坐在一起在同一臺機器上構建的。
6. 測試驅動開發:
程序員以非常短的循環周期工作,他們先增加一個失敗的測試,然后使之通過。
7. 改進設計:
隨時改進糟糕的代碼。保持代碼盡可能的干凈、具有表達力。
8. 持續集成:
團隊總是是系統完整的被集成。
9. 集體代碼所有權:
任何結對的程序員都可以在任何時候改進任何代碼。
10.編碼標準:
系統中所有的代碼看起來就好像是被單獨一個——非常勝任的——人編寫的。
11.隱喻:
團隊提出一個程序工作原理的公共景象。
12.可持續的速度:
團隊只有持久才有獲勝的希望。他們以能夠長期維持的速度努力工作。他們保存精力,他們把項目看作是馬拉松長跑,而不是全速短跑。
浙公網安備 33010602011771號