On the Evilness of Feature Branching


Branch creation became very easy with the advent of Distributed Version Control Systems. However, it comes at an unquestionable cost. Long living branches break the flow of the IT delivery process, impacting both stability and throughput.


In this article series, I will explore why teams use feature branches, what problems do the use of feature branches introduce and what techniques exist to avoid them altogether. Finally, I will explore what exactly is evil about feature branches, which is not necessarily the problems they introduce - but rather, the real reasons why teams are using them.

  1. A Tale of Two Teams
  2. Why Do Teams Use Feature Branches?
  3. But Compliance!?
  4. The Problems
  5. How To Avoid The Problems?
  6. What about Code Reviews?
  7. Where is the Evilness?

Acknowledgments

Steve Smith for nudging me to write this down, reviewing the result and suggesting to break the article up into an article series.