Allowing Project Management (PM) to Help Configuration Management (CM)

Summary:

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
    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
  • 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

About the author

Mario  Moreira's picture
Mario Moreira

Mario Moreira is a Columnist for the CM Journal, a writer for the Agile Journal, an Author, an Agile and CM expert for CA, and has worked in the CM field since 1986 and in the Agile field since 1998. He has experience with numerous CM technologies and processes and has implemented CM on over 150 applications/products, which include establishing global SCM infrastructures. He is a certified ScrumMaster in the Agile arena having implemented Scrum and XP practices. He holds an MA in Mass Communication with an emphasis on communication technologies. Mario also brings years of Project Management, Software Quality Assurance, Requirement Management, facilitation, and team building skills and experience. Mario is the author of a new book entitled “Adapting Configuration Management for Agile Teams” (via Wiley Publishing). It provides an Agile Primer and a CM Primer, and how to adapt CM practices for Agile Teams. Mario is also the author of the CM book entitled, “Software Configuration Management Implementation Roadmap.” It includes step-by-step guidance for implementing SCM at the organization, application, and project level with numerous examples. Also consider visiting Mario’s blog on CM for Agile and Agile adoption at http://cmforagile.blogspot.com/ . You may reach Mario by email at Mario.Moreira@cmcrossroads.com.