Why GitHub Projects
Context and problem statement
The larger a team is, the more important it becomes to keep track of who is doing what and how far they are with certain tasks. One way of creating such an overview is by using visualisation tools, which are designed to create overviews quickly. The question then becomes:
How do we create an overview of our current and upcoming tasks which will allow not only the person working on the task to monitor progress, but also help fellow team members to see where the project is?
Decision drivers
As a team we have been struggling to keep track of who is completing which tasks, and how far along that work is. We have therefore agreed, that we will try to communicate this better internally within the team, not only with frequent commits and reviews, but also utilising the new project tools that GitHub have rolling out.
Considered options
Kanban boards like Monday.com and Trello
There are a number of free options when it comes to visualisation and project management tools specialising in workflows (Monday.com and Kanban Boards like Trello to mention a couple). Here are some pros and cons.
Benefits
- These are dedicated project management tools, so come with lots of features that might be needed for these tasks
Drawbacks
- Most require us to export our GitHub Issues log and rely on using them
- Will need to learn and integrate another tool/service into our workflow
- We aren’t a large team, so many of the features will be unused by us
GitHub Projects
GitHub has a built-in “Projects” feature for project management and visualizations. It comes with extensive documentation and is fairly intuitive to set up. As well as a standard overview it allows for a layout with vertical “status” lanes (Board) for “todo”, “in progress”, and “in review”, as well as Gannt-like features (Roadmap).
Benefits
- We already heavily use GitHub and use Issues, so it makes sense to not learn another tool/service when we can keep using GitHub
- It has all the features we need at this point in time
Drawbacks
- GitHub isn’t a dedicated project management service, so there might be some features we are missing
Decision outcome
We have decided to use GitHub Projects because we can easily integrate it into our workflow and we don’t have to learn another tool.
We’ll make heavy use of the two chart options mentioned above, the Board and the Roadmap. The Board will be our primary way of tracking progress within the team, and the Roadmap will be an optional way for individual team members to track the time they spend on tasks. The latter should also help with learning how to estimate time spent on each task, making it easier in future to state how many issues can be resolved in each iteration.
As mentioned in our guidelines, we will be working in iterations which are of varied length. The idea is that the Board from GitHub will help us with this team project management workflow. We will set up a board for each iteration (typically from 2-6 weeks) during a team meeting, and then populate it together with tasks and issues that we feel fits with the overall theme of that particular iteration. It is then up to the individual team member to use the Roadmap feature if they feel it will help.