GitLab: Issue、Issue Board 和 Kanban

本系列文是從 iT 邦幫忙鐵人賽系列文章搬至 gitlab-book.tw,鐵人賽撰文時 GitLab 仍為 12.x 版本,因此本系列文內容已有部分過期,本次搬移至此後,會視狀況新增一些補註說明。

本系列文是從 iT 邦幫忙鐵人賽系列文章搬至 gitlab-book.tw,鐵人賽撰文時 GitLab 仍為 12.x 版本,因此本系列文內容已有部分過期,本次搬移至此後,會視狀況新增一些補註說明。 鐵人賽原文網址:https://ithelp.ithome.com.tw/articles/10217957

延續昨天的進度,現在我們假想情境中的團隊成員都已順利登入 GitLab,也加入 GitLab Mattermost 的各個 Channel。我們故事中的主角 Dev Leader 準備要向團隊成員交辦接下來的工作任務。在交辦之前,Dev Leader 和 PM 互相合作,將各項工作任務都一一轉化成 GitLab Issue Tracker 上一張又一張的 Issue。

同時 Dev Leader 也利用 GitLab Issue Boards 作為數位看板使用,根據不同的目的,建立了以下幾種 Board。

To-Do

首先是最容易理解的 To-Do Board,利用 Board 一目瞭然 Issue 的狀態是「待執行(To Do)」、「執行中(Doing)」或「已完成」。

這也是 GitLab 預設的 Board 形式,當首次進入 Issue Boards 功能時,GitLab 便會提供建議,是否要建立此種形式的 Board。


(首次進入 Issue Board 時,GitLab 就會詢問是否要新增 To DoDoing 這兩個 List。)


(完整的 Board 會類似上圖,可一目瞭然 Issue 的處理狀況。)

To-Do Board 可適用於各種團隊,不論是 Dev、QA 或 Ops 團隊,也不論團隊是否有在跑 Agile 或使用 Waterfall 的開發方法。

Workflow Tracking

團隊使用的第二種 Board 是 Workflow Tracking,即是用來顯示每個 issue 目前正走到 Workflow 的哪一個階段。


(依據 Workflow 設置看板的各欄。)

這是配合團隊 Workflow 規劃而設置的 Board,特別是我們的假想團隊目前正為公司開發新產品,許多全新、獨立的 Feature 正要由 Plan 開始從零出發。而這樣的 Board 非常方便專案管理者與老闆得知產品整體的開發現況。

Assignee Lists

團隊使用的最後ㄧ種 Board 是用來確認團隊成員的「任務分派狀況」,這個是參考 GitLab 的付費功能 Assignee Lists 而手動建立的。

Assignee Lists 是一種特殊的 Boards,只要 Issue 有正確 Assign 給 User,就可以自動根據 User 區分成 Board 的各欄,讓管理者可以一覽每個人身上背了多少 Issue。


(手動建立比較辛苦的地方在於要自己更新 label,雖然累了一點,但依然可以組合出免費的 Assignee Lists。)


(圖片來自 GitLab 官方部落格,上圖即是付費版的 Assignee Lists,可以看到各欄直接是以人名為區分的。)

因為現在正是專案啟動之初,Dev Leader 尚不清楚每一位工程師確切的工作能力、生產力。因此正需要這種 Board 方便了解每一位團隊成員的工作量與執行狀況。

但在公司願意付錢升級使用 Assignee Lists 之前,Dev Leader 打算初期先自己辛苦一點自己手動建立以成員名稱命名的 label,再一一為各個 Issue 標上 label,徒法煉鋼的建立 Assignee Lists。未來等團隊上軌道了,也許就不需要查看此種資訊,又或者屆時老闆會同意付費升級此功能。


(GitLab EE 也會提醒你,付費升級之後,可以有更多好用的 Boards 喔~)


(截圖來自於 GitLab 官方文件,GitLab EE 要付費升級到 Premium,或 gitlab.com 要付費升級至 Silver 等級,才會有 Assignee Lists 的功能。)

小結

隨著 Issue 的開立、Issue Board 建立完畢,我們的假想團隊順利提升了一些專案開發狀況的資訊透明度。如果老闆突然來問團隊的工作進度與人力負載狀況時,就可以直接回覆對應的 Issue Borad 讓老闆可以隨時自行了解狀況。

我們可以發現其實 Issue Board 只是將 Issue 和 Label 轉換成 Board 的形式顯示;將 Issue 變成看板上一張又一張的 Card,而 Label 彙整而成的 List 則是看板的各欄。利用這樣的轉換,我們可以自由建立出符合自身需求的看板。雖然如果將 Issue Board 和專門設計給看板方法(Kanban)使用的數位看板軟體相比較,Issue Borad 功能可能尚有些不足。但因為 Issue Board 能和 GitLab 及 Issue Tracker 直接整合在一起,因此仍是十分實用且具有吸引力的。

最後也在廣告一次(謎之音:人家沒付你廣告費,還一直幫忙打廣告~),GitLab EE 與 gitlab.com 在升級付費等級之後,會提供更多進階的 Issue Board 功能,如果你真的覺得陽春版的 Board 不敷使用,不訪說服老闆付費升級,開啟更多的進階功能吧!


(或者你也可以試著等待一段日子,因為 GitLab 不時會將一些功能整合回核心程式碼,不過這狀況可遇不可求就是了。)

參考資料