極限編程(XP)是另一種流行的產(chǎn)品開(kāi)發(fā)方法,主要應(yīng)用于軟件領(lǐng)域,他推動(dòng)軟件開(kāi)發(fā)的實(shí)踐走向極致。
極限編程的重點(diǎn)是客戶(hù)滿(mǎn)意度。由于采用XP方法的團(tuán)隊(duì)根據(jù)客戶(hù)的需要開(kāi)發(fā)特性,故可以獲得很高的客戶(hù)滿(mǎn)意度。處理新需求是開(kāi)發(fā)團(tuán)隊(duì)的日常工作,無(wú)論這些需求合適出現(xiàn),開(kāi)發(fā)團(tuán)隊(duì)都被授權(quán)去處理。團(tuán)隊(duì)根據(jù)出現(xiàn)的任何問(wèn)題及時(shí)調(diào)整組織結(jié)構(gòu),并且盡可能高效的解決。
隨著極限編程的不斷推廣與實(shí)踐,極限編程團(tuán)隊(duì)的角色定義已經(jīng)模糊化。現(xiàn)在一個(gè)典型的XP項(xiàng)目,其成員來(lái)自客戶(hù)、管理層、技術(shù)和項(xiàng)目支持小組。他們?cè)诓煌瑫r(shí)間可能承擔(dān)著不同的角色。
發(fā)現(xiàn)極限編程的原則
極限編程的基本方法是與敏捷原則相一致的。這些方法如下。
編碼是核心活動(dòng)。通過(guò)編寫(xiě)代碼不僅可以交付解決方案,而且還可以用來(lái)探索問(wèn)題。例如,一個(gè)程序員可以利用代碼來(lái)解釋某一個(gè)問(wèn)題。
XP團(tuán)隊(duì)做大量測(cè)試。如果僅僅做一點(diǎn)測(cè)試就能幫助你發(fā)現(xiàn)一些錯(cuò)誤,那么大量的測(cè)試將幫助你發(fā)現(xiàn)更多的錯(cuò)誤。事實(shí)上,在開(kāi)發(fā)人員制定出需求的成功標(biāo)準(zhǔn)和設(shè)計(jì)好單元測(cè)試之前,他們不會(huì)開(kāi)始編碼。一個(gè)程序漏洞所反映的并不是編碼的失敗,而是未進(jìn)行正確的測(cè)試。
讓客戶(hù)和程序員之間直接溝通。程序員設(shè)計(jì)結(jié)束方案之前,必須了解商業(yè)需求。
對(duì)于復(fù)雜的系統(tǒng),超越任何具體功能的、某一層次的總體設(shè)計(jì)是必不可少的。在極限編程項(xiàng)目中,所為總體設(shè)計(jì)指的是,在定期的代碼重構(gòu)中使用系統(tǒng)地改進(jìn)代碼的流程來(lái)提高可讀性,降低復(fù)雜性,提高可維護(hù)性,并確保其在整個(gè)代碼庫(kù)中的可擴(kuò)展性。
開(kāi)始了解一些極限編程實(shí)踐
在極限編程中,有一些做法與其他敏捷方法相似,但不盡然。以下表列出了幾個(gè)關(guān)鍵的XP實(shí)踐,其中大部分是常規(guī)做法,并且很多都在敏捷原則中得到了體現(xiàn)。
極限編程通過(guò)大幅度提高最佳開(kāi)發(fā)實(shí)踐常規(guī)的強(qiáng)度,著力突破開(kāi)發(fā)團(tuán)隊(duì)習(xí)慣的局限,使極限編程在提高開(kāi)發(fā)效率和成功率方面取得了出色的成績(jī)。