What is SCM?

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

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

  1. Documents (Requirements, Design Spec, etc.)
  2. Source Control System (CVS, Subversion, Clearcase, VSS, etc.)
  3. Build Technologies (Ant, NAnt, Cruisecontrol, Make, PERL Builds, etc.)
  4. Release Methodologies (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 SCM to people as being the glue of the engineering, testing, process, and marketing groups.

Share and Enjoy: These icons link to social bookmarking sites where readers can share and discover new web pages.
  • Digg
  • del.icio.us
  • Facebook
  • Google
  • Bumpzee
  • Furl
  • NewsVine
  • Reddit
  • SphereIt
  • StumbleUpon
  • Technorati

Trackback URI | Comments RSS

Leave a Reply

You must be logged in to post a comment.

    Add to Google Reader or Homepage     Subscribe in NewsGator Online     Add to My AOL     Subscribe in Bloglines     Subscribe in NewsAlloy