After joining GitHub, I became the embedded product designer within the GitHub Projects team. Our goal was to make planning, tracking and managing work as simple as possible.
Most project management software typically require a lot of heavy lifting before ever experiencing the value of the software itself. Many customers have come to expect that creating and maintaining a project board can only be done through a demanding (mostly manual) process, ultimately eating up their valuable time and energy all in the name of staying organized. This can lead to teams becoming even less organized than they would have been if they never introduced a project management tool in the first place.
We were pretty aware early on that there was a significant advantage to building a project management layer on top of the code being written and shared on GitHub. Pushing and reviewing code was already a major part of a developer's daily workflow, so why not offer something that can take some of the decision making out of the tracking process? By building automation, we made it so that users could begin to focus on more important things, like writing quality code.
The process in other tools without automation looks something like this:
- Create a ticket
- Manually move the ticket on the board (To do, In progress, etc.)
- Open a pull request
- Manually move the ticket on the board again (move from 'To do' to 'In progress')
- Update the ticket to reflect new work
- Request a code review
- Manually move the ticket on the board again (move from 'In progress' to 'Needs review')
- Code approved
- Manually move the ticket on the board again (move from 'Needs review' to 'Ready to deploy')
- Pull request is merged and deployed
- Manually move the ticket on the board again (move from 'Ready to deploy' to 'Done')
Now, with the introduction of automation combined with code already living on GitHub, the process becomes more organic and looks like this:
Open a pull request
- Ticket is automatically created as 'In progress.'
Request a code review
- Ticket is automatically moved to 'Needs review.'
- Ticket is automatically moved to 'Ready to deploy.'
Pull request is merged and deployed
- Ticket is automatically moved to 'Done.'
With as much as our small team was able to accomplish in a short amount of time, there are still many useful and exciting improvements to be made to the automation model available today.
Try it out for yourself and send some feedback 🙂.