Configuration Management Body of Knowledge
Chapter 3: Configuration Management Processes
Overview
Configuration Management processes describe, organize, and complete the work
of the project. Configuration-oriented processes specify and create the
configuration's product.
The best CM process is one that can best (1) accommodate change, (2) optimise
the reuse of standards and best practices, (3) assure that all requirements
remain clear, concise and valid, (4) communicate (1), (2) and (3) to each user
promptly and precisely and (5) assure conformance in each case. {Moved from
above - written by Dirk Wessel
3.1 ESSENTIAL CM PROCESSES
There
are some common processes that are essential to initiate, plan for, execute,
control, and to close Configuration Management efforts. Because every
organization's environment is different, even the best intentions have
difficulty coming to fruition. With proper managerial support, the processes
required are much easier to develop and implement.
3.1.1 What does it take to initiate CM?
There are some things that must be in place prior to consideration for the
initiation of CM processes. The first and foremost is funding and the second is
management support and direction.
Once management selects a Configuration Manager for the project at hand (CM
per project) or a new project is created (CM for the whole enterprise), the
Configuration Manager begins to be actively engaged in the project's planning
and scheduling. This task is a lot easier if performed at the start of a
project. Coming in after the fact, the Configuration Manager's effort will be
constrained by existing plans and schedules without much hope of modification.
The CM will need to understand the environment of configuration effort, the
nature of testing, who the primary players are, and what are the processes for
development.
Once these are understood, the CM can begin to develop appropriate
Configuration Management Plans, operational charters for review boards, desk
level procedures, automation routines for builds and deliverables, etc.
3.1.2 What Planning processes should be used?
There are three methods for such planning. One is where the Configuration
Manager develops the entire set of processes in a vacuum without involvement
from other team members. Sometimes this works, but only because the selling job
which follows is extraordinary.
A second approach is where project team members are encouraged to contribute
and evaluate plans for the processes. The developers and other team members will
be the ones using these processes the most, and so have a vested interest in
establishing good and functional ones.
A third is applicable to large organizations where the Configuration
Management approach and the processes therein have been standardized. Only minor
tailoring would need to be addressed by the Configuration Manager, making the
planning effort very minor.
3.1.3 Executing the CM processes - What works Best?
Executing or implementing the proposed CM processes that have been developed
can be done in two different ways. First is the dictatorial approach which
requires the deployment of the processes with very little fanfare. The second is
generally more satisfactory.
Prepare presentations at two levels. Create one presentation with the
managers in mind. Create a second with the developers and other non-management
project team members in mind. Demonstrate and 'train' the team members and
explain the transition from current methods to the new one and tell when the
transition will take place. Also be prepared to take suggestions for changes and
implement those changes as appropriate.
Once presented, make the switch-over to the process quick and as painless to
the team members as possible.
3.1.4 How are the processes controlled?
Processes are tough to control in practice, while easy to control physically.
The documentation for the processes can be easily versioned and controlled. The
hard part is where the Configuration Manager is unaware that processes aren't
being followed until it is too late - if at all. One way to mitigate a
perception of lack of control is to keep the training effort current, and repeat
it for all team members periodically. Another way to mitigate this perception is
to encourage and support an active Quality Assurance Team and/or an active
Process Improvement Team to monitor processes. The reasons why processes break
usually are because they are not used properly, they are not understood, or they
were circumvented without CM knowledge. This is why CM must be constantly and
actively involved in the project's efforts at all levels.
3.1.5 What process should be followed for closure?
Just as there are processes used during the life of the project, processes
for closure must also be developed. Most of the time, projects just stop being
funded and they end very abruptly. The proper closure incorporates the storage
of at least the last release of the product, support equipment, documentation,
databases, etc. The main objective of a good closure is to allow the project to
be restarted where it was halted if required. This makes for a potentially
costly closure effort which a lot of projects probably do not enjoy.
3.2 CONFIGURATION PROCESS INTERACTIONS
Configuration Managers coordinate the planning of their processes with other
key project personnel. The persons include project, quality, and development
leads. Once the processes are defined, CM, along with project personnel,
coordinate the deployment of the processes. CM will maintain control over the
processes, making modifications where appropriate.
At the end of the life of the project, Configuration Management must also
define how the project will be closed out. Working with project management
staff, CM determines what material/information shall be retained, eliminated or
stored.
3.3 MAKING IT HAPPEN
Putting a process for configuration into action, as described above requires
training, coordination, and cooperation. One method for implementing requires
that training materials be developed and project personnel be semi-formally
trained in the process. As soon as training begins, the configuration management
team should be ready to put it into action immediately. Each team member should
be given a copy of the process - even if it simply an outline. The entire
process should eventually be written down and published to the team.
Some of the problems that can be expected include a lack of willingness on
the part of team members to comply with the processes, or to even attend the
training classes.
Sometimes, management forgets their original commitment to the effort and may
need to be reminded.
3.3.1 Case Study: US Armed Forces
Here is how it was originally caused to happen in the US armed forces.
CM has been employed to control changes to products used in the defense of
our country for many years. It has evolved from typed documents, handwritten
logs and punched cards to use of sophisticated databases and networks.
During all these years of evolution, the basic core criteria have not been
altered.
The criteria involves four (4) activities which are performed separately but
in parallel.
- Identifying the product. This activity involves four steps, three of which
you probably haven't done this way before now.
- Write the customer's requirements for your product into a document that
you and the customer agree on.
- Identify your product by establishing a number for each item in it. This
is the step you may already be doing.
- Create an address for each item which relates each item number to every
other item number in the product. The address is similar to your home
address. It does not change even though the item number that resides there
may change.
- Relate each document that is used to design, develop, produce and
support each item to the same address as the item.
- Controlling changes to the product: Each change is described in relation
to the four steps in the first activity:
- The impact on the customer's requirements document
- The item number of the changed item
- The address of the changed item
- The documents related to that address
- Accounting for the changes when they are made to the items and the related
documents: Each change is accounted for by identifying the revised documents
which relate to the changed item.
- Auditing: Auditing the product for compliance with customer requirements
before it is delivered. Each item in the product is compared to the documents
that relate to it.