Software Build and Release Specialist

Latest Entries

Software Configuration Management

As a highly specialized field within any software engineering organization, Software Configuration Management is fast becoming the added foundation of any company that writes software. Software configuration management, when done correctly, will be able to reproduce any changes of any given project at any point in its life cycle. The discipline of software configuration management is to control changes and reproduce them incrementally or from scratch accurately.

SCM encompasses (although this varies between organizations) the following:

  1. Document Control (Requirements, Design Spec, etc.)
  2. Source Control System (CVS, Subversion, Clearcase, VSS, etc.)
  3. Build Management (Ant, NAnt, Cruisecontrol, Make, PERL Builds, etc.)
  4. Release Management (Release signatures, Master CDs and duplication, etc.)
  5. Installation Framework (Installshield templates, Consistent look and feel, etc.)
  6. Testing Framework (Build automatically kick-off smoke/regression testing)
  7. Collaboration Framework (Planner/Wiki tools such as TWiki and XPlanner)

The above list is just scratching the surface of Software Configuration Management. I often summarize it to people as being the glue of the engineering, testing, process, and marketing groups.