Is there a place for project management in the establishment of a Configuration Management (CM) infrastructure? If so, then how much project management should be included? A thin but strong layer of PM may be helpful to tie tasks together and keep
project team members in-sync with one another.
Before proceeding, let us consider the value of applying PM to a CM infrastructure effort. Where can solid PM practices help CM? PM can help:
- achieve common goals
- organize the work
- prioritize the work
- assign work or bring in expertise at the right
- improve better forecasting of task and project
- move from an Ad Hoc approach to a planned
- provide more control over a project
- separate the analysis and planning phases from
the execution phase
- provide a structured implementation approach
The SCM Level that may need PM help
While CM can occur at several levels (e.g., organization, application, and project level), it is the application level where implementing PM practices are most advantageous. The application level is where the CM infrastructure for an application is established. This is not a trivial effort.
To implement a CM infrastructure (tool, environment, and procedure) for an application, there will be many tasks and activities that must be managed, many with dependencies,
utilizing multiple resources, and with a strong need for communications. Many
times, I have seen CM infrastructure tasks get included in a development project plan (e.g., during the lifecycle of a development engineering project). What happens is the CM infrastructure tasks tend to take a lower priority than the development project tasks. This is because the CM infrastructure tasks are not "project" level tasks focused on the project
lifecycle, but are "application" focused on the application lifecycle. Also, the common goal of a development project is to build a set of engineering delivers for the customers. The common goal for a CM infrastructure effort is to build the CM environment, technology, and procedures for the development or engineering folks.
You must determine if you actually have a project before you apply PM to it. As mentioned, establishing a CM infrastructure is focused on establishing infrastructure for an application. This includes many tasks that have a common goal of establishing a CM infrastructure. Typically, it is done once since you only need to establish a CM infrastructure once for an application. Later on, improvements or automation may
occur. Also, while the CM engineer plays a key role in establishing the CM infrastructure, often times other groups are involved such as operations, development, and test.
With all of this in mind, applying PM practices to a CM infrastructure project improves the chances for a more effective SCM implementation. By using PM practices, you can define
and achieve common goals, organize and prioritize the work, assign work or bring in expertise at the right time, improve better forecasting of task and project completion, move from an Ad Hoc approach to a planned approach, provide more control over a project, separate the analysis and planning phases from the execution phase, and ultimately provide a structured implementation approach.
CM Tasks in a CM Infrastructure Effort
This section provides an overview of a CM infrastructure project. Every application must have a solid and effective CM technology & process infrastructure. An application may remain viable for a number of years and through many releases with an environment and procedures that can manage various streams of the product. The more effective the application's CM infrastructure, the better the chances for traceable and integrity of the
configuration items. The CM tasks at the application level, in most cases, are a one-time-only task (e.g., you only create one Change Control procedure for an application) and specifically not intended to be repeated.
The primary CM roles best suited to implement tasks at this level are the CM manager, CM engineer, and CM coordinators. However, participation and cooperation must occur with the application owner and lead technical personnel. Some of the CM tasks at the application level include (but not limited to):
- CM Analysis - This includes tasks to assess of implementation readiness, estimate the effort, analyze the current situation, and perform a risk