O'Reilly logo
  • Paul Michelman thinks this is interesting:

Chapter 9. Continuous Integration

The creation of developer tools is often guided by the needs of developers as they are discovered over time. Tools, however, can have an influence on process, which in turn can create challenges for the very developers who asked for the tools in the first place. An example of this is version control. Version control has been widely adopted as a way of ensuring that code can be returned to a previous state when the team realizes it has gone down a bad path or when the customer decides against developing a given feature. Version control creates a feeling of “safety” but also brings along another concept, namely, source code branching. This cha...

From

Cover of Essential Skills for the Agile Developer: A Guide to Better Programming and Design

Note

This lesson discusses the negative consequences of source code branching. You’ll learn how, through continuous integration (CI) and good design, you can eliminate the need for branching.