Scrum實施【敏捷開發總結】

Scrum實施【敏捷開發總結】

 

希望能給大家提供更簡單清晰的總結,切記不應教條化敏捷開發過程!

 

敏捷開發模型主要有三個:XP,RUP,Scrum,分別側重點也不同。這裏就介紹我最近學習的Scrum。



Scrum是目前世界上最流行的敏捷開發方法之一,你可以將之理解爲一個管理框架。它是一種以爲人爲核心,迭代和循序漸進的開發方法。在Scrum中發佈產品的重要性高於一切,團隊必須高度自治,成員熟悉開發中遇到的各種技術,一般在2至4周,必須出一個實際運行的版本。Scrum團隊自我管理,堅信團隊所有成員能夠偶勝任工作,完成設計開發。其特點有:

1、倡導面對面溝通交流,勝過面面鉅細的文檔。

2、相信計劃不能被精確估計。

3、明確團隊的技術實力,相信沒有不可爲完成的任務。

 

開發模型:

 

簡述:

Scrum團隊一般由5-10人組成,橫跨各個職能,負責設計、開發、測試、文檔編寫等工作。Scrum團隊構成:產品負責人,ScrumMaster,Scrum團隊。產品負責人主要負責產品功能和完成時間,對產品負責,確定產品優先級。ScrumMaster主要負責整個Scrum項目進度,調整項目計劃,促進團隊成員充分溝通,組織每日Scrum會議,Sprint計劃會議,和Sprint評審會議。

 

在一個Scrum項目中,首先要將所有需要完成的工作列在一個ProductBacklog(根據初始需求分解出的任務列表,所有功能的總綱)中,每個Backlog項就是一個Story,項目開發過程中需求的改變也要寫進去。

 

在每個Sprint開始之前,要召開Sprint計劃會議,Sprint的任務選擇決定權屬於團隊,需都是從Stakeholder那裏拿來的,團隊有權從SprintBacklog中選擇適當的任務,作爲SprintBacklog,那種由ProductOwner一個人完全主導任務是不對的,團隊應該參與討論需求和計劃的活動中去。在會上,產品負責人ProductOwner爲ProductBacklog中的任務確定優先級,團隊按照優先級從Backlog中挑選他們認爲能在這個Sprint中完成的任務,並把這些任務從ProductBacklog中挪到SprintBacklog中去。

 

一個Backlog包含多個Story,然後將Story分解成若干Task。

 

編號

標題

描述User Story

優先級

Story Point

XXXXX

新Ajax框架

用戶通過Ajax框架實現所有Web應用,並達到桌面級用戶體驗

1

40

XXXXX

XXXXXXXX

作爲某個角色,我可以做什麼,以完成什麼目的

2

20

 

在Sprint的進行中,團隊每天都要舉行簡短的Scrum會議,以便成員瞭解開發進度,一個Sprint之後,召開Sprint評審會議和回顧會議,在會議上,團隊展示這個Sprint開發成果。Scrum會議地點選在任務版前,時間控制在15min,站立面對面溝通,會議記錄輪流進行。精髓是避免大家各自爲戰的狀態。每人都介紹昨天做了什麼,今天做什麼,遇到哪些問題和挑戰?然後leader開始移動任務卡片。對於不能解決的任務可以交給其他能夠解決問題的人去做。



 

 

Sprint計劃會議(主要是爲了制定SprintGoal和Sprint計劃),把Backlog分解成具體的Task,就是早上每日Scrum會議所採用的小卡片。每個Task以小時爲計量單位,安排到人。例如:用戶登錄校驗功能可分爲調研校驗功能所需技術3小時,設計校驗功能4小時,開發校驗功能3小時,編寫校驗功能單元測試用例3小時,執行單元測試用例1小時,CodeReview 1小時,更新設計文檔2小時,代碼重構2小時……

 

開發人員負責編寫單元測試代碼,CodeReview。一個Story結束必須經過單元測試,集成測試纔算真正完成

 

評審會議以demo在測試環境一下展示,對產品感興趣的各種人都可以參加。不必費時間精心準備。Sprint評審會議能儘早幫助團隊發現問題。

 

Sprint回顧會議,討論哪些好的建議和方法被採納,有什麼不可取,有哪些需要繼續堅持。

任務估計和實施:

如何進行任務估計?

使用PlanningPoker這樣一個工具,產品責任人爲大家挑選一個Story並簡單解釋其功能,以大家討論,每個遊戲參加者按照自己的理解來估計完成這個Story所需時間,從自己手裏選一個合適的數字,出牌,並解釋自己出牌原因,接下來根據之前的解釋,重新估計,大家新一輪出牌,直至估計值比較平均爲止。軟件下載(http://www.planningpoker.com/)

 

結對編程和代碼複審機制:

確保至少兩人對代碼有相同瞭解程度,確保團隊都對代碼有一定熟悉。兩個人一起討論,相互交替編碼,同時只有一個人編碼,另一個人指導,重新審視已完成的代碼的邏輯和算法,使得代碼評審工作在編碼階段就能完成。(Eclipse的ECF插件,可以實現結對編程)

 

 

 

推薦的Scrum管理工具:

1、ScrumWorks

2、XPlanner

3、RationalTeam Concert

 

參考:

1. http://blog.sina.com.cn/s/blog_91ed2bca0100y02p.html

2. 輕鬆Scrum之旅——敏捷開發故事

3. http://www.cnblogs.com/taven/archive/2010/10/17/1853386.html

4. http://www.mountaingoatsoftware.com/tools/planning-poker
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章