Configuration Management planning should not start as you put together your CM Plan. By then, you've already predisposed yourself to how your plan is going to play out.
As with most things, the earlier in the process you do your planning the better. Don't make the mistake of waiting until you start to define your CM process to do your CM planning. Your objectives should reach far beyond process. If you want to achieve the Next Generation of CM Planning, you need to start with an aggressive set of objectives and be ready to use Next
Generation technology. Even if you don't meet all of your objectives, you'll find you're ahead of the game. Your preliminary objectives need to deal with a dozen or so key areas prior to zooming in on your CM process.
Here's what I might recommend as a set of aggressive objectives.
- Automation - Automate what can be automated.
- Multiple Site Development - Seamless addition of sites with no effect from geographic separation (other than time zone effects)
- Administrative - Shoot for zero administration of your CM system and processes.
- Zero Cost/Big Payback - You want a zero-cost solution that has big payback.
- Integration of Tools and of the Repository - All tools working from a common repository, using the same user interface
- Next Generation Technology - Benefit from already proven next generation technology that's not yet caught up to the mainstream
- Guidance and Training - No training is ideal, but perhaps settle for a couple of hours per role with guidance provided interactively by your technology
- Process Customization and Improvement Capability - Out-of-the-box processes are data driven for easy customization
- Reliability and Availability - 100% and 100% would be nice
- On-demand information - Pre-canned reports and queries, rapid traceability navigation, easy customization of queries
- CM Standards - meets all recognized CM standards
- Entire ALM Process, not just CM - CM Process specified well beyond current requirements, and extended from one end of the ALM process to the other
- Security and Data Integrity - Adequate security levels and guaranteed data integrity
- Serviceability, Upgrades and Evolution of your CM System - Easy to service remotely without downtime, zero-impact upgrades, ability to evolve to handle wider process areas/requirements
OK, is this a bit idealistic? Perhaps, but perhaps not as much as you think. If you don't aim high, you're not going to get what you really want.
There are two ways to approach CM Planning: Push the state of the art or Follow the leader. The former approach uses your CM experience and outside resources to identify what are feasible goals that will eliminate traditional problems and maximize payback. The "Follow the Leader" approach looks at what most everyone else is doing and tries to
stay in the ball game by emulating what has already been tried.
This is more attractive because there are well-known sets of procedures, tools, expertise, etc. that can be harvested with more or less a predictable payback and set of problems. Time constraints often push a project into the "Follow the Leader" approach - but in a sufficiently
large project, it's really worth the effort to push the state of the art, or at least to set that as a goal. You may find that there are advanced tools, processes, and technology that are ready for mainstream and that will give you a competitive edge.
Many of the big strides we've take in CM were made in CM groups of large Telecom companies. In those telecom companies where I headed up the CM group, I was always aggressive. In the late 1970s, when CM was really just version control and some build assistance, we took the time to analyze the situation. Two big results seemed to stare us in the face:
(1) Changes, not file revisions, have