Why We Switched Exclusively to GitHub Issues

Erik Olson

Erik the Founder & CEO at Array Digital. Companies come to us when their software holds them back from growing. We solve complex problems so they can compete at a higher level. Reach him at erik@thisisarray.com or on twitter at @erikpmp.

Erik Olson on LinkedinErik Olson on Twitter
Share on Facebook2Tweet about this on Twitter0Share on LinkedIn11Email this to someone

As a busy software agency working on multiple projects at once, we have lots of lists of things to take care of at any given time. Each project has it’s own requirements, enhancements, and (sometimes unfortunately) bugs that we need to track to completion. Building custom software for mid-sized businesses necessitates that these items be managed properly, and sticky notes just isn’t quite good enough.

Over the years we’ve experimented with many different task trackers. Some are better known than others, and we’ve even built our own task trackers. The list of trackers tried is pretty exhaustive, including:

Within the past year we moved all of our source code into GitHub. As a bonus to providing source repositories, GitHub also includes an issue tracker. At first we used it for bugs only. We quickly discovered that GitHub allows you to close an issue at the time you commit code to the repository. Not only does that simplify life, it gives you two-way traceability, from task to code and from code to task, without any real additional effort. That’s a powerful feature for understanding why code is changing, or to determine what changed due to an issue. Some organizations – those with CMMI status – require this level of traceability.

Once we got familiar enough with GitHub Issues for bugs, it was natural to enter other work items as well. Requirements can just as easily be entered, as can operational tasks, test cases, and various to-to items. Issues can be grouped into Milestones and milestones can have due dates.

GitHub Issues isn’t the most powerful tracker out there, but what we’ve learned is that the features we initially desire out of a tracker are not the features that we actually use. We’ve always wanted a super flexible tracker that’s completely customizable and notifies you of every little thing. But the reality is that once we set these systems up, it’s just too much. We don’t want notifications of every little thing, and we don’t want to spend any more time than absolutely necessary in our tracker. When we sit down to do work we already generally know what needs to be done, and we just need a tracker to ensure we don’t forgot. Most trackers allow sophisticated tracking and customizations, and if you invest enough time and training into learning the tool then it can do cartwheels for you. But we don’t want to invest time and energy into tracking tasks; we’d rather spend our time actually implementing value for our clients. What we really want is a “just in time” tracker…one that provides just enough sophistication to get the job done, and provides little else.

GitHub Issues give us just enough ability to track tasks, assign them to team members, and group tasks in meaningful ways. Although you may think you want or need a lot of customization from your tracker, chances are you really don’t.

We now use GitHub Issues exclusively for all of our projects.

Grow Your Business With Amazing Software
Learn More

Join our 7 week custom software email course

Learn More About Custom Software
Learn More

Join our 7 week custom software email course

© 2017 Array Digital, LLC