Luke Chesser — unsplash.com

Our Team’s Development Process

Using GitHub, Trello, and Hipchat to create a useful work environment.

Taylor Lapeyre
My Tools
Published in
3 min readOct 16, 2013

--

The development process at Spare Hanger is, in my opinion, one that I think any team could benefit from using. At its core, the workflow revolves around three tools — GitHub, Trello, and HipChat — each of which serves a very specific purpose to our team.

GitHub

GitHub is (obviously) the place where the code lives. We use git extensively and host multiple repositories for many different projects. We use a very specific development workflow with git that focuses on feature branches with a main development branch. A diagram might be more useful:

master is always stable, dev is almost stable

This process allows the team to work on many different features at once without confusion or a direct threat to the code on production. Any bugs that come up in “dev” are documented in GitHub issues that must be resolved before a release to production.

Pull Requests are made before every merge to “dev,” and their changes are extensively reviewed and tested before the merge.

Trello

Trello is the main way that we keep track of projects that team members are currently working on. Trello gives us an overview of big features that will eventually make their way to the site, as well as a place to post ideas for new features. Trello resembles a board with post-it notes arranged in different columns. Each column represents a different stage of production — Proposed, In Progress, In Review, and Completed. Once again, an image might be more useful:

Not a particularly representative screenshot, but it’ll do

Cards make their way across the board, ending up in Completed when their respective feature branch has been merged into “dev.” Cards also have miscellaneous labels that help us categorize cards by importance or scale.

HipChat

HipChat is where the team communicates. It’s the glue that connects our team members to each other and the other tools that we use. HipChat is a chat system that is similar to IRC, but has persistent chat history and privacy settings for different rooms. HipChat is connected to GitHub in a very useful way. Whenever any event happens (a commit, a pull request, an issue) in any of our repositories, HipChat notifies everybody in the room via a message.

This functionality is actually at the root of why HipChat is so useful to us. Instead of our team members developing separately, this feature really makes it seem like we are all developing together. When working on a particular feature, we are constantly aware of when another has pushed some code to Github for everybody else to pull from. Comments to GitHub issues are similar to messages in HipChat since their contents are displayed in the chat room in real-time.

One of the best parts of this setup is that all of these tools are either free or extremely cheap. It’s incredibly easy for a team to get up-and-running and be collaborating with code extremely quickly.

--

--