GitHub is a very interesting always evolving product, it is becoming more & more the go to software to centralize (yeah I know..) your company repositories but also (and more importantly) keep track of the stuff you have to do in your projects with Github issues.
Github issues is really a simple product & the fact that it is so simple it’s probably why it is so beloved by developers, it helps that it connects automatically with your commit messages making it easy to reference other issues & closing bug without even touching the interface.
That however poses problems if you want to work in a typical Agile workflow. Github issues make it hard to keep track of everything for a product owner because well, it’s not built for product owners, it’s built for developers & getting things done.
Making agile work with github
I think you still have a couple of choices:
1. Use an agile software that integrates with github.
The main advantage of this solution is obviously that you get your full agile framework, the cost however is handling items at both places, your devs need to log into your agile software to assign themselves issues, move them around the board, etc.
My personal opinion is that developers should stay in github & not have to log at two places to handle their work. The beauty of github is in it’s simplicity, it focuses on getting things done, & after all it’s what Agile is about, removing impediments from your team so they are happier & more productive.
Examples:
Sprint.ly
Pivotal Tracker
2. Embrace fully Github, work only with their software.
Something more & more companies are doing. It’s possible to handle your backlog directly from Github issues, it needs a lot of attention from the product manager to keep it clean, but it is possible, you won’t get metrics & the bigger picture. You make your devs happy but as a product manager Github won’t help you much, their tools are not built for you.
How GitHub Uses GitHub to Build GitHub
3. Embrace GitHub & build on top of their tools.
GitHub has an excellent api, it is possible to build great software on top of what they already give you. This is something that already started to happen, waffle.io is basically a Kanban board on top of github issues, it’s even free for public repos & help you manage better your projects.
However this is a tiny feature of what you can do with the api. I truly believe that you can build an agile membrane on top of github for scrum masters & product owners that truly helps them in their work without even touching your developers workflow. That obviously mean concessions on the agile framework, but not that much.
Building with the Github API
In this serie I will explore how I am currently building such a tool & will seek advices from experimented product owners to better fit the needs of your community.
- In part 2: I will revisit the product backlog board & show how I intend to modify Github issues & why I cannot implement directly a Kanban board.
- Part 3: I will talk about adding an agile release plan board to this.
- Part 4: Intelligent notifications to help better understand what is happening.
- Part 5: Analytics, Analytics & Analytics.
Other food for thoughts about using Github issues
Using Github Issues Effectively
Using GitHub Issues to Manage Projects
Managing Projects with GitHub