敏捷開發方法XP的12個最佳實踐

openkk 12年前發布 | 125K 次閱讀 敏捷開發

極限編程(eXtreme Programming,簡稱XP)是一種輕量級、高效、低風險、柔性、可預測的、科學的軟件開發方法,其特性包含在12個最佳實踐中。

敏捷開發方法XP的12個最佳實踐

1.  計劃游戲 ( Planning Game )

    (1)快速制定計劃、隨著細節的不斷變化而完善;

    (2)詳解:要求結合項目進展和技術情況,確定下一階段要開發與發布的系統范圍。當計劃趕不上實際變化時就應更新計劃。

2.  小型發布 ( Small Release )

    (1)系統的設計要能夠盡可能早地交付;

    (2)詳解:強調在非常短的周期內以遞增的方式發布新版本,從而可以很容易地估計每個迭代周期的進度,便于控制工作量和風險;同時,也可以及時處理用戶的反饋。

3.  系統隱喻( System Metaphor )

    (1)找到合適的比喻傳達信息;

    (2)詳解:通過隱喻來描述系統如何運作、新的功能以何種方式加入到系統。它通常包含了一些可以參照和比較的類和設計模式。

4.  簡單設計( Simple Design )

    (1)只處理當前的需求使設計保持簡單;

    (2)詳解:任何時候都應當將系統設計的盡可能簡單。不必要的復雜性一旦被發現就馬上去掉。

5.  測試驅動( Test-driven )

    (1)先寫測試代碼再編寫程序;

    (2)詳解:程序員不斷地編寫單元測試,在這些測試能夠準確無誤地運行的情況下開發才可以繼續。

6.  重構( Refactoring )

     (1)重新審視需求和設計,重新明確地描述它們,以符合新的和現有的需求;

     (2)詳解:代碼重構是指在不改變系統行為的前提下,重新調整、優化系統的內部結構以減少復雜性、消除冗余、增加靈活性和提高性能。

7.  結對編程( Pair Programming )

     (1)由兩個程序員在同一臺電腦上共同編寫解決同一問題的代碼。

     (2)詳解:通常一個人負責寫編碼,而另一個負責保證代碼的正確性與可讀性。 

8.  集體所有權(Collective Ownership)

    (1)任何人在任何時候都可以在系統中的任何位置更改任何代碼。

    (2)詳解:每個成員都有更改代碼的權利,所有的人對于全部代碼負責。

9.  持續集成( Continuous Integration )

    (1)可以按日甚至按小時為客戶提供可運行的版本;

    (2)提倡在一天中集成系統多次,而且隨著需求的改變,要不斷的進行回歸測試,避免了一次系統集成的惡夢。

10.  每周工作40小時 ( 40-hour Week )

    (1)要求項目團隊人員每周工作時間不能超過40小時,加班不得連續超過兩周,否則反而會影響生產率。

11.  現場客戶( On-site Customer )

     (1)在團隊中加入一位真正的、起作用的用戶,他將全職負責回答問題。

     (2)詳解:要求至少有一名實際的客戶代表在整個項目開發周期在現場負責確定需求、回答團隊問題以及編寫功能驗收測試。

12.  編碼標準( Code Standards )

      (1)強調通過指定嚴格的代碼規范來進行溝通,盡可能減少不必要的文檔。

 本文由用戶 openkk 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!