Creative Branching Models for Multiple Release Streams

A couple of weeks ago, I had the incredible opportunity to speak at the 2015 Atlassian Summit in San Francisco, CA. The conference lasts about three days and covers a wide range of topics from Software Engineering to Process Improvement to Team Dynamics to Enhancing Communication and so on. Most of the sessions are focused on using Atlassian's tools to accomplish a given goal, but many are generally applicable to anyone in a Software Engineering field.

My presentation covered my team's migration from Subversion to Git with a long time spent talking about the work we needed to do to keep our multi-module build setup in Maven whilst using git-flow as a branching model and making our engineers do as few manual steps as possible. I was limited to about 30 minutes, so I wrote a brief series of posts to cover everything I couldn't say on stage:

  1. Git or SVN? How Nuance Healthcare chose a Git branching model)
  2. Dealing with Maven dependencies when switching to Git
  3. Pulling the Trigger: Migrating from SVN to Git



This was my first time presenting at a technical conference. It was a great experience that I hope to repeat in the future.

Nov 17th, 2015