It doesn't happen often that I keep silent about anything. Whatever the subject, my opinion is usually formed before I have finished thinking about it. However, with source control techniques, this is apparently not the case.
Two Great Articles
I know two very good articles on source control that every software developer on the planet should read. OK, I admit that is an opinion. But once you've read them, I'm sure you will understand why I feel that way.
Version Control for Multiple Agile Teams (Henrik Kniberg)
The Importance of Branching Models (PDF) (Chuck Walrad, Darrel Strom)
Both articles agree that there are good and bad ways to organize version control of your code. Both offer more-or-less the same advice on what the best branching model is, and I couldn't find any flaw in their reasoning. I had nothing to disagree with. (And that's a rare experience to me.)
For agile software development, a good version control model is essential!
Agile team need to be able to release software at any time, while working on new iterations, and (possibly) sorting out a few bugs from the previous one. The branching model promoted by these two articles takes care of that, and much more.
I am actually surprised that source control isn't covered in the books on agile development methods. But then again, maybe this is the only subject on which Schwaber, Beck, Cockburn, Poppendieck and De Luca all agree as well.

Comments
Post new comment