華為云計(jì)算 云知識(shí) 極限編程(XP)和 Scrum的區(qū)別
極限編程(XP)和 Scrum的區(qū)別

Scrum是一個(gè)包括了一系列的實(shí)踐和預(yù)定義角色的過程骨架(是一種流程、計(jì)劃、模式,用于有效率地開發(fā)軟件)。

敏捷方法之極限編程(XP)和Scrum區(qū)別

區(qū)別之一:迭代長度的不同

XP的一個(gè)Sprint的迭代長度大致為1~2周,而Scrum的迭代長度一般為2~4周。

區(qū)別之二:在迭代中,是否允許修改需求

XP在一個(gè)迭代中,如果一個(gè)User Story(用戶素材,也就是一個(gè)需求)還沒有實(shí)現(xiàn),則可以考慮用另外的需求將其替換,替換的原則是需求實(shí)現(xiàn)的時(shí)間量是相等的。而Scrum是不允許這樣做的,一旦迭代開工會(huì)完畢,任何需求都不允許添加進(jìn)來,并有Scrum Master嚴(yán)格把關(guān),不允許開發(fā)團(tuán)隊(duì)受到干擾。

區(qū)別之三:在迭代中,User Story是否嚴(yán)格按照優(yōu)先級(jí)別來實(shí)現(xiàn)

XP是務(wù)必要遵守優(yōu)先級(jí)別的。但Scrum在這點(diǎn)做得很靈活,可以不按照優(yōu)先級(jí)別來做,Scrum這樣處理的理由是:如果優(yōu)先問題的解決者,由于其它事情耽擱,不能認(rèn)領(lǐng)任務(wù),那么整個(gè)進(jìn)度就耽誤了。另外一個(gè)原因是,如果按優(yōu)先級(jí)排序的User Story#6和#10,雖然#6優(yōu)先級(jí)高,但是如果#6的實(shí)現(xiàn)要依賴于#10,則不得不優(yōu)先做#10。

區(qū)別之四:軟件的實(shí)施過程中,是否采用嚴(yán)格的工程方法,保證進(jìn)度或者質(zhì)量

Scrum沒有對(duì)軟件的整個(gè)實(shí)施過程開出工程實(shí)踐的處方,要求開發(fā)者自覺保證。但XP對(duì)整個(gè)流程方法定義非常嚴(yán)格,規(guī)定需要采用TDD、自動(dòng)測試、結(jié)對(duì)編程、簡單設(shè)計(jì)、重構(gòu)等約束團(tuán)隊(duì)的行為。