敏捷開發之道(三)極限編程XP續

        上次的博文敏捷開發之道(二)極限編程XP中,我們瞭解了XP的實踐中的其中四個,今天我們來一起學習一下剩餘的實踐。

……接上文

5)、結對編程

        結對編程就是由結對的開發人員使用同一臺電腦共同完成一項任務。在結對編程中,同一時刻只有其中一位開放人員擁有鍵盤的控制權,另一位則負責尋找代碼中漏洞和可以改進的方法,兩個人可以進行交互和合作,這對提高開發人員的團隊意識和合作有着積極的作用。
        同時,關於結對編程是否能夠像我們想象的那樣,這就需要我們去實踐了。

6)、測試驅動的開發方法

        測試驅動與XP原則的第四條類似,只不過測試驅動更加的具體,前者主要針客戶需求的實現,後者則屬於開發人員主動的開發測試用例,在測試用例的基礎之上進行代碼開發。
        測試驅動目前在國內還沒有被大多數人所接受,大多數人更傾向在代碼完成之後或代碼完成過程中去做調試或單元測試。

7)、集體所有權

        在XP中強調,每一個人員都具有對任何模塊進行改進和更新的權力,沒有專門的人員的對專門的模塊負責,當然如果確實存在某一領域的專家,那麼該專家就會被邀請或需要主動承擔這方面的工作,同時還需要給團隊成員進行培訓。
        集體所有權可以加強團隊內部的知識的共享,同時也會擴展團隊成員的視野,不會將自己侷限在某一領域。

8)、持續集成

        對於持續集成,XP與我們基本類似,所不同的是傳統模式的構建可能是單獨模塊或功能的構建,而在XP中則是整個系統的構建。

9)、可持續的開發速度

        對於開發人員來講,每天的工作應該是積極和愉悅的,爲了保持開發人員旺盛的精力和敏銳的警覺力,團隊要保持適中和穩定的開發速度。所以在XP中不允許團隊加班,允許加班的唯一例外是發佈版本就在眼前,而且能夠立即完成。

10)、開放的工作空間

        通常我們認爲在開發人員應該工作在一個安靜、沒有干擾的環境中,但在XP中則打破了這一傳統,XP要求開發人員應該能夠彼此聽到彼此的聲音,能夠彼此瞭解所出現的問題,當團隊中的成員遇到問題時,每個人都瞭解對方的狀態,程序員隨時處在適合進行激烈的討論的位置上。

11)、計劃遊戲

        所謂計劃遊戲,就是開發人員根據最近一次迭代的工作量給客戶一個預算,客戶根據開發人員的開發速度就可以確定項目的持續時間。它的意義在於開發人員和客戶之間(或業務人員)進行職責的分離,客戶可以決定產品特性,開發人員決定實現產品特性的花費。

12)、簡單的設計

        過分的設計在XP中是不推薦的,在開發過程中,能夠最簡單的實現用戶素材就是最好的。只有在十分迫切需要進行改進的時候,纔會去進行改進。

13)、重構

        在開發過程中,隨着迭代的進行,我們會發現處理一個錯誤可能引起另一個錯誤,代碼會隨之變得結構退化,最終導致代碼難以維護。所以在XP團隊中,會經常性的進行代碼重構。

14)、隱喻

        隱喻的概念類似於,在玩拼圖遊戲時候的整張圖案,它的作用在於制定一個全局性的系統視圖,如果模塊的功能與整個系統的隱喻不同,則可以斷定這個模塊是錯誤的。

        到此爲止,關於極限編程實踐方面的內容,我們就先講到這裏,更多的還是需要我們思考如何去應用和完善。接下來,我會繼續進行敏捷開發的其他內容,敬請期待!
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章