Issue tracking isn’t anything new to me, but given how much of my workflow revolves around I thought it worth covering.
Point 1: Keep track of your issues
This might come across as trite, but talking with others about their self-hosted setups I’m surprised how often people don’t keep track of things. An issue isn’t meant to create obligation to work on it in your spare time, but instead an externalization of memory because you are going to forget the details in a week or two.
Take a minute to detail what you want to achieve. Pretend you won’t see the ticket for another month or two and add enough context to you get yourself back into it.
Point 2: Prioritize your issues
I find four levels of priority sufficiently granular. For applications that don’t support priority out-of-the-box, you can’t fudge it with labels, subject prefixes, or whatnot. Priority should be an amalgam of the following:
- Risk you incur from delaying the issue’s resolution (e.g. a ticket to create backups when you don’t have any)
- Reward that comes from the resolution of the issue (e.g. end users getting extra functionality)
- Effort required to resolve the issue (resolving a pile of quick small tickets can have cumulative benefit)
Of course, each of these are a shot in the dark. You don’t truly know the risk, reward, or effort. But take a stab at it and occasionally review the priority of all your issues; You can always adjust their priorities as you feel the friction of leaving them unresolved.
Point 3: Address the issues you’re avoiding
There are going to be issues in your queue that have a high priority, but you keep putting off. Sort by “last updated” and filter out the low priority issues and they’ll be as clear as day.
Try to notice this avoidance and name it the procrastination it is. You might just find the issues aren’t as time consuming as you initially thought. Maybe just take a 15 minute stab at it and see if it unravels a little.