Driving Digital Tutorial: Branching and Release Management in GitHub

DevOps Git Branching
What's the number one software development practice needed by organizations committed to agile delivery of application releases that delight customers? My answer is version control with branching capabilities and tagging releases.

Is it number one? No need to debate whether version control is number one, top five etc. Most developers, testers, managers, and CTO will agree that version control practices are important to enable collaboration between developers, foster reliable application releases, establish process for different types of development tasks, and key to scaling the development practice. 

Branching enables Agile Development


I've worked with several development teams the last few months that are using GitHub but hadn't defined a practice for branching or tagging releases. How do you create a handoff from developers to QA? How do you facilitate a hotfix in production? How should you support larger feature development in parallel to small enhancements? How do you track releases and enable rollbacks?

While some of these procedures are straightforward, CTO and development managers often lack documentation to help large teams practice these steps in uniform ways. What results is a mess of branches, some developers branching while others not, formal releases but informal hotfixes etc. 

Then there are some strategic questions:

  • When should you implement a hotfix and what is the impact of taking on this emergency release
  • When developing a large feature, should you branch once for main feature or create multiple branches for each components? 
  • How should QA teams handle feature and hotfix branches?

Tutorial: Branching with Github


I've taken steps to answer some of these questions in a new Driving Digital tutorial, Branching with GitHub. It lays out steps to do many of the basic steps. It outlines roles and responsibilities showing who should branch, who generates pull requests, who merges and who tags releases. Lastly, it illustrates some of the tradeoffs when considering hotfixes and feature branching.

Sign up - Free Tutorial

I've put this in a simple free tutorial that you can receive. Just start by signing up, authenticate your email, and you'll receive a copy of tutorial.

No comments:

Post a Comment

Comments on this blog are moderated and we do not accept comments that have links to other websites.

Share

About Isaac Sacolick

Isaac Sacolick is President of StarCIO, a technology leadership company that guides organizations on building digital transformation core competencies. He is the author of Digital Trailblazer and the Amazon bestseller Driving Digital and speaks about agile planning, devops, data science, product management, and other digital transformation best practices. Sacolick is a recognized top social CIO, a digital transformation influencer, and has over 900 articles published at InfoWorld, CIO.com, his blog Social, Agile, and Transformation, and other sites. You can find him sharing new insights @NYIke on Twitter, his Driving Digital Standup YouTube channel, or during the Coffee with Digital Trailblazers.