Issue Tracker

Issue tracker

There are plenty of Issue Trackers and Knowledge Management Systems out there to choose from. For the purpose of simplicity, we’ll use GitHub as an example of both. Anyone can set up a free personal (and even an organization) account and start building their Hygge Company using GitHub issue tracker and repositories for free!

Normally, Hygge Companies employees have set tasks and milestones with due dates for all of their projects. They need to accomplish those tasks and milestones on time. Where they do it from and how much time they spend on it, doesn’t matter. Our no-timesheets-approach gives a lot of freedom to all team-members, but also creates the responsibility to reach set out goals.

Committing to GitHub is the only way to show everyone what you are working on. It is important to write updates every time you do something, however small it is. It allows others not only to appreciate all the work you are doing, but also helps them keep you on the right track. If they see no updates from you in the past 24hr, people will assume you took a day off.

Issues

Issues are a core part of both tech and business development. Always create an issue for things you work on. It enables other people to see your work in real time and intervene if something doesn’t look right. You can always edit the description or close it when the problem changed to something different or was solved.

Issues guidelines:

  • When writing to your colleagues, be precise, and word your messages in the clearest way possible.
  • Add brief description with necessary steps to close the issue, relevant links to support what you’re trying to say, associated issues and an estimated due date.
  • Assignee. It’s okay to have multiple people involved in the issue, but pick one assignee, who will act as the lead person. @ other relevant people in the issue description and clearly state their role. Avoid SWATing.
  • Relevant labels and milestones. To keep the order in your repos we suggest using mandatory labels like status, priority, type of issue, team.
  • For managers and people involved in the task, make sure it is also added to your/their project board.

Update your issues

Make sure to update your issues with:

  • All notes from meetings
    • Who was included
    • What was discussed
  • Updates on work you are doing
    • Merge requests associated
    • Problems you are working through
    • When things are completed
    • Methods/techniques you are using or considering
  • Questions or clarifications (tell people if you are stuck or unsure of how to proceed)
  • Labels, assignee, or steps

Do not leave issues idle for a long time; they should be actionable and realistic. Keep them updated, however small the progress is. Every time you do something, successfully or not, leave a quick comment for others to see progress or the lack of thereof. If you just want to have a brainstorming issue and don’t attach it to any active client or a milestone, GitHub has Discussion tab for you to use.

📝 Issues💬 Discussions
Actionable tasks with clear deliverablesIdeas you want to discuss before implementing them/brainstorming
Elaborate plan of action/Functional requirementsAsking questions
Specific deadlineCollecting feedback
One assignee responsible for resultAnnouncements

If you are assigned to an issue but don’t have time to work on it, ask for help, add status - on hold tag, or assign it to someone else. If you don’t have time to do something let people know instead of having it linger. You can use the text: “I have other priorities and can’t help with this” or “I can complete this on May 25, please let me know if that is OK”.

When someone asks about a task, give back a deadline. Answers like: ‘will do’, ‘OK’, ‘it is on my todo list’ are not helpful. If it is an easy one, it is better to spend 2 minutes doing it and forget about it. If it might take time, you need to figure out when you’ll do it, by returning that information the other person might decide to solve it in another way if it takes too long.

When you complete the issue, add a quick comment and assign the status - done label so the person who opened it can double-check everything and close it. Unless you are the one who opened it, don’t close the issue yourself.

Communication

The easiest way to communicate on GitHub is to make a ping directly in the issue. Check person’s or team’s GitHub name first, then:

People: put “@” and start writing person’s github name.

mention person

Teams: put “@” and start typing team’s name.

mention team

Tip: In case you were mentioned in an issue, but you no longer want notifications to pile up on the corporate email box, you can unsubscribe. Simply go to an issue - on the right sidebar you will find unsubscribe button.

Ready to take your GitHub work to the next level and join the developer club? Read about pull requests.