【转】极限编程一览
極限編程(XP)起源始于1990年代。當時肯特·布萊克(Kent Black)在戴姆勒克萊斯勒(DaimlerChrysler)處理項目時,試圖尋找一種更好的軟件開發方法。他的創立新方法后來被稱為極限編程方法論,并被證明是一種成功的方法。
作為對舊方法的一種反應而創建的方法,XP使用了與瀑布模型不同的不同方法。它的方法的一個重要區別是它關注于適應性而不是可預測性。這種方法背后的原因是,軟件開發是一個非常不穩定的過程,其中從一開始就無法完全預測需求,但是隨著項目的進行,需求將始終發生變化。因此,軟件開發需要一種方法,該方法應能夠在項目生命周期中的任何時候適應不斷變化的需求。
在戴姆勒克萊斯勒項目的實驗中?肯特?發現了四個維度,這些維度后來成為XP的哲學。這些做法,如果正確實施,將改善任何軟件開發項目。具體做法為:
1.??????您需要改善溝通。
2.??????您需要尋求簡單性。
3.??????您需要獲得有關您的表現的反饋。
4.??????您需要始終勇往直前。
?
“每種做法仍然具有與以前相同的弱點,但是如果現在這些弱點被其他做法的強項所彌補,該怎么辦呢?我們也許可以簡單地做事。”?–肯特·貝克(Kent Beck)
?
極限編程的白板視圖
它可能看起來像這樣……
?
我將這種觀點組合在一起,以幫助一些人了解“系統”的外觀。它并不一定是完美的,但他們至少需要一個基本的構想或框架,以便他們可以更好地理解各種實踐如何結合在一起。
?
使白板視圖能夠幫助人更快地入手極限編程
一張圖片-價值1,000個字!
這樣做的好處是,一旦您在白板上放置了一張簡單的圖片,便可以與團隊進行真正的討論,以討論可以改進的地方。這里的主要思想是使您腦海中得到簡單的視覺效果,以便您可以輕松地在白板上繪畫,并知道各種活動和工件的名稱。?
如果您對此有所保留,則可以幫助您建立簡單的詞匯表。?
該詞匯表將幫助您更快地加入其他人,并且將幫助您快速擴展自己的工具箱,并且很快您將發現自己正在撰寫新方法并在流程中進行有趣的創新,這將幫助您做得更好,更快,更便宜…在云時間上。
?
什么是極限編程
極限編程(XP)是一種基于簡單,溝通,反饋和勇氣原則的輕量級軟件開發方法。??
我希望能夠掃描方法以比較方法。?
為此,我創建了活動,工件,原理和實踐的框架。???
這是我在XP上的注意事項:
活動項目 (Activities)
- 編碼
- 測試中
- 傾聽
- 設計中
制品 (Artifacts)
- 驗收測試
- 碼
- 迭代計劃
- 發布和迭代計劃
- 故事
- 故事卡
- 有關測試數量,每次迭代的故事等的統計信息
- 單元測試
- 每次迭代都工作代碼
12種做法 (Best Practices)
這是12種XP做法:
?在XP中,這四項基本活動是通過使用實踐來實現的,這些實踐是傳統的軟件工程實踐,但被提升為體現和鼓勵XP價值觀。盡管完全有28條極限編程的規則和實踐[9],但它們可以壓縮為十二個簡單規則:
XP過程可以通過下圖表示:
?
?
要了解XP的實踐,請參閱XP的實踐和主要周期的圖片。
?
極端編程: 5個價值
- 通訊
- 勇氣
- 反饋
- 尊重
- 簡單
相數
以下是XP項目生命周期的各個階段。
- 探索階段
- 規劃階段
- 迭代到發布階段
- 生產階段
- 維護階段
有關可視化概述,請參閱《 XP生命周期中的敏捷建模》。
?
12條原則(敏捷宣言)
根據敏捷宣言,以下是12條敏捷原則??:
?
- 我們的首要任務是通過盡早并持續交付有價值的軟件來滿足客戶。
- 即使在開發后期,也歡迎不斷變化的需求。敏捷流程利用變更來獲得客戶的競爭優勢。
- 頻繁交付工作軟件,從幾周到幾個月不等,而更傾向于縮短時間范圍。
- 在整個項目中,業務人員和開發人員必須每天一起工作。
- 圍繞有積極性的人建立項目。給他們提供所需的環境和支持,并信任他們來完成工作。
- 向開發團隊內部和內部傳達信息的最有效方法是面對面的對話。
- 工作軟件是進度的主要衡量標準。
- 敏捷過程促進可持續發展。贊助者,開發者和用戶應該能夠無限期地保持恒定的步伐。
- 持續關注技術卓越和良好的設計可提高敏捷性。
- 簡潔性(最大化未完成工作量的藝術)至關重要。
- 最好的體系結構,需求和設計來自自組織團隊。
- 團隊定期檢查如何提高效率,然后相應地調整和調整其行為
4個價值觀(敏捷宣言)
根據敏捷宣言,這些是四個敏捷值:
- 個人與流程和工具之間的互動
- 通過全面的文檔工作軟件
- 客戶合作而非合同談判
- 響應計劃變更
其他資源
- 在離岸開發中使用敏捷軟件流程(Martin Fowler)
- 極限編程(Ward Cunningham的Wiki)
- XProgramming.com(Ron Jeffries)
- 敏捷宣言
- 極限編程(維基百科)
- XP的實踐和主要周期(Ron Jeffries)
- 極限編程核心實踐(Ward Cunningham的Wiki)
你可能還喜歡
- Comparison of Scaling Agile Frameworks
- What are the 10 Principles of LeSS Framework?
- Extreme Programming (XP) vs Scrum
總結
- 上一篇: 美股开盘大跌:特斯拉、苹果也撑不住 新东
- 下一篇: 【转】SVN各种颜色状态