What is CM anyway: The biggest joke

bglangston's picture
bglangston asked on June 24, 2011 - 10:59am | Replies (6).

The number of people who could spell CM, if you took away 24 letters and gave them two tries, yet have no idea as to what CM really is!

Let's see:

A: I'm a CM'er.
B: Really? What do you do?
A: I do builds.

C: I'm a CM'er.
B: Really? What do you do?
C: I track versions of files.

Hiring Manager: What is your speciality?
CM Specialist: I'm a CM Specialist.
Hiring Manager: Sorry. There is no software component to this product.

I've often wondered where pre-historic man came up with the notion that he could start a fire by rubbing two sticks together.

6 Answers

Bob Aiello's picture

I often describe that there is a big CM and a little CM.

Big CM is the field of Configuration Management which I suggest includes:
* Source Code Management
* Build Engineering
* Environment Configuration
* Change Control (seven different types)
* Release Management (coordination and engineering)
* Deployment

while little CM refers to Configuration Control (of interfaces).

I bet Marc Bools will jump in here - calling Marc Bools - Paging Marc Bools :-)

mbools's picture
mbools replied on June 26, 2011 - 7:13am.

Bob, you know that's a red rag to a bull (or Bools in this case ;) ).

The fact that almost everyone reading this thread will see your list and disagree with it (in so far as they will agree with some items in your 'Big CM' list but disagree with others) is enough to make Billy's point.

I'll save my longer rant for another time :P (I wrote one, but it's more blog post length than forum length.)

Bob Aiello's picture

actually Marc - I think most people agree with my six function framework. It certainly makes it easier to understand CM than:

Configuration Identification
Status Accounting
Change Control
Configuration Audit

You are right that I have a big ol red sheet waving in front of a bool :-)

And truth be told I am in my best matador's outfit. Alright it's hot here - I am really in jeans in and t-shirts but nobody knows for sure.

One thing that is for sure - CM gurus should be making CM COMPELLING and using arcane terminology that people cannot connect with or understand does not really help us spread the word.

So what do the rest of you folks think?

Bob Aiello
Editor in Chief

mbools's picture
mbools replied on June 27, 2011 - 11:54am.

Billy, I think we basically agree. My only point of (potential) contention is around the language issue. While I agree that among experts the technical language is both useful and appropriate, I think that when proselytising or educating we must be careful not to confuse with, what is essentially, jargon.

Once again, CM is CM is CM. This only applies if you define CM in the 'classic' (or, as I like to think of it, 'correct') way. If you define it using Bob's definition then it can no longer hold (hence my fundamental objection to Bob's definition).

jptownsend's picture

Mark and Billy,

I almost always agree with everything that you two say, however, I am with Bob on this one. The CM field, while, it has always been about the four activities has evolved. For better or worse that is a debate that will rage on forever. The 6 functions that Bob mentions still have to have the 4 activities performed on them. Actually its a good fit.

So in a sense you, Mark and Bob agree, just from differing angles. I think where both sides differ is simply semanatics, I think Bob would agree that the 4 activities of CM have to be performed on the 6 funtions he mentions.

The CM field will continue to evolve and hopefully us with it. If it hadn't we would still be pushing paper rather than electronic files to each other.



bglangston's picture

I have no problem with changing the words AS LONG AS the replacements are as accurate and unambiguous as the originals.

As to Bob's definition, where does one stop. Since one of the old time mantras for CM was that it helped you "deliver a correct product, on time and within budget."

So, how about we add Accounting (money) within the cadre of Bob's subfunctions. We have to plan and allocate CM resources. Maybe we should add Recruiting.

The point is, "Where do we stop."

The real problem however is less a matter of adding functions to the definition/description of the CM discipline than one of watering down the definition/description!

First and foremost, project managers and clients (especially U.S. Government clients) typically want a quick and dirty. So, the contractor gives them what they ask for, as in, "Yes, we'll provide CM services. We will track versions of all documents and files." Even worse?--"Our CM specialist will log all deliverables to make sure you have everything."

Something else I have encountered over the years. Various work groups/roles have very differing ideas on what CM is.

Example: Most programmers...Oops! I'm sorry. Most Software Engineers only see an incoming "Change Request," then check out a file, and check it back in. That is, the "CR," or what is now tantamount to a "work order," has been vetted before the SE's ever see it.

So, to them it is a generic process, rather like the cleaning room of a laundry receiving a ticket to clean, starch, iron, wrap or hang. Then verify that the work has been done.

What they don't see is either the customer, before arriving at the cleaners, or the receptionist at the laundery going through the clothing to determine which pieces to wash, dry and iron, which to dry clean, which to repair first.

It would be very easy for the washing team to get the idea that providing a clothes cleaning service consists only of receiving the work ticket, doing the work, and turning the finished product over to the customer, and tracking the items throughout the process.

As I stated previously, the definition of CM is not a job description. It is the basis of the specialized management subdiscipline that concentrates on the product.

As to the four functions of CM, part of the problem may be that "most" people think of it in linear terms. The CM definition says that these four are the functions that comprise CM. There is nothing that states or implies a sequence. It says simply that these things are/will be done.

As to Bob's definition, four of his six I would put under the function of Configuration Change Control (EIA-649B). One I would not include under CM at all - build is part of production. And I have not a clue as to what the ambiguous term "Environment Configuration" refers -- configuration of the workroom environment, configuration of the natural environment, configuration of the technology environment??

Now, here's the biggest question of all. Which words are "arcane?" I think it is less a matter of being arcane than it is a matter of the words implying something much larger and more complex than most people want to believe. Most are interested only in that portion that directly affects them. Therefore, it is much easier for example, to accept that "CM is version control" than to accept that CM is a discipline comprising all sorts of "stuff" outside their purview that they are not interested in. The result is that the listener doesn't want to hear it and accuses the describer of using "arcane" terminology.

It takes work. If it was easy, we'd be on the dole.

CMCrossroads is a TechWell community.

Through conferences, training, consulting, and online resources, TechWell helps you develop and deliver great software every day.