Friday, October 28, 2005

SCM Explained (Finally!)

When I monitor some of the SCM related blogs, I notice a trend--seems like the low guy on the totem pole is always the one who gets stuck baby sitting the SCM effort. That's too bad because good SCM is important to any large (or growing) software group. Especially when you start thinking beyond how to design/construct a product and about the complexities of release management. Unfortunately, there tends to be two types of materials out there on the subject. One is vendor propaganda (or at least discussions about SCM in the context of very specific vendor tools), the other is too basic and cursory to be of value in the real world. There are certainly sites out there dedicated to the subject. But they're often inundated with vendor specific information that obscures the general patterns and knowledge necessary to ground yourself in the subject.

I've come across a few really good resources over the years. With the discovery of a new article the other day, I think I can put together a decent "study plan" that covers a lot of SCM scenarios.

The first is an article that lists High-level Best Practices in SCM. This article assumes you already know some of the mechanics of SCM. (Granted, *I* assume you already know at least the basics of using tools like CVS or VSS). However, this article grounds you in some important principles.

The second thing to read is Advanced SCM Branching Strategies. This is a fantastic article--I wish I'd discovered it a long time ago. It dives deep into the subject--yet still provides some concrete strategies.

Finally, Streamed Lines: Branching Patterns for Parallel Software Development has been turned into a book entitled, Software Configuration Management Patterns. The web site is a great resource, but the book contains a great deal more information (and I think consolidates the sprawling form of the web site). I recommend reading the book, and bookmarking the site.

0 Comments:

Post a Comment

Links to this post:

Create a Link

<< Home