Feature Branching considered Evil


Feature branching is again gaining in popularity due to the rise of distributed version control systems. Although branch creation has become very easy, it comes with a certain cost. Long living branches break the flow of the software delivery process, impacting throughput and stability.

This session explores why teams are using feature branches, what problems are introduced by using them and what techniques exist to avoid them altogether. It explores exactly what’s evil about feature branches, which is not necessarily the problems they introduce - but rather, the real reasons why teams are using them.

After this session, you’ll understand a different branching strategy and how it relates to continuous integration.

Learning outcomes - you will be able to:

  • understand why teams are using feature branching
  • explain why feature branching is problematic
  • describe alternatives to feature branching
  • run an experiment with trunk-based development
  • understand if all teams can adopt trunk-based development

  • @ SoCraTes-FR 2016
  • @ Continuous Delivery Conference NL 2016
  • @ XP 2017
  • @ XPDays Ukraine 2017 (video)
  • @ SoCraTes-BE Meetup Jan 2018
  • @ Agile Belgium Meetup Feb 2018
  • @ Agile India 2018
  • @ Software Craftsmanship Lille Meetup May 2018
  • @ NewCrafts 2018 (video)
  • @ Journée Agile 2018
  • @ WeCraft & DevOps Meetup Sept 2018
  • @ Lean Agile Scotland 2018
  • @ Agile & Automation Days Poland 2018
  • @ Agile Tour Brussels 2018