2.8 XP模型
1.模型的本意
XP模型(eXtreme Programming Model),即極限編程模型,它本來是敏捷企業文化現象,但是不少人將它當作一種軟件開發模型。
對傳統軟件開發模型進行重新審視發現,它們太正規、太呆板、太浪費資源,從而提出了省時省力的XP模型。它屬于輕量級開發模型,由一組簡單規則(需求、實現、重構、測試、發布)組成,它既保持開發人員的自由創造性,又保持對需求變動的適應性,即使在開發的后期,也不怕用戶需求的變更。XP模型的迭代開發過程,如圖2-6所示。

圖2-6 XP模型
2.模型的特點
在需求、實現、重構、測試、發布的迭代過程中,XP模型有4 條核心原則:交流(Communication)、簡單(Simplicity)、反饋(Feedback)和進取(Aggressiveness)。XP開發小組包括開發人員、管理人員和客戶。XP模型強調小組內成員之間要經常進行“交流”,結對編程,在盡量保證質量的前提下力求過程和代碼的“簡單”化。來自客戶、開發人員和最終用戶的具體“反饋”意見,可以提供更多的機會用于調整設計,保證把握正確的開發方向。“進取”則包含在上述三個原則中。在XP模型中,采取講“用戶場景故事”的方法,來代替傳統模型中的需求分析,“用戶場景故事”由用戶自己講,用戶并不考慮技術實現細節,只詳盡描繪用戶場景。
3.選擇模型的條件
XP模型克服了傳統模型不靈活機動的缺陷,是一種面向客戶場景的輕量級模型。它只適用于中小型開發小組,可分解并降低風險,使軟件開發簡易可行。實踐表明,XP模型特別適合于情投意合的青年人群的小項目。
4.模型的優點
XP模型的優點如下:
(1)采用簡單策略,不需要長期計劃和復雜管理,開發周期短。
(2)采用迭代增量開發、反饋修正和反復測試的方法,因而軟件質量有保證。
(3)適應用戶需求的變化,因而與用戶關系和諧。
5.模型的缺點
XP模型作為一種新的模型,在實際應用中還存在一些問題,引起了一些爭議。它一般適用于小型項目,同時,它與ISO 9001、CMMI的精神也存在沖突。