GitHub Issue 維護與管理

其實這不只適用於 GitHub,所有的 Issue 維護也可以遵循這樣的標記系統,只是各 Label Groups 與 Label 的內容可能需要隨著專案進行變化,這邊依照過往的使用習慣列了一些常用的 Label Groups。

Styleguide

Gating Requirement 🏷️ Gating 🏷️ Gating Candidate 🏷️ Non Issue
Platform 🏷️ Phone 🏷️ Tablet 🏷️ Computer
Environment 🏷️ Development 🏷️ Testing 🏷️ Staging 🏷️ Production
Problem 🏷️ Bug 🏷️ Erratum 🏷️ Safety 🏷️ Suggest
Error type 🏷️ UI 🏷️ UX 🏷️ Function 🏷️ Typo
🏷️ Incorrect 🏷️ dependencies
Action 🏷️ To-do 🏷️ Pending 🏷️Processing 🏷️ Verifying 🏷️ Done
Inactive 🏷️ Duplicate 🏷️ No-Action 🏷️ Clarify
Additions 🏷️ Feature

Label Groups

Gating Requirement

用來標記 issue 的緊急程度,依照嚴重性降冪排序,依序為 GatingGating CandidateNon Issue

Platform

如果程式可在多個平台上執行,就必須告知是在哪個平台上發生問題,例如:手機平板或是電腦,向下可以在細分出 device、 OS 或是 browser…等 Label Groups。

Environment

在理想的情況下,發行與管理程式所使用的環境可大致分成:DevelopmentTestingStagingProduction 四個獨立環境。不過實務上受限於體、時間或其他資源條件,可能會結合一或多個環境,但最少應該將 Production 獨立出來。

Problem

在歸類 issue 的時候第一步會區分是 BugErratumSafety 或是 Suggest ,如果運做結果不正確或不合預期就歸到 Bug;若是文件或註解甚至是 UI 上的文字有誤或者意思錯誤則歸到 Erratum;若是安全性相關的問題則標上 Safety;其他建議則使用 Suggest

我常用的就這四個標籤,其他標籤會依照專案在進行擴充。

Error type

這個標籤會在細分 Problem 的部分,我又分成 UIUXFunctionTypoIncorrectdependencies。其中 dependencies 是指第三方函式庫或相依函式庫的問題。

Action

我參考 trello 的 template 將執行進度分成:To-doPendingProcessingVerifyingDone

To-do 顧名思義就是放入代辦清單。Pending 則是先暫時擱置,可能在等待 Design 或 Spec,抑或者有可能是第三方問題等待修復中,不過最常見的原因是出現較緊急的 issue 需要 hot fix ,所以先暫時擱置目前的工作。Processing 就是處理中, Verifying 則是請 Q 驗證中。

Inactive

如果評估後不需要動作,則視情況澄清 issue Clarify 或是 No-Action。若是 isseu 重複,則為較後面出出現的 issue 貼上 Duplicate 標籤並關閉。

Additions

這個標籤 Feature 是標注這條 issue 已經在規劃中了。

參考資料

  1. kanban-template 。檢自 trello (2020-02-06)。
  2. Zach Dunn 。How we organize GitHub issues: A simple styleguide for tagging 。檢自 robinpowered (2020-02-06)。

更新紀錄

最後更新日期:2020-05-19
  • 2020-05-19 發表
  • 2020-02-06 完稿