|
Almost everyone who has been involved in Configuration
Management for some time has run across the term Configuration Management Plan
(CMP). Indeed, there are many times
when a CMP is mandated either because of contractual or regulatory
requirements. A CMP is a formal document that describes the Who, What, When,
Where and Why of CM and how it fits within a Project's Life Cycle. The problem
is that they tend to be big, unreadable, take a long time to produce and are
generally out of date as soon as they are published.
A good example of a template for a normal CMP can be found at UCM Central (http://www.snuffybear.com/ucm_cmp.htm), which is in turn based on IEEE's 828.1:1990 template. Even though it is fairly short for a template, it is more a table of contents that does not indicate the level of detail needed in each section. Also note that the CMP documents Tools, Infrastructure and Project Schedules - all things that are subject to fairly rapid change. Since the CMP is a controlled document that evolves over time, it becomes difficult to ensure one is compliant. So what can one do? In these days of wiki's and dynamic content web sites, it makes sense to use this model for CMPs. An example of this approach is the CM Journal itself where each edition has a "front page" that gives an overview followed by a list of topics, each of which in turn has a short description and a link for more detail. We should be able to leverage this for a Project CMP as well. First, decide if there is a good case for an Enterprise-wide CMP. This would allow generalized content, especially in the choice tools, infrastructure, security, policies, processes, roles, etc. The content could be contained within a versioned set of database records or static web pages. The reason for versioning is that once a project selects a baseline to start from, it tends (and rightfully so) to keep the majority of the boilerplate constant. By selecting the appropriate revisions, each project is able to decide for itself when to "update" its CMP. If there is no consistency across projects in terms of their CM planning, then it makes more sense to do each project's plan independently. The good news is that since everything is versioned and available, it would be simple to "clone" the appropriate content, either using links or by some other mechanism. Reuse is the key here. If there is never going to be more than one CMP, there is no reason to spend the time making it reusable. Regardless, the technology used to "build" a CMP should be consistent. What you need in terms requirements include:
Originally I tried this as a set of hyperlinked static web pages; and it worked fairly well. Users were able to see what interested them and the amount of information presented at any one time was manageable. I used cvs to maintain the revisions and make to actually build the document site. Of course, this first effort was more of a proof of concept and was for only one project, but it worked! I also tried a wiki that had versioning built in. This worked for a single project and I was able to sort of reuse content for a second project, but the tool was actually more cumbersome than the first approach. I needed to be able to link differently for each project and the common sections tended to both back- and forward-link improperly. Again, if you are only going to be doing unique Project CMPs, then this might work for you, otherwise I recommend you avoid it. The final approach I am experimenting with now is based on a backend database and a "smart" front page that causes dynamic "builds" of the content for display. The front page needs to be smart enough to wait until all appropriate content has been updated before presenting it to reviewers and to not present the content under review/rewrite to the consumers until it has been approved. This means that I have to build in some level of review management with electronic signatures and a limited workflow process. I hope to use something from the Open Source community for this; I just have not gotten to that point in the implementation yet.
So, here is an alternate approach to producing a CMP with
three different technologies to drive it. There are many other alternatives,
but this is the only one I have had personal success with. I wish everyone a
happy holiday season and an easily maintainable CMP! Ben Weatherall is currently based in Fort Worth, Texas where he practices Practical CM on a daily basis using a combination of CVS and custom tools to support a modified Agile-SCRUM development methodology. He is a member of IEEE, ASEE (Association of Software Engineering Excellence – The SEI’s Dallas based SPIN Affiliate), NTLUG (North Texas Linux Users Group), and PLUG (Phoenix Linux Users Group)
Set as favorite
Bookmark
Email this
Hits: 4252 Trackback(0)Comments (0)
|
| Last Updated on Wednesday, 17 December 2008 06:35 |


Almost everyone who has been involved in Configuration
Management for some time has run across the term Configuration Management Plan
(CMP). Indeed, there are many times
when a CMP is mandated either because of contractual or regulatory
requirements. A CMP is a formal document that describes the Who, What, When,
Where and Why of CM and how it fits within a Project's Life Cycle. The problem
is that they tend to be big, unreadable, take a long time to produce and are
generally out of date as soon as they are published.

