When it comes to project management tools, my favourite is GitHub issues. I find them simple to use and I like the issue-code proximity. Since adding a label to a repository is so easy, you might lose oversight of all the labels you have and why you have them. Here are some tips for anyone who might need some help taming them.
Group into categories
One of the things I find useful is grouping labels into different categories. For example, a group of labels that describe the type of an issue or one for the resolution when the issue is closed. The exercise alone of assigning the labels to a category helps identify duplicates or reveal unused labels.
Sort the categories
One of my biggest frustrations is scrolling through the labels, trying to find the one I am looking for. Plus, since I don’t have all the available labels in my head all the time I might not even know there is a good label I could add to my issue. To sort them out in the past, I used to either give all the labels of a category the same colour or to prefix the label, e.g. s_blocked, s_pinned. Both options solved the issue of sorting the labels into categories but both were equally unattractive. My newest trick is to prefix labels of a certain category with an emoji. I must say I’m quite pleased with this solution for now.
Revise the categories
I’m always tempted to add a label to describe a specific issue and I fear I am not the only one. So the list of labels just gets longer and longer. When we get the feeling that we spend more time scrolling than we would like to, the team sits together and reviews the situation. Then we ask questions like “How often is this label used?”, “Who is using it as filter?” or “Are two labels describing the same thing?”. At the end of the conversation, not only we have a shorter labels list, but we understand a bit better how each one of us works with issues.
Is arranging labels the biggest problem in software development? Probably not. But sometimes the little annoying things add up, so if we can get rid of them easily, why not?