敏捷開發(fā)實踐之Scrum方法運用

摘要:目前軟件開發(fā)除了強調(diào)產(chǎn)品質(zhì)量,同時對產(chǎn)品能夠快速發(fā)布并且迅速適應(yīng)市場變化的要求也日益強烈。為適應(yīng)這種開發(fā)環(huán)境和市場需求,傳統(tǒng)的軟件開發(fā)模式已被敏捷開發(fā)模式所替代。本文介紹敏捷軟件開發(fā)中的Scrum方法,并結(jié)合實際問題,分析Scrum方法在實踐中的運用。

 敏捷開發(fā)實踐之Scrum方法運用的圖1


關(guān)鍵詞:敏捷開發(fā);Scrum

 

產(chǎn)品質(zhì)量和開發(fā)效率一直是軟件產(chǎn)品開發(fā)的關(guān)鍵。隨著科技和經(jīng)濟的發(fā)展,軟件的市場環(huán)境和用戶需求不斷發(fā)生變化,這對軟件產(chǎn)品的快速發(fā)布提出很高的要求。傳統(tǒng)的瀑布模型、螺旋模型、原型模型等已不能適應(yīng)越來越復(fù)雜和不斷變化的需求和市場環(huán)境。近年來,敏捷軟件開發(fā)逐步流行,并被廣泛認識、研究和使用。敏捷開發(fā)具有應(yīng)對快速變化的市場和需求的能力,因此,它被越來越多的公司企業(yè)采用。用于敏捷軟件開發(fā)的方法有很多,其中Scrum方法是被廣泛應(yīng)用的方法之一。

 

1.Scrum簡介

 

Scrum是一個增量的、迭代的開發(fā)過程,名稱來自英式橄欖球的爭球。Scrum的整個開發(fā)周期包括若干個小的迭代周期,每個小的迭代周期稱為一個沖刺(SPrint),每個沖刺的長度一般為2到4周。在Scrum中,使用產(chǎn)品訂單來管理產(chǎn)品或項目的需求,產(chǎn)品訂單是一個按照商業(yè)價值排序的需求列表,列表條目的體現(xiàn)形式通常為用戶故事。開發(fā)團隊總是先開發(fā)的是對客戶具有較高價值的需求。在每個沖刺中,開發(fā)團隊從產(chǎn)品訂單中挑選最有價值的需求進行開發(fā)。沖刺中挑選的需求經(jīng)過計劃會議上的分析、討論和估算得到一個沖刺的任務(wù)列表,我們稱它為沖刺訂單。在每個迭代結(jié)束時,開發(fā)團隊將交付潛在可交付的產(chǎn)品增量。

 

Scrum的主要角色有:產(chǎn)品負責人、Scrum主管、開發(fā)團隊。Scrum的會議包括:計劃會議、評審會議、回顧會議、每日站立例會。Scrum的文檔有:產(chǎn)品訂單、沖刺訂單、燃盡圖。Scrum方法的運作過程就是產(chǎn)品負責人、Scrum主管、開發(fā)團隊依據(jù)Scrum必需的文檔,通過Scrum定義的會議方式展開的一輪一輪產(chǎn)品開發(fā)的迭代過程。

 

2.Scrum方法的實際運用

 

Scrum方法給出的是一個框架,各角色人員如何根據(jù)這個框架來實踐Scrum,尤其如何利用好每日站立例會、評審會議、回顧會議,是影響敏捷開發(fā)效果的關(guān)鍵因素。在Scrum方法的實際運用中,會遇到或多或少的一些具體問題。筆者根據(jù)以往自身敏捷開發(fā)項目的經(jīng)驗,對這些問題作簡要的分析,并給出有效的解決辦法。

 

2.1每日站立例會

 

每日站立例會是Scrum主管和開發(fā)團隊成員必須參加的會議。它是除了面對面溝通之外,開發(fā)團隊成員的另一個有效的溝通交流方式。Scrum倡導(dǎo)的每日站立例會平均時間不超過巧分鐘,開發(fā)團隊的每個成員需要向Scrum主管回答三個問題:今天完成了哪些工作?明天打算做什么?完成目標是否存在什么障礙?

 

每日站立例會需要Scrum主管的有效組織。每日站立例會最常見的問題是,團隊成員之間陷入了具體技術(shù)問題的討論中,導(dǎo)致會議時間嚴重拖長,影響了會議的效率。還有一種情況是,一個成員匯報所遇到的障礙的時候,其他成員沒有認真聆聽,對一些共有的障礙或者有依賴性的問題沒有引起足夠的重視,導(dǎo)致大家都卡在同樣的問題里,影響了開發(fā)的進度。

 

為使每日站立例會更加有效率,開發(fā)團隊的每個成員需要控制好自己的發(fā)言時間,一般在3分鐘左右。發(fā)言突出要點,簡明扼要,不要詳細論述具體技術(shù)問題。一旦發(fā)現(xiàn)團隊成員開始討論具體技術(shù)問題,Scrum主管應(yīng)及時給與提醒,這樣可以有效地控制會議時間。為了使每個成員都清楚目前項目的狀況,尤其對可能影響完成目標的障礙有所了解,Scrum主管在每次例會結(jié)束之前把記錄下來的障礙向開發(fā)團隊總結(jié)一遍,讓大家心中有數(shù),確保第二天的開發(fā)工作不受廣泛影響。這樣做也有助于Scrum主管在接下來的工作中有效地為團隊去除這些障礙。

 

2.2評審會議

 

在每一個沖刺的尾聲需要進行一次評審會議,產(chǎn)品負責人、Scrum主管、開發(fā)團隊必須參加評審會議。評審會議的目的是讓開發(fā)團隊向產(chǎn)品負責人展示在該沖刺完成的功能,回答與會人員對展示的疑問并記錄所期望的修改。評審會議進程一般不超過4個小時,開發(fā)團隊準備的評審展示內(nèi)容一般不超過1個小時。評審會議包含階段性驗收的意味,如何才能在有限的展示時間內(nèi),得到產(chǎn)品負責人的積極認可和有效反饋,是在會議準備階段和會議進行過程中必須注意的問題。

 

在會議準備階段,開發(fā)團隊應(yīng)該按照本次沖刺的沖刺訂單,組織產(chǎn)品功能的展示點,形成清晰簡要的PPT文檔。在會議現(xiàn)場最好能進行在線實際的功能展示,所以會議前開發(fā)團隊要準備好工作站和設(shè)備等。同時開發(fā)團隊還需要把能展現(xiàn)產(chǎn)品功能效果的圖、表、日志等數(shù)據(jù)提前保存下來,以防突發(fā)情況導(dǎo)致現(xiàn)場展示失敗時無內(nèi)容可展示。在會議開始時,Scrum主管和開發(fā)團隊需要確保所有人員對產(chǎn)品和該沖刺的目標有所了解,如果有人對此不清楚,則先用幾分鐘進行描述。然后,開發(fā)團隊按照準備好的PPT文檔,逐個介紹這次沖刺實現(xiàn)的結(jié)果,并且展示其功能效果。在展示的過程中,開發(fā)團隊應(yīng)該把重點放在“我們做了什么”,而不是“我們怎么做的”。這樣可以讓產(chǎn)品負責人對產(chǎn)品目前的功能狀況有直觀的了解,而不是陷入到技術(shù)細節(jié)之中。如果產(chǎn)品負責人想改變某些功能,Scrum主管把這個需求添加到產(chǎn)品訂單中,留待以后的沖刺解決。

 

2.3回顧會議

 

回顧會議是在每個沖刺結(jié)束之后進行的,通常在評審會議后進行,它通過總結(jié)本次沖刺的實踐經(jīng)驗,為團隊指出日后改進的方面,避免團隊重犯相同的錯誤。Scrum主管、開發(fā)團隊必須參加回顧會議。回顧會議是Scrum方法中很重要的會議,利用好回顧會議,可以有效地提高團隊的生產(chǎn)力。回顧會議需要鼓勵團隊成員積極參與,集思廣益,否則,這個會議就會流于形式,達不到預(yù)期的效果。

 

在實際應(yīng)用中,回顧會議的形式可以采取頭腦風暴法模式。會議開始時,Scrum主管先給團隊成員總結(jié)上次沖刺的回顧會議確定的改進內(nèi)容的執(zhí)行結(jié)果。然后,Scrum主管給每個成員發(fā)一張即時貼便簽,讓他們自己思考,回顧本次沖刺中團隊做得好和做得不好且需要改進的地方,各選三點意見寫在便簽上,然后把便簽貼在白板上。等所有成員都把寫好的便簽貼在白板上后,Scrum主管和團隊成員一起逐條討論便簽上的意見,充分理解團隊成員的想法。討論過程中,Scrum主管對相似的意見進行合并,對有依賴相關(guān)性的問題進行梳理。回顧會議結(jié)束后,Scrum主管就可以得到本次沖刺做得好的地方和需要改進的內(nèi)容。那些需要改進的內(nèi)容供下次沖刺的回顧會議進行效果跟蹤。

 

3.小結(jié)

 

Scrum方法是敏捷開發(fā)的一個框架,它并沒有規(guī)定具體的實踐方法。Scrum提倡靈活,遵循敏捷開發(fā)以人為本的原則,這需要軟件項目管理人員根據(jù)企業(yè)文化、管理模式、開發(fā)團隊的經(jīng)驗等因素,選擇合適的方案。下面給大家推薦一款備受好評的敏捷開發(fā)軟件 CORNERSTONE 提供了包括任務(wù)/需求/測試管理、迭代規(guī)劃、缺陷追蹤、報表統(tǒng)計、團隊協(xié)作、WIKI、共享文件和日歷等功能模塊,20人以下團隊可免費使用,點擊即可免費注冊CORNERSTONE

敏捷開發(fā)實踐之Scrum方法運用的圖2

登錄后免費查看全文
立即登錄
App下載
技術(shù)鄰APP
工程師必備
  • 項目客服
  • 培訓(xùn)客服
  • 平臺客服

TOP