Best Practices: Software Configuration Management

cbrooks on 2002-09-16T12:17:21

Perforce Software has released an interesting white paper on "Best Practices" for software configuration management. Since Perforce is in the business of selling SCM software there is a (small) marketing component. But it is an interesting (and quick) read if you are interested in issues of automated releases, source code versioning and nightly builds.

One of the points that I found interesting was a possible approach to the "stability" issue that I have mentioned before. (i.e. How do you determine (in an automated fashion) whether or not a particular script is "stable" and ready to be released into production.) The authors recommend different "codelines":

Development codeline: interim code changes may be checked in; affected components must be buildable. Release codeline: software must build and pass regression tests before check-in; check-ins limited to bug fixes; no new features or functionality may be checked in; after check-in, branch is frozen until entire QA cycle is completed. Mainline: all components must compile and link, and pass regression tests; completed, tested new features may be checked in.