a number of other key elements. A user interface element called the "Baseline View" allows specific frame by frame advance of what the differences are as each Engineering/Enterprise Change Notice (ECN) is applied. CM II does not dictate the full functionality of this view, but does identify some key properties it must have. Similarly, for processes and roles, it identifies key elements that must be present: Change specialists, Users, etc. and Change Control Boards (CCBs) and Change Implementation Boards (CIBs). It also identifies some key data elements that must be tracked: ECRs, ECNs, Problem Reports, Work Orders, Waivers, etc., identifying some of the key properties of each, and even the workflow of them, without limiting the definitions.
It's not a simple task, but the CM II process can be mapped onto the software world. No vendor has done this to date (at least not publicly), even though there are a number of CM II tools for hardware. But I expect one or two software vendors to take on this task in the next year or two. If so, we might have the makings of a software CM standard, or perhaps the framework on which one could be built.
CMMI
Perhaps the most important quality process that applies to software CM has been the CMM/CMMI from SEI (at Carnegie Melon University - also known as CMU!). The industry is fairly well-versed in the Capability Maturity Model. If nothing else, this model has allowed us to broaden the definition of CM so that the model may be more fully supported from the enterprise CM backbone. Some CM tools can be customized to provide CMM-specific support, with some even having specific plug-ins or configurations for CMM.
The advantage here is that a well recognized process initiative, if embraced by the CM industry, will force tools to converge somewhat, at least in offering a common subset of capabilities.
The CM Standard
So, when will the ultimate software CM standard emerge? I suspect it may be never. Let me recommend the standard and it will be very well defined, flexible and cater to things such as Agile environments, automation, CMMI, CM II, and more. But it will be vastly different that the standard that others might recommend if they had the chance.
So don't expect a comprehensive software CM standard soon, even if a CM II for Software process is defined. Our best hope is for an advanced solution to grab 90% of the market and then to go the Open Source route. So do you think we can get a 90% consensus on the best CM solution out there?
Still, if we want a CM standard to emerge one day, we can do something very concrete today. We can start focusing on the elements that need to be standard. Identify them.
Expose them. Build concensus on them. And have a very long term goal on reaching some consensus. With the pace of technology, it will be a great challenge just to agree on an approach. But maybe one day we'll be able to look back and ask what all the fuss was about - but perhaps not in my lifetime!






