Feature branching is again gaining in popularity due to the rise of Distributed Version Control Systems (DVCS) like Git and Mercurial. With DVCSs, branch creation became very easy. But 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 why teams are using feature branches, what problems are introduced by using feature branches and what techniques exist to avoid them all together. In conclusion it explores what is exactly 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.