敏捷開發之道(四)Scrum概述

       上次的博文敏捷開發之道(二)極限編程XP敏捷開發之道(三)極限編程XP續中,我們介紹了一下敏捷開發中的XP開發方法,今天咱們來了解另一個比較流行的敏捷開發方法——Scrum。


1、Scrum簡介

       Scrum是一種兼顧計劃性和靈活性的敏捷開發過程,來源於美式足球中的"帶球過人","帶球過人"的含義主要是在比賽開始之前制定一個計劃,在比賽中隨機應變。

2、Scrum與傳統開發模式

       在傳統開發模式中,我們通常將開發模式分爲:需求、設計、編碼、測試等階段,而在Scrum中則將整個開發過程分爲多次迭代,成爲Sprint。

3、Scrum與XP的區別和聯繫

       Scrum與XP都是敏捷開發方法,兩者都體現了快速反饋,強調交流,強調人的主觀能動性等敏捷開發的基本原則,而且兩者之間的多數實踐都可以互相適用。
但兩者之間除了聯繫之外還有一些區別。

       區別一

       Scrum的迭代長度一般爲2~4周,XP相對來說時間較短通常爲1~2周;

       區別二

       在XP的一個迭代中,如果一個用戶素材還沒有實現,則可以考慮用另外的需求將其替換,替換的原則是需求實現的時間量是相等的。而在Scrum的一個迭代中則要求,一旦迭代開工會完畢,任何需求都不允許添加進來,並有Scrum Master嚴格把關,開發期間不允許開發團隊受到干擾;

       區別三

       在XP迭代中,用戶素材的實現務必要遵守優先級別,而在Scrum中,則可以不按照優先級別來做。Scrum給出的理由很簡單,即如果優先問題的解決者,由於其它事情耽擱,不能認領任務,那麼整個進度就耽誤了。另外一個原因是,如果按優先級排序的用戶素材中,存在較高優先級依賴較低優先級的情況,則要想實現較高優先級的就必須首先完成優先級低的。

       區別四

       XP對開發流程的定義非常嚴格,規定需要採用TDD、自動測試、結對編程、簡單設計、重構等約束團隊的行爲。XP這樣的理念加上敏捷開發自我管理的理念,它最終表達的意思就是你是一個自我管理的個體,但你需要執行TDD、自動測試、結對編程……等等,這就給我帶來了困惑。相對的,Scrum沒有對軟件的整個實施過程嚴格要求,更加強調Self-Orgnization的理念,要求開發者自覺保證。

       通過以上對比,我們可以發現Scrum更加強調面向管理過程的開發方式,XP則更加強調面向工程過程的開發方式。所以更多的人在管理模式上啓用Scrum, 而在實踐中,創造一個適合自己項目組的XP。


       今天我們就先講到這裏,更多的內容,請見下篇!敬請期待。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章