XP的本质(未完成)

 

XP的本質

XP(極限編程,Extreme Programming)是一種適用于中、小團隊在需求不明或快速多變的情況下進行軟件開發的輕量級方法。

1.   XP的特點

1.1.   開發團隊510

團隊人數不要太多,是因為XP主張所有的團隊成員都共享項目所有資源,並且所有成員都能面對面交流。如果成員太多,必然帶來溝通的不便。

1.2.   與客戶代表一起在同一個場所工作

基於需求不能一步明確的原則,XP需要在開發過程中隨時“發現”需求,而每一點需求的明確,都需要客戶代表(領域專家)的確認。

1.3.   開發過程中頻繁地迭代、集成,每一次都是可發布的新版本

這一點是針對集成的風險。

1.4.   需求以“短篇故事(stories)”的方式進行說明,每一個功能都是一個短篇故事

 

1.5.   結對編程

結對編程的本意是代碼審查(Check)。

1.6.   單元測試

XP主張測試優先(Test First)的測試驅動開發(TDDTest Driven Development

測試驅動開發的本意是讓代碼以滿足需求為目標。結合短篇故事的需求方式,測試優先能夠減少不必要的編碼(功能)。

1.7.   需求、設計、編碼都不是“一次性”完成的,而是在項目的過程中逐漸形成的

2.   XP的核心價值

2.1.   交流

交流是任何優秀軟件開發過程的核心。XP的交流形式是結對編程、客戶現場支持。

2.2.   簡單

只做滿足需求的事情,避免項目偏離目標。XP強調TDD、逐步設計、先完成簡單功能再重構複雜功能。

2.3.   反饋

反饋是為了讓客戶的目標與團隊的理解緊密聯繫在一起。XP的核心原則就是快速迭代。

2.4.   勇氣

XP鼓勵測試優先、快速迭代、不斷重構。

2.5.   尊重

團隊所有的成員一樣重要。尊重是合作、交流和反饋的基礎。

3.   XP的實踐技巧

3.1.   坐在一起

XP推崇所有的團隊成員在同一個辦公室內工作,這樣能增加溝通效率。

3.2.   成員只屬於一個團隊

3.3.   公開所有信息

團隊中的每一個人都知道項目的每一個計畫,並且知道其他人在做什麽(負責哪一個故事),進度如何。

3.4.   不做額外加班

XP方法認為每個星期超過40小時的工作時間是沒有生產力的。長時間的加班會導致工作效率下降。

3.5.   結對編程

XP方法認為結對編程可以提高質量。

3.6.   用故事代替需求

需求意味著使用專業術語進行精確描述,而描述的結果卻或多或少背離真實的業務需求。

故事是模糊的。

【這一點需要從Scrumbacklog尋找答案

3.7.   周循環

XP的基本迭代週期是一周,所有的功能都拆分為小功能,在一周內完成。

3.8.   季度循環

季度循互環適合發布重大版本(里程碑)。

3.9.   鬆弛

從進度安排計畫中抽出一周,做一些無關緊要的工作,例如重構、設計實驗等。

3.10.       分鐘構建

3.11.       持續集成

3.12.       測試優先

3.13.       增量設計

 

 

posted @ 2009-09-12 02:05  深圳大漠  阅读(153)  评论(0编辑  收藏  举报