One More Attempt at CM History

There is an ambiguity on the term Configuration Management (CM).

This used to be a concept in the OSI model of ISO Network Management: one of the 5 functional areas which built up one way to structure the (Application Layer) Network Management applications.

But CM also links to a fully (well, let's discuss this below) different context: SCM, the management of Software Configurations. Historically, there used to be a CM before SCM, where the "configurations" were neither "Network" nor "Software" configurations, and this used to be somehow a prescriptive and bureaucratic process -- useful and generic, for sure, but largely a matter of discipline and control.

Software brought up novelties in two respects --which is not widely understood or recognized!--:

  1. a specific domain onto which to apply CM: software products, and their development, delivery, maintenance etc.
  2. toolsets, with universal leverage: you could manage whatever via their software representation.

So practically, CM became SCM --there was no old CM anymore-- so that after a while, the term CM (in its generic, non Network- specific, meaning) was free, and could be used again for what was in fact SCM. Leading to more confusion.

Now, there are multiple variants of SCM --I tend to think at generations such as with cellular telephony. And Network CM, having developed from generic (pre- software) CM, with the inception of software tools, is for historical and sociological reasons closer to some variants than to others.

The concern for 'visualization' shows clearly a layered model, non reflexive. It is directed to human actors, who are not themselves meant as part of the system being managed. Or maybe they are supposed to be managed as 'roles', but the visualization itself is geared towards an 'outside' of the management system.

In my opinion, ClearCase, at least in the original usage tradition, belongs to a more advanced 'variant' (a 'third generation'), with the complexity being managed by other means than 'visualization'. The key to the management in this 'generation' is dependencies -- SCM management in ClearCase is dependency management, and more precisely, the management of dependencies being audited -- recorded, and automatically identified.

Of course, you may visualize the resulting dependency trees, and human actors may take decisions based on their analysis of these visualizations, but one might as well do other things, such as have the system make automatic inferences -- and this does happen during software builds for instance.

One striking note is that the "audited" dependency trees are "upside-down" with respect to the the structure of the management bases in traditional variants: the prototypical "managed object" (in SCM speak: the configuration item) is the derived object, instead of the 'source element'.

Only, software builds are conceptually just an example, even if they happen to be for historical reasons, the only kind of application ever produced, however primitive, which exploits this conceptual framework.

-- MarcGirod - 04 Aug 2005



EditAttachPrint versionHistory: r2 < r1BacklinksRaw ViewRaw editMore topic actions