CM: The Next Generation of SCM Standards

There are a lot of products, a few Development/Support Streams for those products, loads of Changes, etc. in a CMDB.  Navigating all of that data can be overwhelming.  However, any decent CM tool will understand that you're interested in working in a particular Context.  And the Context can be used to simplify the view of the data.  Normally it's the context of a particular Build Record, or the Latest checked in source code of a particular product for a particular Development Stream.  Sometimes its a combination of a Baseline or Build plus a set of Changes.  Whatever it is, and however it is specified, the goal is to identify the context of your discussion, query, data search, or whatever.

When applied within the "context" of a tool, the Context is referred to as a Context, a View, or a Context View.  There are other terms used here and there, but these are the most dominant.  For the most part, I think any of these three terms suffices, with Context View preferred if there is any confusion.  In particular, Context is a fairly generic term that can sometimes cause confusion - that's why I quoted it in the first sentence of this paragraph.  View is a frequent database term as well, which is more specific than a Context View, usually applying to form.

My Vote:  Context View, Context, View (in that order).

Upgrade Package
Service Pack, Increment, Update Package, Change Supplement.  Lots of different terms are used to identify an upgrade package for something that's already been delivered.  However, as this is really at the tail end of the ALM process, it won't have a big influence on the overall process or standards.  Still, if we had to pick a term, I like Update Package, because it's clear, or Increment, clear but a bit more general in nature.

My Vote:  Update Package, Increment (in that order).

Summing Up
So there you have it.  I've hit on some of the big ones, but there are still a lot go.  Please add to this article through the reply mechanism.  What terms do you use/not use for CM artifacts, and why?  Do you think we can ever attain common ground?  We've been further apart than we are now.  Some terms, like Branch and Test Case, were agreed upon decades ago.  Some may never get there.  

Just to summarize my picks (bold preferred):

  • Changeset, Update, Change
  • Revision
  • Variant.  
  • Problem, Defect, Bug
  • Activity, Task
  • Request, Change Request,
  • Customer Requirement, [Product] Requirement, Design Requirement
  • Item, Artifact File, Document, Record
  • Iteration, Internal Release, LifeCycle
  • Stream, Development Stream, Product Branch, Release Stream
  • Configuration
  • Baseline
  • Build, Build Record, Build Notice
  • Context View, Context, View   
  • Update Package, Increment, Service Pack, Change Supplement

What are yours?

About the author

Joe Farah's picture
Joe Farah

Joe Farah is the President and CEO of Neuma Technology and is a regular contributor to the CM Journal. Prior to co-founding Neuma in 1990 and directing the development of CM+, Joe was Director of Software Architecture and Technology at Mitel, and in the 1970s a Development Manager at Nortel (Bell-Northern Research) where he developed the Program Library System (PLS) still heavily in use by Nortel's largest projects. A software developer since the late 1960s, Joe holds a B.A.Sc. degree in Engineering Science from the University of Toronto. You can contact Joe at farah@neuma.com