SCM is Derived Object Management
ClearCase brought in some novelty, around 1994, in the already long history of CM/SCM.
Mainly,
derived object management, made possible by
workspace management via
dynamic views.
This is still the single distinctive feature of
ClearCase, the ultimate reason for using it. The value for the price.
Unfortunately, IBM/Rational seems to have forgotten it, or even largely not noticed it. UCM and Build Forge destroy it completely.
They are anti-ClearCase tools.
After
ClearCase, and so far exclusively with it, SCM could be turned back upside down, on its feet.
It could be made
Derived Object Management instead of so far
Source File Control.
The old paradigm was borne in the context of from scratch creation, and focused on sources—files directly edited by hand.
This paradigm is not relevant anymore!
It is only a negligible fraction of the items we might want to manage which are sources, and which we have authored from scratch.
- Most of the files we deal with are derived: they are the result of some alteration, even if only a download, and extraction, a configuration...
- The way we validate (give value, gain confidence in) software objects is not by reading text, but by running tests, so executables are at the heart of our stereotype, not program sources
- A file being a source file is not an essential, but an accidental property: the file may have been generated, or otherwise post-processed.
- The stereotype of derived object is not even the build product anymore, but the product of a test run—an audit trail, useful for comparison purposes, in order to focus on changes, or better, on differences. Auditing may also be used for winkin, but this is not a value in itself, only a means to avoid the profusion of duplicates; thus a mean to support automatic identification of derived objects, to raise the signal/noise ratio in software configurations.
--
MarcGirod - 07 Apr 2008