Feature branching is one of the most commonly accepted practices in the IT industry. It is mainly used to control quality and to control feature delivery. However, many times the inverse is true. Branches break the flow of the IT delivery process, reducing both stability and throughput. Unfortunately, oftentimes teams are not aware of this. They truly think they are doing the right thing.
The 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 the session, you'll understand a different branching strategy, how it relates to Continuous Integration and how it will predict better quality and higher delivery throughput.
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