標(biāo)簽:
區(qū)別之一: 迭代長度的不同
XP的一個Sprint的迭代長度大致為1~2周, 而Scrum的迭代長度一般為 2~ 4周.
區(qū)別之二: 在迭代中, 是否允許修改需求
XP在一個迭代中,如果一個User Story(用戶素材, 也就是一個需求)還沒有實(shí)現(xiàn), 則可以考慮用另外的需求將其替換, 替換的原則是需求實(shí)現(xiàn)的時間量是相等的。 而Scrum是不允許這樣做的,一旦迭代開工會完畢, 任何需求都不允許添加進(jìn)來,并有Scrum Master嚴(yán)格把關(guān),不允許開發(fā)團(tuán)隊(duì)收到干擾
區(qū)別之三: 在迭代中,User Story是否嚴(yán)格按照優(yōu)先級別來實(shí)現(xiàn)
XP是務(wù)必要遵守優(yōu)先級別的。 但Scrum在這點(diǎn)做得很靈活, 可以不按照優(yōu)先級別來做,Scrum這樣處理的理由是: 如果優(yōu)先問題的解決者,由于其它事情耽擱,不能認(rèn)領(lǐng)任務(wù),那么整個進(jìn)度就耽誤了。 另外一個原因是,如果按優(yōu)先級排序的User Story #6和#10,雖然#6優(yōu)先級高,但是如果#6的實(shí)現(xiàn)要依賴于#10,則不得不優(yōu)先做#10.
區(qū)別之四:軟件的實(shí)施過程中,是否采用嚴(yán)格的工程方法,保證進(jìn)度或者質(zhì)量
Scrum沒有對軟件的整個實(shí)施過程開出養(yǎng)個工程實(shí)踐的處方。要求開發(fā)者自覺保證,但XP對整個流程方法定義非常嚴(yán)格,規(guī)定需要采用TDD, 自動測試, 結(jié)對編程,簡單設(shè)計,重構(gòu)等約束團(tuán)隊(duì)的行為。因此,原作者認(rèn)為, 這點(diǎn)上,XP的做法值得認(rèn)同的,但是卻把敏捷帶入了一個讓人困惑的矛盾, 因?yàn)閤p的理念,結(jié)合敏捷模式,表達(dá)給團(tuán)隊(duì)的信息是“你是一個完全自我管理的組織, 但你必須要實(shí)現(xiàn)TDD, 結(jié)對編程, ...等等”
不難發(fā)現(xiàn),這四個區(qū)別顯見的是: Scrum非常突出Self-Orgnization, XP注重強(qiáng)有力的工程實(shí)踐約束
作者建議, 在管理模式上啟用Scrum, 而在實(shí)踐中,創(chuàng)造一個適合自己項(xiàng)目組的XP(“start with Scrum and then invent your own version of XP.”)
SCRUM介紹
回顧一下我所認(rèn)識的scrum,算是對自己知識的一個梳理。
scrum到底是什么,書中都說,它不是方法學(xué),不是過程,而是一個框架。我并沒有太理解這句話,所以先把scrum中都有些什么來說一下。
時間:scrum把時間分成一個個的sprint,也就是迭代周期。這個周期以2-6個星期為宜,但目前使用的最多的,是一個月,即四個星期。
每一個sprint的開始和結(jié)束都會有一個會議,叫做sprint計劃和sprint演示,這很好理解,計劃時計劃做什么,演示時演示做完的東西。然后,并不是演示完了就完事的,sprint還有一個回顧會議,用來對這個sprint進(jìn)行回顧,哪些做的好,哪些做的不好。這就是改進(jìn)。
組成sprint的每天中,都會有每日例會,叫做每日站會,所以謂站會,即是時間非常短的會議,眾所周知的,沒完沒了的會議總是讓我們,厭倦不已。而這種站會,我想差不多是從這方面來考慮的。
人物:scrum中有scrum master, product owner和scrum團(tuán)隊(duì)。我理解scrum master就是project manager,而product owner就是product manager,團(tuán)隊(duì)還是那個團(tuán)隊(duì),只是這里的團(tuán)隊(duì),在規(guī)模上有一定的限制,它要求人員不要太多,不要太少,3-12個,通常4人團(tuán)隊(duì)比較多見,當(dāng)然這個具體還得看實(shí)際情況來定。團(tuán)隊(duì)中開發(fā)測試人員比是1:1,即pair work。
scrum中的需求,采用story的形式進(jìn)行描述,整個產(chǎn)品的需求,被列成product backlog,而每一個迭代周期要做什么,是在每個sprint的計劃會議上進(jìn)行挑選的,根據(jù)po對backlog標(biāo)記的優(yōu)先級,團(tuán)隊(duì)對其進(jìn)行estimate并挑選出這個sprint里能完成的story,scrum master把它們列入計劃中。
backlog有一個用于統(tǒng)計的東西,叫做燃盡圖。從字面理解,就是燃燒掉多少的圖,即sprint backlog中的被完成了多少,每完成一個story,就燃燒掉一個story。產(chǎn)品backlog有產(chǎn)品燃盡圖,sprint有sprint燃盡圖。
以上基本就是我了解的一些scrum知識點(diǎn),其中忽略了工具部分和工作開展方式部分。因?yàn)椴捎檬裁垂ぞ呋虿捎檬裁捶绞絹韺?shí)現(xiàn),我認(rèn)為是根據(jù)實(shí)際情況來定的,而且,在每個sprint回顧會議中,這些東西都會被改進(jìn)。使用excel或白板來記錄story或backlog并不重要,重要的是,你是否有story或backlog。
所謂框架,是不是就是一種模式?真的很想理解這里的這個詞。有知道的,請賜教。
瀑布式開發(fā)、迭代開發(fā)、敏捷開發(fā)、XP與SCRUM的區(qū)別
聯(lián)系客服