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