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