Scrum開發(fā)的步驟及準備
Scrum敏捷開發(fā)的關鍵字就是增量、迭代,他更重視項目團隊之間的現(xiàn)場溝通,不向傳統(tǒng)瀑布式開發(fā)那樣需要萬事具備,才開始開發(fā),Scrum在大方向和小故事點確認好了后,團隊就可以開動了。
Scrum的團隊一般都不大,一Scrum團隊人數(shù)一般在10人左右,主要角色有:
product owner(產品負責人)、scrum master(團隊負責人)、scrum team(開發(fā)/測試團隊)。
-
Product owner :需求方,提出需求,能對功能流程、業(yè)務流程拍板的人。
-
Scrum master :團隊負責人,負責解決團隊各類問題,領導項目的人。
-
Scrum team :項目執(zhí)行人員,一般指項目具體開發(fā)和測試的人員。
Scrum開發(fā)的步驟:
步驟一:頭腦風暴
如果product owner對產品需求非常清楚,就可以省略這個步驟;開發(fā)遵守“先緊后松”原則,必須先把需求了解清楚;這里product owner可以召集技術團隊/用戶群體對其需求進行公開征求意見,最后輸出一個產品建議表。
步驟二:product owner對產品建議表進行篩選并做減法,提煉最核心的需求。
在確定了需求后,由scrum master進行輸出prd(product requirement document),這里就和傳統(tǒng)的瀑布模式一樣了,該有的文檔都必須有,必須由scrum master和product owner確定好需求,包括業(yè)務邏輯、功能流程等。
步驟三:工作量估算
把任務量化,包括原型、logo設計、ui設計、前端開發(fā)等,盡量把每個工作分解到最小任務量,最小任務量標準為工作小時不能超過16小時,然后估算總體項目時間。
把每個任務都貼在白板上面,白板上分三部分:
(1)to do-待完成(2)in progress-進展中(3)done-完成
步驟四:Sprint
經過討論后,已經把任務量化到需要具體完成的時間,然后把n個任務按照開發(fā)的重要度,組合成n個sprint(沖刺),每次執(zhí)行一個sprint。
-
Sprint:每個sprint都是獨立的,一般先做主要功能,再到次要功能,再到小功能,最后的sprint一般是修復bugs。)
-
Sprint:因為任務都被量化了,每天工作了多少小時,完成了多少任務量,通過每天的例會scrum master就非常清楚,并且在time burn down chart(時間燃盡表)進行表示,我們就可以直觀看到任務的進度了,而且是具體到多少小時。
-
Sprint:在burn down chart里面,不管任務是否按時完成都必須記錄。
-
Bugs:每個sprint都必須測試,盡量大家一起測試,如果太多bugs就開一個sprint來修復bugs。
-
站會:每天要做的是,要開standing meeting,因為大家的時間都是非常緊張的,一般是站著開的,時間不要長,10分鐘左右為宜。會議必問開發(fā)團隊每個人三個問題:(1)今天做了什么(2)明天打算做什么(3)遇到什么困難
-
scrum master要解決開發(fā)團隊的困難,讓項目快速進展下去;每周一次周會,product owner最好在場;每個月一次月會,product owner最好在場,指出產品開發(fā)是否在product owner期待范圍內;如此重復下去,直到開發(fā)完成。
(時間燃盡表:scrum的精華,通過該表格可以可視化任務的時間進度,從圖中可以看到,day1是整個任務的總共時間,每天按照任務完成度更新剩余時間,或者增加時間(例如發(fā)現(xiàn)一個技術難點、團隊成員請假等要增加開發(fā)時間))。
步驟五:評估
product owner和其團隊/用戶會對產品進行評估,可能還會有各種不滿意的地方,不過product owner要求需要改的地方還是要改的,建立一個bugs sprint,把產品做到product owner最想要為止。
補充說明
-
SCRUM也有其自身的先天缺點,就是對團隊要求高,團隊成員有能力且相互信任度高,不會相互推卸責任。
-
新團隊使用該方法,起初會有各種問題,需要多多磨合。
基于JIRA的Scrum的項目管理
準備工作:
1、在上面的第三步時需要做工作拆分及工作量估算,會得到一個類似下面的項目計劃表,JIRA的Scrum項目管理也是基于此表
2、團隊中所有成員必須已經在JIRA中建立用戶,并可以正常登陸
正式JIRA中建立Scrum開發(fā)項目
一、建立一個Scrum的BoardsScrum的團隊
這是新建好的Boards,同時也建好了項目。
1、項目編輯
2、版本開發(fā)周期設置
3、添加軟件開發(fā)的功能模塊
4、修改工作流
默認工作流太簡單,沒有QA等功能,需要重新建立工作流,或者增加一個工作流:
這個流程比較適合Scrum項目使用,大概流程如下:建立好每個故事或子任務后,它們都處于 TO DO狀態(tài),團隊成員登陸JIRA,可以看到分配給自己的任務,團隊成員選擇一個優(yōu)先要做的任務,并把當前任務更改為IN Progress,如果遇到難題進行不下去了,就把這個任務狀態(tài)改為Blocked,當哪天又可以解決的時候,再把當前任務狀態(tài)改為In Progress,如果任務順利完成,就把當前任務改成Ready For QA狀態(tài),等待進行軟件測試,如果測試通過沒有問題,QA就把這個任務狀態(tài)改為DONE,此時這個任務就完成了。如果測試中有問題,QA會重新把任務狀態(tài)改為IN PROGRESS狀態(tài),并分配處理人為開發(fā)者,同時備注問題原因,由開發(fā)者處理問題后重新提交Ready For QA。當整個Sprint都測試通過沒問題,這個SPrint就結束了,但如果后來集成測試中還有問題,或者任務有了小的要求修改,相關任務,需要REOPENED,重新開始TO DO去一個新的循環(huán)。
返回項目管理中
三、Scrum敏捷開發(fā)設置
1、基本設置完成后,返回可以看到功能已經全部具備,下面開始添加Story、Task了
2、建立大一些的用戶故事——Epics
以下設置是需要先在第一個Sprint的Planning Meeting上已經確定了Story和細分的Story Point 。
3、建立第一個Sprint,并重命名,方便識別
4、建立story(即Scrum開發(fā)中所說的Story,如果還有子任務,這個story可以不指定經辦人)
選擇Stroy輸入Estimate(預估天數(shù))及子任務
錄完了所有的story后,下面按照計劃表錄入子任務
指定每個子任務的經辦人
如此方法,建立完成所有的子任務
5、開始Sprint
設置第一個Sprint的開始及結束時間
有了活動Sprint,Active Sprint項目才能有內容。
在Active Sprint項目中增加Ready For QA列,用于過程測試動作的顯示。
6、設置管理面板(為了方便看到整個項目進度情況及分配 給我的任務,可以根據(jù)需要專門定制管理面板)
增加一個新面板,并應用給所有人
通過增加小工具來增加工具
修改及移動已有的小工具
創(chuàng)建完成的面板,在用戶一登陸時就會看到這個
項目中的6大功能板塊:
一、Backlog(查看Epics-大故事,Task-小故事,Sub-Tasks-故事點。)
二、Active Sprints(查看進行中的Sprint的進展情況:To Do/In Progress/Done)
三、Releases(版本發(fā)布情況)
四、報表(各類統(tǒng)計報表)
五、Issues(問題列表)
六、模塊(每個模塊中的問題數(shù)量)
————————————————————————————————————————————————————————————————————————————————
說明:JIRA中可以建立項目的類型(上例是建立Boards時系統(tǒng)自動建立的軟件項目,是默認的第一個項目類型)
軟件類:
1、Scrum軟件開發(fā)
2、看板軟件開發(fā)
3、基本軟件開發(fā)
業(yè)務類:
4、任務管理
5、項目管理
6、過程管理