Web Project Management and Collaboration Using GitHub

- January 13, 2014 - by , in Web Project Management, with 9 comments -

Bio picture of Holly Davis

Holly is a Certified Scrum Master and Agile Project Manager at Award winning web agency White October. We’re currently recruiting a new Project Manager to join the team, feel free to get in touch if you’re interested. You can find Holly on Twitter @ProjectDavis.

A year ago, I had never heard of GitHub and now I’m using it on several of my biggest projects and to my surprise, enjoying doing so!

A cropped version of the GitHub 404 page banner showing it's Octocat character dressed as ObiWan from Star Wars in a desert scene in front of a land speeder and hut.

It’s worth using GitHub if only for this each time you type with chubby fingers.

It started just under a year ago when I asked my project team what their preference would be for tracking issues, and the developers were almost evangelical about GitHub. I was aware that most of our active projects were being hosted and deployed from GitHub but didn’t realise it could be used for managing projects too!

So, we took the leap and instead of introducing something new into the mix we started using it to manage tasks, releases and bugs.

The results have far exceeded my expectations, i’ve seen some of the best examples of team collaboration between client, UX, developers, testers and PM, even users have used it to raise bugs or enhancements they’d like to see. This is invaluable for the product owner, who is able to respond to clients directly and add enhancements to the backlog and prioritise accordingly.

Using labels you can create issues for “discussion” i.e. we need a comment system, here are the options giving everyone visibility over the options and the opportunity to comment and be involved with the solution.

A screenshot of low-fi sketches uploaded to GitHub

If I was the client I’d totes sign this off.

GitHub wins on simplicity and its clean interface. Even some of our designers have adopted it for presenting low fidelity sketches to the client / team to review. It’s great to have communication in one centralised place rather than across emails and visible to all the team. You can set up email notifications when people comment or tag you in an issue.

It has also given me more visibility on work in progress. In our daily ODI scrums we have even introduced the reviewing of pull requests. This helps limit work in progress by ensuring pull requests are reviewed, merged and closed. If the same PR is there several days running, it can quickly alert you that something is wrong that you wouldn’t normally be able to pick up on as a non technical PM.

However, like any tool there are a couple of drawbacks. I have had to continue using spreadsheets to track time and velocity over sprints, as you can’t add estimates or track time spent on the issues themselves. However you can assign a milestone to tasks within a sprint which will give you a % indicator of tasks completed but isn’t that helpful if the one task you’ve not completed equates to half the sprint!

Lastly, there is no easy way to prioritise issues. For ODI we’ve added priority 1 and priority 2 tags which work well but i’d like the open issues to work more like a physical backlog where you can click and drag issues to prioritise.

In conclusion, I would recommend using GitHub to other Project Managers, particularly if you’re happy to track project progress outside of GitHub and just embrace it for the ace collaboration tool it is.

A screenshot of the Huboard tool showing a Kanban board.

Web project management things in GitHub? Developers, you cannot escape it! :)

If you’re thinking of using GitHub you may want to look at Huboard, a lightweight Kaban board which integrates with GitHub issues.

If that doesn’t fulfil your requirements you may find something that does on this Quora question “Which project management tools are deeply integrated with GitHub?

Not convinced yet? Why not do some further reading, here are couple of other great blog post on the topic.

Have you been using GitHub to manage projects? If so, I’d love to hear your experiences.

9

- Comments -

  • Allen

    Another tool I would like to mention for Project management is Proofhub. Checkout http://www.proofhub.com

  • Jerad Bitner

    Hi Holly,

    Just thought I would mention that I recently started using http://Zenhub.io/ with GitHub issues and it adds some nice features that Huboard doesn’t have (at least yet) such as uploading files other than images and voting on issues. Check it out!

  • Hi,

    interesting idea. My question is, that does anyone have working experience with GitHub vs JIRA vs {[a-Z]} related to this post?

    As my daily job, I work in a corporate world, and so far Jira is one of the choices – but it has its own hiccups, if you know what I mean … ;) I will definitely take a deeper look into using Github for (web) project management too.

    I am on a never-ending journey to find a perfect (web) project management tool which should fall under category #simplexity (simple tool to manage complex projects).

    Cheers and thanks for a good article!

    Samuli

  • Thank you for your comments and recommendations, it’s great to hear of other PM tools that are working for you.

    @Samuli, I’ve started using JIRA on some of my larger projects (6 months+), it’s a steep learning curve. I’m a big fan of the plan view and managing the product backlog and creating sprints is a dream. Some other features are unfortunately far less intuitive though, user permissions, reports and setting up custom workflows have all stumped me in one way of another.

    I think once it’s configured though, it generally works quite well and has some cool widgets that can be added e.g. Harvest time tracker so you can track time on tasks in one place.

    To date, I’ve only been using JIRA to manage scope but haven’t rolled out using it for bug tracking yet so we tend to use Github in tandem. The ideal scenario would be to use the same system for both but we’re not quite there yet and to be honest i’m reluctant to move away from Github completely.

    Perhaps I’m being too pessimistic but I don’t think there’s ever going to be that ‘one’ tool that ticks all the boxes but if you find it, make sure i’m the first to know!

  • Hi there, another web base software deeply integrated with GitHube is BamBam! project management software http://www.dobambam.com

  • Toby

    Hi Holly,

    Glad you’re enjoying Github and thanks for letting us know about it. We have been using Dooster.net for our project management and are also very pleased with it.

  • For the timetracking issue of not being able to log it directly there on the issue or website, I’d recommend using toggl, they have a chrome plugin that will add a button onto github for tracking each project. You can check it out here – https://chrome.google.com/webstore/detail/toggl-button/oejgccbfbmkkpaidnkphaiaecficdnfn?utm_source=chrome-ntp-icon

  • Stephen

    @Holly

    So i have ran into all of the same problems as you while managing projects on GitHub!! It gets even more complex when dealing with multiple contracts, milestones, budgets and multiple teams working on the same repository.

    To start dealing with this issue i have built 3 Ruby Sinatra applications that help deal with 3 major feature limitations in the GH ecosystem: Analytics/Statistics/Reports, Time-Tracking, and Reminders.

    1. Analytics/Statistics/Reports: I built GitHub-Analytics: https://github.com/StephenOTT/GitHub-Analytics. This was put together to provide sort and long term archiving and Reporting of GitHub issues. it downloads your issue queue and you can revision control the issues, report on various statistics, and its all in mongo, so you can very easily extend it to answer any question you have about your projects from a statistical perspective. It was also built to support report across repositories so you can answer questions like “Who is working on what for Projects X, Y,and Z”, and questions like “How many issues did John open and close this week for all projects?”. Check it out!

    2. Time-Tracking (https://github.com/StephenOTT/GitHub-Time-Tracking): This allows you to use Markdown to log your Hours and budgets against Issues, Milestones, Commits, and Commit Messages. It is very flexible enough to support any style of tracking. It also has support with complex Label usage. The point is to provide you with a flexible Time-Tracking tool that does not make assumptions about how you structure your business: Example: you can log Budgets against a Milestone and/or issues. So if you do not use Milestones, you can still have budgets. Or you can have budgets for both issues and milestones: example: a milestone is a budget for a “Feature” and the tasks/stories that make up a feature are the issues. Each task/feature can have its own budget. Oh, you can also track Non-Billable time as well.

    3. Finally we have GitHub-Reminders (GitHub-Reminders.com / https://github.com/StephenOTT/GitHub-Reminders). This provides the ability to create Email Reminders based on Markdown syntax. You can schedule a custom reminder based on any feature date and time with a custom message. I find this is super important when working with projects that last longer than a year and have many stakeholders and deliverables. Having the ability to create a reminder for you to follow up on a issue, comment, etc at a specific date and time tends to be something we log in our calendars or paper notes. This completely eliminates the need and allows all your reminders to be tracked through github directly in the issue relevant to the reminder. The Sinatra app also has a full UI for managing all of your reminders.

    I have found these work really well for answering most of the day to day questions, tracking time, and keeping track of future todos.

    Check them out!

    July 1, 2014  | 
  • Stephen

    Also for issue prioritization, you can use GitHub analytics for this task as well.

    July 1, 2014  | 

Leave

- Your Comment -