極限編程一覽

極限編程(XP)的起源始於1990年代,當時肯特·布萊克(Kent Black)在戴姆勒克萊斯勒(DaimlerChrysler)處理項目時試圖尋找一種更好的軟件開發方法。他的新方法後來被稱爲極限編程方法論,並被證明是一種成功的方法。

作爲對舊方法的一種反應而創建的方法,XP使用了與瀑布模型不同的不同方法。它的方法的一個重要區別是它關注於適應性而不是可預測性。這種方法背後的原因是,軟件開發是一個非常不穩定的過程,其中從一開始就無法完全預測需求,但是隨着項目的進行,需求將始終發生變化。因此,軟件開發需要一種方法,該方法應能夠在項目生命週期中的任何時候適應不斷變化的需求。

在戴姆勒克萊斯勒項目的實驗中 肯特 發現了四個維度,這些維度後來成爲XP的哲學。這些尺寸,如果正確實施,將改善任何軟件開發項目。尺寸爲:

1.      您需要改善溝通。

2.      您需要尋求簡單性。

3.      您需要獲得有關您的表現的反饋。

4.      您需要始終勇往直前。

 

“每種做法仍然具有與以前相同的弱點,但是如果現在這些弱點被其他做法的強項所彌補,該怎麼辦呢?我們也許可以簡單地做事。” –肯特·貝克(Kent Beck)

 

極限編程的白板視圖

它可能看起來像這樣……

 

「extreme programming visual paradigm」的圖片搜尋結果"

我將這種觀點組合在一起,以幫助一些人瞭解“系統”的外觀。它並不一定是完美的,但他們至少需要一個基本的構想或框架,以便他們可以更好地理解各種實踐如何結合在一起。

 

使白板視圖幫助人更快地入手極限編程

一張圖片-價值1,000個字!

這樣做的好處是,一旦您在白板上放置了一張簡單的圖片,便可以與團隊進行真正的討論,以討論可以改進的地方。這裏的主要思想是使您腦海中得到簡單的視覺效果,以便您可以輕鬆地在白板上繪畫,並知道各種活動和工件的名稱。 

如果您對此有所保留,則可以幫助您建立簡單的詞彙表。 

該詞彙表將幫助您更快地加入其他人,並且將幫助您快速擴展自己的工具箱,並且很快您將發現自己正在撰寫新方法並在流程中進行有趣的創新,這將幫助您做得更好,更快,更便宜…在雲時間上。

 

什麼是極限編程

極限編程(XP)是一種基於簡單,溝通,反饋和勇氣原則的輕量級軟件開發方法。  

我希望能夠掃描方法以比較方法。 

爲此,我創建了活動,工件,原理和實踐的框架。   

這是我在XP上的注意事項:

活動項目 (Activities)

  • 編碼
  • 測試中
  • 傾聽
  • 設計中

製品 (Artifacts)

  • 驗收測試
  • 迭代計劃
  • 發佈和迭代計劃
  • 故事
  • 故事卡
  • 有關測試數量,每次迭代的故事等的統計信息
  • 單元測試
  • 每次迭代都工作代碼

12種做法 (Best Practices)

這是12種XP做法:

 在XP中,這四項基本活動是通過使用實踐來實現的,這些實踐是傳統的軟件工程實踐,但被提升爲體現和鼓勵XP價值觀。儘管完全有28條極限編程的規則和實踐[9],但它們可以壓縮爲十二個簡單規則:

  1. 用戶案例(planning ):用戶案例可以視爲用例的較小版本。這樣,客戶可以儘可能簡短地定義新應用程序的規範(功能,價值,優先級)。這些故事將成爲項目團隊進行項目成本估算和管理的基礎。
  2. 小型發行版(Buidling Block): XP強調對應用程序進行小型,簡單但頻繁的版本更新。每個新添加的要求將立即合併,並重新發布系統。
  3. 隱喻(System Metaphor):開發人員和程序員必須遵守名稱,類名和方法的標準。
  4. 集體所有權 (collective Ownership):在XP方法論中,所有代碼均被視爲由整個團隊擁有,而不是單個財產。因此,所有代碼都將由所有人審查和更新。
  5. 編碼標準 (Coding standard):編碼的樣式和格式必須相同,以確保團隊成員之間的兼容性。這種方法可以加快協作速度。
  6. 簡單的設計 (Simple Design):始終尋找儘可能簡單的系統實現但又滿足所有必需功能的系統實現。
  7. 重構 (Refactoring)所有團隊成員應不斷調整和改進應用程序。這要求成員之間進行非常良好的溝通,以避免重複工作。
  8. 測試 (Testing):每個小的發行版(稱爲構建塊)都必須通過測試,然後才能發行。XP在這方面的獨特之處在於測試首先創建,然後應用程序代碼的開發,以滿足並通過cahllenges那些預筆試。
  9. 對編程 (Pair Programming): XP程序員可以成對工作。所有代碼都是由在同一臺計算機上一起工作的兩個程序員開發的。期望結對編程以相同或更少的成本生成更高質量的代碼。
  10. 持續集成 (Continuous Integration):軟件構建一天完成幾次。這樣,所有開發人員都可以避免工作分散,因爲他們不斷地將代碼發佈和集成在一起。
  11. 每週工作40個小時 (40-hour workweek)通過不超過身體可以承受的工作量,保持身心健康。
  12. 現場客戶 (On-site customer)必須將客戶視爲項目的組成部分。必須安排客戶隨時可用,以確保項目步入正軌。

XP過程可以通過下圖表示:

 

 

要了解XP的實踐,請參閱XP的實踐和主要週期的圖片。

「12 xp practices」的圖片搜尋結果"

 

極端編程: 5個價值

  • 通訊
  • 勇氣
  • 反饋
  • 尊重
  • 簡單

相數

以下是XP項目生命週期的各個階段。

  • 探索階段
  • 規劃階段
  • 迭代到發佈階段
  • 生產階段
  • 維護階段

有關可視化概述,請參閱《 XP生命週期中的敏捷建模》

 

12條原則(敏捷宣言)

根據敏捷宣言,以下是12條敏捷原則  

「agile 12 principle visual paradigm」的圖片搜尋結果"

 

  • 我們的首要任務是通過儘早並持續交付有價值的軟件來滿足客戶。
  • 即使在開發後期,也歡迎不斷變化的需求。敏捷流程利用變更來獲得客戶的競爭優勢。
  • 頻繁交付工作軟件,從幾周到幾個月不等,而更傾向於縮短時間範圍。
  • 在整個項目中,業務人員和開發人員必須每天一起工作。
  • 圍繞有積極性的人建立項目。給他們提供所需的環境和支持,並信任他們來完成工作。
  • 向開發團隊內部和內部傳達信息的最有效方法是面對面的對話。
  • 工作軟件是進度的主要衡量標準。
  • 敏捷過程促進可持續發展。贊助者,開發者和用戶應該能夠無限期地保持恆定的步伐。
  • 持續關注技術卓越和良好的設計可提高敏捷性。
  • 簡潔性(最大化未完成工作量的藝術)至關重要。
  • 最好的體系結構,需求和設計來自自組織團隊。
  • 團隊定期檢查如何提高效率,然後相應地調整和調整其行爲

4個價值觀(敏捷宣言)

根據敏捷宣言,這些是四個敏捷值:

  • 個人與流程和工具之間的互動
  • 通過全面的文檔工作軟件
  • 客戶合作而非合同談判
  • 響應計劃變更

「agile 12 principle visual paradigm」的圖片搜尋結果"

其他資源

你可能還喜歡

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章