GitHub + ZenHub : Project management where your developers are
When I joined my current project, eHealth Africa, I faced the same problem any project management faces at the beginning of any project.
Understanding the project management tool, understanding the conventions already used by the team and finding my way around it was a bit harder than usually.
I have worked with all of them: Spreadsheets, Jira, Basecamp, Redmine, MSProject, Trello, Asana, Do.com… and none of them quite cut it. Sprint.ly, the tool eHealth used to manage software development by the time I joined, wasn’t much better. It was actually quite bad for our use case.
Where’s my board?
I am a believer in tickets and boards (check my posts ‘no ticket no party‘ and ‘pm tools: the kanban board‘ if you missed them) and also believe that project management should be as easy as possible for developers.
Some months ago I stumbled upon a blog post that suggested using GitHub for project management. Repositories have issues that developers already use to plan a lot of their work or for discussions within the team, we can even host the documentation in a repository using files or the wiki… so why not take advantage of that, a tool that they already seem to enjoy and where they already spend a lot of time, and make it usable for project management?
While GitHub lets you assign tasks to people and to milestones, lets you know if a task is complete or open and you can use labels to hack some other things you need, it is not a project management tool and sometimes falls short.
Or as I would put it: where is my kanban board??
Doing research I found ZenHub. And I loved it.
Shopping for boards
I loved it because ZenHub is a simple plugin you can add INSIDE github, and that displays tasks in a nice kanban board. It uses labels to define states, sure, BUT you can also just drag and drop tasks as you go, and it automates the change of state for pull requests. Glorious.
By the time I discovered ZenHub there was a big BUT that made it impossible for us to use it: multiple repositories per board were not allowed, so while it was more or less ok for developers it was a big pain for project managers in our team to have to check many different repositories to see how the project was doing.
In the end we decided to go for waffle, another tool that integrates with GitHub and provides a drag and drop kanban board. Unfortunately waffle displays this kanban board outside GitHub, in a separate URL, so it is not as seamless. Nor as nice.
ZenHub has now a 2.0 version that does support multiple repos per board. And not JUST. They have also included burndown charts or feature time estimation — growing up to be a real project management tool. You can read the whole story in this blog post they wrote.
We are now giving ZenHub a try for software development for a sprint and so far it’s making my life as a project manager much easier. Estimates will let us be better at planning and the Kanban board quickly tells me where we’re at.
I’ll be back with a blog post about the experience, the pros and the cons, and our final decision very soon.
Originally published at cristinasantamarina.com on June 26, 2015.