These goals, based loosely on the goals for configuration management defined in CMMI (see Chapter 2), are generally sequential, so some may not be doable before previous ones. Fulfilling these goals will bring the company to capability level 1 for configuration management. SG 1 Establish Baselines SP 1.11 Identify Configuration Items SP 1.21 Establish a Configuration Management System SP 1.31 Create or Release Baselines SG 2 Track and Control Changes SP 2.11 Track Changes SP 2.21 Control Changes SG 3 Establish Integrity SP 3.11 Establish Configuration Management Records SP 3.21 Perform Configuration Audits Establish Baselines The primary goal is to obtain control over source code and corresponding objects: -
Define what types of objects to place under configuration management. -
- Individual objects, such as source code modules -
- Deliveries like subsystems, partial deliveries to the customer, and entire systems -
Define a convention for unique identification of the objects to be placed under configuration management and accept no other forms of identification. -
Identify what has already been produced. -
Define authorization for all objects, document it, and stick to it. -
Place objects already produced under configuration management in storage in a controlled library, with the corresponding information. -
Define deliveries of what has been produced and place them under configuration management. -
- Name them. -
- Specify in detail what they are composed of. -
- Approve them. -
- Create proxy items if necessary. -
- Place them in storage in a controlled library, with the corresponding information. Track and Control Changes Formal change control must be established for code now under configuration management: -
Produce a template for event registrations. -
Establish at least one configuration control board. Remember that a CCB does not have to consist of more than the author or producer of an object and maybe some peers. -
Make sure event registrations are filled in for all events observed for the configuration items. -
Make sure all event registrations are treated by the configuration control board. -
Make sure everyone who has registered an event receives feedback on decisions. -
Do not implement changes based on any other input than a change request from the configuration control board. -
Store all event registrations and change requests . -
Make sure the configuration control board approves all implemented changes. -
Identify all new, changed configuration items and store them in the controlled library with the corresponding information. -
Define new, changed deliveries containing the new, changed individual configuration items. Minimum Documentation What must, as an absolute minimum, be described for the configuration management is therefore -
Responsible people -
The types of objects to be placed in configuration management -
Naming conventions -
Templates for event registrations and change requests -
Guidelines for filling these in -
Composition of the configuration control board -
A process for treating events from creation to closure What must, as an absolute minimum, be produced during configuration management is therefore -
Lists of configuration items, including deliveries, with all available information for each item -
Completed event registrations and change requests Establish Integrity It's necessary It's unnecessary to produce comprehensive configuration management plans, including all configuration management aspects, for a system as described above. The documentation could be in the form of simple e- mails or informal memoranda. The important point is that the documentation should be stored and then changed and reissued when something emerges as not useful or expedient. The more formal planning and control of configuration management leads to capability level 2. A configuration management system as described here is a good beginning, but in most cases, a project or company won't benefit fully at this level. Keep in mind, however, that the scope and degree of formality must never exceed what is profitable for the company. |