One of the most important facets of any Information Technology department or project is to control what is introduced to the system and when. Unfortunately most businesses do not have any formal method for doing this, which can make for a mess when it comes time to update or expand. The formalization of this control is done by the implementation of a Configuration Management process. Within the rest of this post Configuration Management will be broken down into its constituent parts to provide better understanding of what exactly this is.

Configuration Management (CM) is a process in which the consistency of a given product is maintained throughout its entire life cycle. There are several different approaches that CM can take. For example, when developing a software product Configuration Management is typically known as Source Control Management (SCM). For process and procedures, which are usually detailed in a document, the process for managing changes is known as Document Control or Document Management (DM). But regardless of the name, the characteristics of each of these processes will include the same five basic processes:

    • Planning and Management of assets

    • Identification and parameterization of individual Configuration Items

    • Change Control

    • Status Accounting

    • Release Management

By defining the CM principles, as they relate to the organization, will save time and budget. Without this check on what is being done with the product, a number of events will frequently occur including:

    • Losing time and productivity when a new update is released with fatal errors

    • Re-doing segments of the implementation because vital requirements were not met

    • Replacing the wrong components of a system due to the inability to accurately determine where the error is.

Understanding that each project or product passes through the Systems Development Life Cycle (SDLC), it can be seen that the CM process has a stage to meet within the SDLC phase and in many instances will actually overlap one or more of the phases. The Requirements phase of the SDLC, is paired with the Planning and Management as well as Identification of Configuration Items phases of the CM process. The Preliminary and Critical Design (PD / CD) phases of the SDLC marry up with the Identification of Configuration Items (CI) and Change Control (CC). The Test phase of the SDLC meets with CC and Status Accounting (SA) for the CM processes, while Low Rate and Full Rate Production (LRP / FRP) take SA and Release Management (RM) into their accounting. 

The Planning and Management phase of Configuration Management is used to identify the factors which can impact the project. These can include the cost and schedule, organizational roles and responsibilities, and the methodologies as well as the standards and procedures which will be used. It is within this stage of the process where the Configuration Management Plan project artifact, which sets out the processes used and upon which the rest of the CM phases are built, is produced.

Identification of Configuration Items (CI) within the CM process is the stage in which each item that will be placed under control is identified. In a Software development project this could be each custom class which is created or an entire feature to be included in the project. Within the DM area of Configuration Management, the entire document would be placed under control.

Change Control references the methods used to track the changes made to an individual Configuration Item. This could be a simple as a check out / check in system, such as that employed by Microsoft Share Point, where only one person can make edits at a time. It could also be more complicated, with each change needing to be proposed and approved by a Change Control Board (CCB). Most organizations use a combination where it is dependent on the size of the change and the criticality of the CI on whether or not a CCB is required.

Status Accounting is used in the CM process to track the health and progress of the project. It reports on the type and number of changes made to the Configuration Items under control, waivers granted for deviations by the CCB and the complexity of problem reports with root cause analysis. By keeping track of these factors an organization can determine whether to continue or to discontinue a project.

Release Management is the process under which the Configuration Management team determines when the project is at a point where a baseline can be released. Once the baseline is released, all changes can be tested against it to determine if an update can be issues or if it is significant enough to require issuing a new baseline. This phase of the CM process also tracks the maturity of the project. As a project matures there will be fewer problem reports, edits and bug fixes to be issued.

The entire process of Configuration Management is cyclical and an ongoing activity for the life of each project. By identifying the important factors and ensuring that changes are tracked, an organization can ensure that changes made are deliberate. This will also assist in keeping the project within scope, on schedule and within budget.

Want to know more, schedule a consult with us!

 

 

 

 

REF:

“Configuration Management Basics” by Ann Hodges, CSEP Enchantment Chapter of INCOSE Presentation 12 October 2011, http://www.incose.org/docs/default-source/enchantment/111012_ann-hodges_cmbasics.pdf?sfvrsn=2

“Quality Software Project Management, Two Volume Set” by Robert T. Futrell, Donald F. Shafer, Linda Isabell Shafer, Chapter 31 “Software Configuration Management” , http://www.informit.com/articles/article.aspx?p=26858&seqNum=5

“What is Configuration Management? And why is it important to me?” by Glennan Carnie 16 May 201, https://blog.feabhas.com/2011/05/what-is-configuration-management-and-why-is-it-important-to-me/