1. 程式人生 > >基於JIRA的Scrum敏捷開發的專案管理

基於JIRA的Scrum敏捷開發的專案管理

Scrum開發的步驟及準備

Scrum敏捷開發的關鍵字就是增量、迭代,他更重視專案團隊之間的現場溝通,不向傳統瀑布式開發那樣需要萬事具備,才開始開發,Scrum在大方向和小故事點確認好了後,團隊就可以開動了。

Scrum的團隊一般都不大,一Scrum團隊人數一般在10人左右,主要角色有:

product owner(產品負責人)、scrum master(團隊負責人)、scrum team(開發/測試團隊)。

  • Product owner :需求方,提出需求,能對功能流程、業務流程拍板的人。

  • Scrum master :團隊負責人,負責解決團隊各類問題,領導專案的人。

  • Scrum team :專案執行人員,一般指專案具體開發和測試的人員。

Scrum開發的步驟:

步驟一:頭腦風暴

如果product owner對產品需求非常清楚,就可以省略這個步驟;開發遵守“先緊後鬆”原則,必須先把需求瞭解清楚;這裡product owner可以召集技術團隊/使用者群體對其需求進行公開徵求意見,最後輸出一個產品建議表。

步驟二:product owner對產品建議表進行篩選並做減法,提煉最核心的需求。

在確定了需求後,由scrum master進行輸出prd(product requirement document),這裡就和傳統的瀑布模式一樣了,該有的文件都必須有,必須由scrum master和product owner確定好需求,包括業務邏輯、功能流程等。

步驟三:工作量估算

把任務量化,包括原型、logo設計、ui設計、前端開發等,儘量把每個工作分解到最小任務量,最小任務量標準為工作小時不能超過16小時,然後估算總體專案時間。

把每個任務都貼在白板上面,白板上分三部分:

(1)to do-待完成(2)in progress-進展中(3)done-完成

步驟四:Sprint

經過討論後,已經把任務量化到需要具體完成的時間,然後把n個任務按照開發的重要度,組合成n個sprint(衝刺),每次執行一個sprint。

  • Sprint:每個sprint都是獨立的,一般先做主要功能,再到次要功能,再到小功能,最後的sprint一般是修復bugs。)

  • Sprint:因為任務都被量化了,每天工作了多少小時,完成了多少任務量,通過每天的例會scrum master就非常清楚,並且在time burn down chart(時間燃盡表)進行表示,我們就可以直觀看到任務的進度了,而且是具體到多少小時。

  • Sprint:在burn down chart裡面,不管任務是否按時完成都必須記錄。

  • Bugs:每個sprint都必須測試,儘量大家一起測試,如果太多bugs就開一個sprint來修復bugs。

  • 站會:每天要做的是,要開standing meeting,因為大家的時間都是非常緊張的,一般是站著開的,時間不要長,10分鐘左右為宜。會議必問開發團隊每個人三個問題:(1)今天做了什麼(2)明天打算做什麼(3)遇到什麼困難

  • scrum master要解決開發團隊的困難,讓專案快速進展下去;每週一次週會,product owner最好在場;每個月一次月會,product owner最好在場,指出產品開發是否在product owner期待範圍內;如此重複下去,直到開發完成。

(時間燃盡表:scrum的精華,通過該表格可以視覺化任務的時間進度,從圖中可以看到,day1是整個任務的總共時間,每天按照任務完成度更新剩餘時間,或者增加時間(例如發現一個技術難點、團隊成員請假等要增加開發時間))。

步驟五:評估

product owner和其團隊/使用者會對產品進行評估,可能還會有各種不滿意的地方,不過product owner要求需要改的地方還是要改的,建立一個bugs sprint,把產品做到product owner最想要為止。

補充說明

  • SCRUM也有其自身的先天缺點,就是對團隊要求高,團隊成員有能力且相互信任度高,不會相互推卸責任。

  • 新團隊使用該方法,起初會有各種問題,需要多多磨合。

基於JIRA的Scrum的專案管理

準備工作:

1、在上面的第三步時需要做工作拆分及工作量估算,會得到一個類似下面的專案計劃表,JIRA的Scrum專案管理也是基於此表

p_w_picpath

2、團隊中所有成員必須已經在JIRA中建立使用者,並可以正常登陸

p_w_picpath

正式JIRA中建立Scrum開發專案

一、建立一個Scrum的BoardsScrum的團隊

p_w_picpath

p_w_picpath

p_w_picpath

p_w_picpath

p_w_picpath

這是新建好的Boards,同時也建好了專案。

p_w_picpath

p_w_picpath    
二、開發專案常規管理

p_w_picpath

1、專案編輯

p_w_picpath

p_w_picpath

2、版本開發週期設定

p_w_picpath

3、新增軟體開發的功能模組

p_w_picpath

4、修改工作流

p_w_picpath

p_w_picpath

預設工作流太簡單,沒有QA等功能,需要重新建立工作流,或者增加一個工作流:

p_w_picpath

p_w_picpath

這個流程比較適合Scrum專案使用,大概流程如下:建立好每個故事或子任務後,它們都處於 TO DO狀態,團隊成員登陸JIRA,可以看到分配給自己的任務,團隊成員選擇一個優先要做的任務,並把當前任務更改為IN Progress,如果遇到難題進行不下去了,就把這個任務狀態改為Blocked,當哪天又可以解決的時候,再把當前任務狀態改為In Progress,如果任務順利完成,就把當前任務改成Ready For QA狀態,等待進行軟體測試,如果測試通過沒有問題,QA就把這個任務狀態改為DONE,此時這個任務就完成了。如果測試中有問題,QA會重新把任務狀態改為IN PROGRESS狀態,並分配處理人為開發者,同時備註問題原因,由開發者處理問題後重新提交Ready For QA。當整個Sprint都測試通過沒問題,這個SPrint就結束了,但如果後來整合測試中還有問題,或者任務有了小的要求修改,相關任務,需要REOPENED,重新開始TO DO去一個新的迴圈。

p_w_picpath

返回專案管理中

p_w_picpath

三、Scrum敏捷開發設定

1、基本設定完成後,返回可以看到功能已經全部具備,下面開始新增Story、Task了

p_w_picpath

2、建立大一些的使用者故事——Epics

p_w_picpath

p_w_picpath

p_w_picpath

以下設定是需要先在第一個Sprint的Planning Meeting上已經確定了Story和細分的Story Point 。

p_w_picpath

p_w_picpath

3、建立第一個Sprint,並重命名,方便識別

p_w_picpath

p_w_picpath

4、建立story(即Scrum開發中所說的Story,如果還有子任務,這個story可以不指定經辦人)

p_w_picpath

p_w_picpath

p_w_picpath

p_w_picpath

選擇Stroy輸入Estimate(預估天數)及子任務

p_w_picpath

p_w_picpath

錄完了所有的story後,下面按照計劃表錄入子任務

p_w_picpath

指定每個子任務的經辦人

p_w_picpath

如此方法,建立完成所有的子任務

p_w_picpath

5、開始Sprint

p_w_picpath

設定第一個Sprint的開始及結束時間

p_w_picpath

有了活動Sprint,Active Sprint專案才能有內容。

p_w_picpath

在Active Sprint專案中增加Ready For QA列,用於過程測試動作的顯示。

p_w_picpath

p_w_picpath

p_w_picpath

p_w_picpath

p_w_picpath

6、設定管理面板(為了方便看到整個專案進度情況及分配 給我的任務,可以根據需要專門定製管理面板)

p_w_picpath

p_w_picpath

增加一個新面板,並應用給所有人

p_w_picpath

p_w_picpath

p_w_picpath

通過增加小工具來增加工具

p_w_picpath

p_w_picpath

修改及移動已有的小工具

p_w_picpath

p_w_picpath

建立完成的面板,在使用者一登陸時就會看到這個

p_w_picpath

專案中的6大功能板塊:

一、Backlog(檢視Epics-大故事,Task-小故事,Sub-Tasks-故事點。)

p_w_picpath

二、Active Sprints(檢視進行中的Sprint的進展情況:To Do/In Progress/Done)

p_w_picpath

三、Releases(版本釋出情況)

p_w_picpath

四、報表(各類統計報表)

p_w_picpath

五、Issues(問題列表)

p_w_picpath

六、模組(每個模組中的問題數量)

p_w_picpath

————————————————————————————————————————————————————————————————————————————————

說明:JIRA中可以建立專案的型別(上例是建立Boards時系統自動建立的軟體專案,是預設的第一個專案型別)

p_w_picpath

軟體類:

1、Scrum軟體開發

p_w_picpath

2、看板軟體開發

p_w_picpath

3、基本軟體開發

p_w_picpath

業務類:

4、任務管理

p_w_picpath

5、專案管理

p_w_picpath 

6、過程管理

  p_w_picpath