Feature branching is again gaining in popularity due to the rise of Distributed Version Control Systems. Although branch creation became 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 some of the reasons teams are using feature branches for, what problems are introduced by using feature branches and what techniques exist to avoid them all together. In conclusion it explores what exactly 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 is 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 Continuous Delivery context.
Be able to understand why teams are using feature branching.
Be able to explain why feature branching is problematic.
Be able to describe alternatives to feature branching.
Be able to run an experiment with trunk based development.
Be able to understand if all teams can adopt trunk based development.