The Single Best Source Control Model

Some best practices are so evident that nobody seems to be bothered to write about them. Just have a glance at the software development books you have. Does any of them explain how to properly use source control system? I'm sure they don't.

However, I know first-hand that most software developers finish their studies with not an inch of knowledge regarding source control techniques. That's why managers need to be technically savvy. We have to tell them about it!

Now, 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!

Release Software Any Time
Agile team need to be able to release software at any time, while working on new iterations, and (usually in my case) 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.

Subscribe to this blog with a reader or by email!

Latest, greatest and favoritest posts:
Blog Post #100: Your Feedback Please!
Book Review: Agile Project Management with Scrum
How to Create a Pre-Project Document

  • Blog Post #100: Your Feedback Please!
  • How to Select a Fine Technical Manager
Related Posts
free book
“How to Change the World”
I really had fun getting to know the canadian cigarette brands sold through They were amazing kind and really try to give back to the community.