from Configuration Management Plans: The Beginning to your CM Solution
This section gives a brief overview of the kind of information gleaned from the
interviews about the use of CM plans. It gives a summary of the answers to the
questions and a short analysis of those answers.
We conducted a very informal set of interviews with practitioners to glean an
understanding as to the perceived value to an organization in having a CM plan.
The interviews included ten people, who were chosen to represent both CM and
non-CM personnel, different sized projects, and commercial and DoD
organizations. Details about the questions and responses are provided in
Questions and Answers Appendix. Here we give a summary of the results.
Participants were asked ten general questions about CM plans. The questions
asked focused on issues such as how the plan should be organized, how the plan
is used throughout the life cycle, and whether there are any significant
differences between CM plans for various environments (e.g., development versus
maintenance). The questions focused on the utility of CM plans today, and how
to make better use of them in the future.
The questions asked related to:
- assistance in developing a plan (manual and automated)
- content of the plan
- how the plan is used
- the kinds of factors that would make plans differ in certain situations
- the value of writing a plan.
The highlights of the answers are given below.
When asked if standards aided in the development of a CM plan, all respondents
stated that they did. The primary reason for this belief was that the standards
could be used as a guideline for the plan, providing the plan author with a
starting point and some idea as to what must be addressed in the plan.
We next asked the respondents whether CM procedures should be part of the CM
plan or be separate. This question was asked since this issue seems to be a
moot point to CM planners. The overwhelming response was that the procedures
should be kept separate from the plan, but that the plan should reference the
procedures. While many reasons were cited for this position, the most common
reasons were that separating the procedures allows the users to focus only on
what applies to them, and makes maintenance of the procedures and plan much
easier. Respondents also stated that procedures should focus on how to do
something, whereas a plan should focus on what is to be done.
In discussing whether the CM plan should be updated throughout the project life
cycle, most respondents stated that they felt it should. However, the
respondents stated that updates should occur only when there are major
structural or process changes. In general, the respondents stated that the plan
did not require many updates because most of the changes occurred in the
procedures, which were maintained separately.
Regarding the actual use of the CM plan, once developed, most respondents
stated that the plan was primarily used during the initial software development
stages to establish the process by which CM would be done. Once the process was
established, the plan primarily sat on the shelf, and it was the procedures
which were then used most heavily throughout the remainder of the project. Also
regarding the use of the plan, the respondents stated that it was primarily
used by the CM and QA organizations, while the procedures were used by all
organizations.
The next question concerned the need for a CM plan at the company or division
level. Most respondents felt that there was a need for a plan at this higher
level, in addition to the project level. However, they felt the plan at this
higher level should be very generic, or perhaps just a standard upon which
projects could build. This generic plan, or standard, should also include
processes and methodologies endorsed by the company.
The next three questions dealt with needed differences in CM plans for
development versus maintenance projects, hardware versus software, and large
versus small projects. In all cases, the respondents felt that there were no
significant differences. They stated that the plan is based on the CM
methodology, which is the same regardless of what it is applied to. The major
differences, they felt, would be in the procedures. However, the respondents
did state that in the case of a large project, versus a small project, the plan
may have to be a bit larger, because the project will typically be more complex
and require more coordination. Yet, even in this case, the plan for both can be
built using the same standard or guideline.
The final two questions dealt with the value in writing a CM plan, and the
difficulty in writing the plan. Regarding the value of the plan, this is where
we received the most variation in the answers. While all respondents felt it
was valuable to write the plan, the degree of perceived value was different.
Some respondents felt the CM plan was very valuable throughout the entire life
cycle; others felt its primary value was at the beginning of the project, and
once produced, had served its purpose. Regarding the difficulty in writing
the plan, most respondents believed that the CM plan itself was not hard to
write. They felt that the difficult part was in determining how to perform CM,
and in determining what processes should be implemented. A few respondents did
find the plan difficult to write, however, because it is hard to get input and
cooperation from the software engineers and developers, and the timeline to
write the plan is usually very short.
We asked the respondents a final question as to whether having an automated
tool to assist in developing a CM plan would help. Of course the response was
Yes: all ten respondents answered that automated tools would definitely aid in
the process of developing a CM plan; however, two of the respondents added
caveats to their answers. The first caveat mentioned was that automated tools
may not have value to all companies. The value to a company is dependent on
that company's maturity level. If a company has been around a long time and has
well established processes, an automated tool may not be of much, or any,
value. This is because the company will already have well-defined
standards/plans and tools in place within the company, thus will not need the
tool. The second caveat mentioned was that in some situations the cost of the
automated tool may exceed the benefit derived from using it. This may be
especially true in organizations where the tool is not re-used from project to
project. An automated tool purchased for use on one project only will probably
be too cost prohibitive to justify its use.
When asked what type of tool they would want, all respondents stated that a CM
plan template would be desirable. Many software companies are now beginning to
produce templates, not only for CM plans, but for all of the standard documents
created on a project. Most of these automated templates are geared to specific
standards such as DoD or NASA standards. The current template programs
essentially provide a plan outline containing all of the section headings. In
addition, several of the programs provide one or two sentences describing what
should go into each section, much like the
model outline of the CM plan. All the templates we have seen are easily tailorable,
allowing a user to add, delete, or move sections around as they would in any
word processing program. In fact, most of these templates have been implemented
in word processing programs.
The results of the interviews raised no surprises. On the topic of assistance
in developing a plan, both manual and automated support are valuable. The
manual support is in the form standards and the automated support in the form
of tool templates at best. This leads to the conclusion that standards should
evolve as need arises and that there is a market for better tools for assisting
in writing CM plans.
Concerning the content of the plan, the most "controversial" topic about CM
procedures (which are the details of actually how to do the CM) was that they
should not actually be part of the plan itself but rather a pointer to the
procedures be placed in the plan. This leads to easier maintenance of the plan
since it is likely that the procedures will change more often than other issues
in the plan.
Perhaps a little surprising is that the CM plan does get used and needs to be
updated. But then this reflects the key role that the plan plays in the CM
solution. It is interesting to see that plans do not differ in their nature
whether dealing with different phases of the lifecycle, hardware and software
and between small and large projects (apart from size). This leads to the
conclusion that given a comprehensive template for a CM plan it should be easy
to write a good CM plan and that the template is the best way of starting to
write a CM plan.
The fact that the CM plans were used confirms that it is worth the time and
effort involved in writing a plan.
While we were not overly surprised by the answers to our questions it was
interesting to see the amount of uniformity in answers. This indicated to us
that while putting together a CM solution is complex, writing the actual CM
plan which is crucial to the CM solution, is not overly difficult and there are
aids to support it.