Can SCM Make Your Software More Reliable?

No developer in his or her right mind builds significant software in this day and age without some sort of version control or software configuration management (SCM). Free climbing (without a belay rope) and free tightrope walking (without a net) may get your pulse rate going (even if they verge on the suicidal), but it's hard to see any value at all to losing your software development efforts to an accident. No

No developer in his or her right mind builds significant software in this day and age without some sort of version control or software configuration management (SCM). Free climbing (without a belay rope) and free tightrope walking (without a net) may get your pulse rate going (even if they verge on the suicidal), but it's hard to see any value at all to losing your software development efforts to an accident.

Now, one SCM system is pretty much like another, right? Not according to Damon Poole of AccuRev.

Consider the common scenario where you've branched an application to allow for maintenance of version 1 by one team while a second team builds version 2. Suppose version 1 gets 20 bug fixes before it's time for version 2 to go into alpha test. How are you going to know whether all 20 fixes were properly merged into version 2?

I thought that the SCM tools I use (Subversion and Visual Source Safe) could handle this, but I was wrong; I had to keep track of bug fixes by branch manually. AccuRev can track merges automatically, however, according to Poole.

Suppose you were a company that built many different products based on a shared software code base -- a common situation for embedded systems makers that churn out a new product revision every month, but have to maintain their existing products in the field for years. That branching scenario just became a nightmare, because the number of branches just became very large, and the importance of tracking merges just went way up. Missing a patch in one product out of hundreds can make that product unreliable; if it's a product that people depend on, that unreliability could become a major issue.

So maybe SCM can make your software more reliable.

AccuRev's site is here. In addition to the usual sales pitch and white papers, it offers a free 5-user, 30-day trial.

Copyright © 2007 IDG Communications, Inc.