老實說,剛開始要寫這篇博文的時候,我在想:我是誰缺狠?我在哪里?我在干什么萍摊?
目標:
- 為了讓JIRA board owner和admin創(chuàng)建出來的Scrum board更規(guī)范挤茄;為了使JIRA user在挪卡的時候,有效信息能被能好的track冰木;為了用以統(tǒng)計分析穷劈、跟蹤的reports能更好的為項目服務。
- 為了在team Retrospective meeting中踊沸,能更好地對Sprint進行回顧歇终,從數(shù)據(jù)上提供更好的事實支撐和具體分析;為了在以后的Sprint進行逐步良性改善逼龟。
最后自己心里還是默念:我是個Tech评凝,我是個Tech,我是個Tech腺律。
JIRA概念性模型
Project
: 可以理解為Issues所屬的集合奕短、命名空間。一般而言疾渣,可以一個software project來創(chuàng)建其對應的JIRA project篡诽。
Issue
: 可以具象理解為卡片崖飘,一個issue就是一張卡片榴捡。
Issue type
: 卡片類型,可以是Epic朱浴、story吊圾、bug、task等翰蠢。
Status
: 卡片可以選擇的狀態(tài)项乒。一堆status和transition構成一個具體的工作流(workflow),卡跟隨工作流中設定的狀態(tài)進行流轉梁沧,完成卡的整個生命周期檀何。
Board
: 具體的項目實踐管理的操作空間。一個board可以關聯(lián)一個project,也可以關聯(lián)多個project频鉴,取決與創(chuàng)建board時的設置栓辜。簡單一點話,我們這里還是讓一個board僅關聯(lián)一個project即可垛孔。
Backlog
: board中藕甩,未加入具體sprint的issues,則會顯示在backlog區(qū)域內周荐。
Sprint
: Scrum中的一個概念狭莱,代表一個固定的時間盒子(time box),可以是2周~4周概作。項目團隊以每個sprint實現(xiàn)短期交付目標和增量式迭代腋妙。在JIRA中,一個Sprint中會加入一批Issues讯榕,用以詳細定義此次Sprint的目標和工作內容辉阶。
Active Sprint
: 已經(jīng)組織好issues list的sprint可以通過Sprint plan meeting(或者叫Iteration plan meeting)之后,將此Sprint激活瘩扼。這時谆甜,此Sprint內的所有issues會自動顯示在Active Sprint頁面上 ———— 大多數(shù)JIRA User所關注的可視化電子墻則成功出現(xiàn)。
Release / version
: JIRA中沒有Release這個實體概念集绰。Release對應的實體规辱,其實是version。在Issue的屬性中關聯(lián)上Fix version栽燕,則issue可以從Release / version的維度進行數(shù)據(jù)統(tǒng)計和進度track罕袋。
簡單上手
如果JIRA新手,可以先參照官方的Getting started as a Jira Software manager
這里碍岔,假設我們已經(jīng)有了Project和已經(jīng)完成了User Management ———— 一個已經(jīng)運行了一段時間的開發(fā)項目浴讯,我們嘗試來創(chuàng)建一個新的JIRA Scrum board。
-
創(chuàng)建一個新的Scrum board蔼啦。
在舊的board上榆纽,點擊右上角的按鈕[Board],在下拉框中選擇[Create board]捏肢。
然后在下一步中選擇[Create a Scrum board] > [Board from an existing project]奈籽。可看到下圖
輸入相應信息后鸵赫,點擊[Create board]衣屏,這時新的board就會創(chuàng)建出來。
由于創(chuàng)建時選擇了已存在的一個project辩棒,該project中有未分配給sprint的issues則會自動顯示在新的board的backlog中狼忱。
當然如果board中只需要顯示project中一部分的內容膨疏,可以通過修改board configuration頁面中的filter進行過濾。
-
配置board的Estimation钻弄。
點擊board頁面右上角的[board]按鈕成肘,選擇[Configure]。
進入board configuration頁面斧蜕,選擇[Estimation] tag双霍。
在該頁面上選擇estimation和tracking基于的單位。
-
使用backlog來為sprint做準備批销。
從board頁面洒闸,點擊頁面最上方的[create]按鈕,來創(chuàng)建issue均芽。
錄入issue的必要信息丘逸,這時候estimation值一般是沒有的,留待IPM中填充掀宋。
等準備好所有issues之后深纲,backlog顯示如下:
- 開啟IPM(Iteration plan meeting)
在會議上,通過開發(fā)人員一起確認各個issue的估點劲妙,并且“創(chuàng)建”Sprint湃鹊,根據(jù)估點和優(yōu)先級,將issues拖入Sprint中镣奋。
-
錄入估點
-
創(chuàng)建Sprint
點擊Backlog右上角的[Create Sprint]币呵,創(chuàng)建一個空的Sprint。然后拖入此次Sprint的issues侨颈。
-
準備開啟Sprint余赢。
最后檢查一遍issues上的必要信息,特別注意估點(Estimation)已經(jīng)成功錄入哈垢。
檢查完后妻柒,點擊sprint右上角的[Strart Sprint]。接著在彈出框中選擇好time box時間周期耘分,最后點擊[Start]举塔。
這時,該Sprint會進入Active狀態(tài)陶贼,所屬issues會顯示在board的Active board page中啤贩。
為什么提醒一定要再檢查一遍issues,特別是在確認估點錄入之后再start Sprint拜秧?
因為按這個正常的流程,可以得到一個正常的燃盡圖章郁。見下:
如果在start sprint后才開始加入估點記錄枉氮,則會獲得這樣的燃盡圖報表:
初始點y值為0志衍,guideline完全貼在X軸,沒有任何sprint初始Estimation聊替,之后再錄入任何一條issue的估點楼肪,都被展示成“Scope change”。
而真正的涉及到Scope change的issue track就會傻傻地無法區(qū)分惹悄。
-
修改Active board column春叫。
進入board配置頁面,選擇Columns page泣港。
JIRA默認的Columns一般分為3條 —— TODO暂殖、In progress、Done当纱,一般status和columns是對不上的呛每,可以進行添加和修改。
點擊[Add column]坡氯,可添加一列晨横。也可以直接點擊修改。
然后將對應的status分配到Column中箫柳。在不同的column之間移動的issue時手形,issue的狀態(tài)會自動流轉到column對應的status。
同時Active Sprint也會同步刷新為新的Columns布局悯恍。
至于status的添加和修改叁幢,需要JIRA Project admin的權限可以對workflows進行修改。
特別要注意
-
最后一個Done column中的status一定要明確坪稽。如果Done column中有兩個及以上status時曼玩,請務必確認其相互之間不是上下游狀態(tài)關系,而是非此及彼的平級關系窒百。
因為同一個column中黍判,無法再通過拖動issue來變更status。
同時如果上下游關系的status混在一個column里也會讓lead time無法很好的統(tǒng)計篙梢。
下圖中Done column中既有QA Done
顷帖,也有UAT Done
。
其中QA Done issue count為45渤滞, UAT Done issue count為31贬墩。
-
一定要確認最后一個Done column中的status是否需要transition時set resolution。
如果還有下游的board需要流轉和處理同一批issue的情況妄呕,可以暫時一部分status不需要設置set resolution陶舞。
否則,請將最后一個Done column中對應的status transition在workflow配置中绪励,加入set resolution post Function肿孵。
-
如何對沒有resolution的status添加Post function唠粥?
點擊board頁面左下角的齒輪按鈕[Project setting],在點擊[workflows],選擇對應workflow停做。
點擊[Edit]按鈕晤愧,進入編輯狀態(tài)。點擊圖右邊transition的[post Functions] link蛉腌。
點擊[Add post function]官份,進入添加post function的引導流程。
為何強調一定要加入set resolution?
在JIRA中并不是自定義一個叫Done的status就代表這張卡片已經(jīng)達到完成標準烙丛、走到了生命周期的終點舅巷,而是需要使用issue上的resolution field。
如果最后不添加resolution會造成的影響蜀变,會對一些報表和filter的使用造成影響悄谐。
官方說明見下:
勘誤:
燃盡圖報表:
燃盡圖報表中的issue是否complete,是否burndown库北,與resolution field無關 —— 僅于board上最右的column有關爬舰。
只要issue移動到最右的column,即會顯示burndown寒瓦。
官方說明見下:
JIRA board users在sprint中情屹,領取issue和傳遞issue時,一定要記得及時挪卡杂腰。
-
在sprint結束時垃你,一定要記得及時手動點擊complete sprint。
點擊右上角link[Complete Sprint]喂很,這時對于未Done的issue會進行提示:
可以選擇移入backlog惜颇,或者移入新的sprint中。
在這里不要因為Sprint時間到了少辣,仍有未完成的issue凌摄,而害怕將Sprint complete。
所有的track行為都應該以實際情況為準漓帅,這樣生成的數(shù)據(jù)才能真實進行反饋锨亏,為將來的改進提供有效的建議和數(shù)據(jù)支持。
Sprint complete了之后忙干,如velocity report就可以計算和匯總這次sprint velocity了器予。
總結
既然用了有用的工具,就要有效的使用起來捐迫。
要避免僅將JIRA當成一個可視化電子墻的誤區(qū)乾翔。
勘誤
2019.11.22 勘誤了第7段,燃盡圖燃盡機制的說明弓乙。