Feature branching is gaining in popularity due to the rise of Distributed Version Control Systems (DVCS) like Git and Mercurial. Mostly because proponents of DVCSs rely on feature branching to sell DVCS. And because of the success of branching models like GitFlow and GitHub Flow.
Like all powerful tools, there are many ways you can use DVCSs, and not all of them are good. Although the creation of feature branches became very easy with DVCSs, it does not mean cheap in the long run. It comes with a certain cost which impacts the stability and speed of your software delivery process.
During this session we will explore some of the reasons teams are using feature branches, what problems are introduced by using feature branches and what techniques exist to avoid them all together. In conclusion we will explore what is evil about feature branching, which is not necessarily the problems they introduce. But rather the real reasons teams are using them for.
The key takeaway will be an appreciation of a different branching strategy and how it relates to Continuous Integration.
The target audience is anyone using version control systems in a Continuous Integration and Delivery context.