Configuration Management is Lika a Race Track—Really!

Summary:
A race track is built as a permanent facility designed with materials and formation to ensure the track is easily maintainable, and to enable that class of race car to travel in a reliable manner. So what does this have to do with configuration management (CM)? The race track is a lot like a CM infrastructure needed by product team to support the building of product. The race car is a lot like the CM tasks that are executed to help the project race to the release finish line.

A race track is built to accommodate a certain class of race car.  The race track provides a path in which a race car can travel around to start and finish a race.  The track is built as a permanent facility designed with materials and formation to ensure the track is easily maintainable, and to enable that class of race car to travel in a reliable manner.  It is also important to build the track in a way that allows the race cars to reach their peak performance. 

So what does this have to do with configuration management (CM)?  The race track is a lot like a CM infrastructure needed by product team to support the building of product.  The race car is a lot like the CM tasks that are executed to help the project race to the release finish line.

CM Race Track at the Product Level - Deployment
CM at the product level is the infrastructure race track that must be built to support lean and efficient engineering for the project.  When establishing CM infrastructure, it is recommended to have a separate CM effort that is independent from the engineering project whose goal is to use the CM infrastructure to create a set of deliverables known as a project release. Another goal is to complete the CM infrastructure in time for the engineering project to use (servers, tools, code repository, build processes, training, etc).  

It is advisable for the product owner to provide the CM professional(s) with lead time to build an appropriate CM infrastructure for the product so that when project work starts, a functional set of CM procedures and technology are available to control that work and get it down the race track with speed and reliability.

We can think of CM at the product level as a focus on building and deploying the CM race track infrastructure for maintainability, reliability, and performance.  CM at this level do not directly involve getting a project release out to market, but involves CM tasks focused on building the infrastructure and processes that can support an engineering project.  The key areas of focus of CM at the product level include:

    • Assessing a product’s CM needs
    • Selecting a CM technology best suited for the product
    • Defining an product level CM Plan that ensures maintainability, reliability, and performance
    • Establishing a CM system and environment for the product
    • Establishing CM processes for the product (e.g., check-out/check-in, build, release, change control, problem management, etc.) that are built for performance and reliability.
    • Performing CM training for those that work on the product

CM Race Car at the Project Level - Execution
CM occurs at the project level as well, focusing on what tasks must occur to deliver a release package. This usually involves check-out/check-in, build, package, and migration tasks and includes change control and issue tracking tasks. These CM tasks fit nicely in an engineering project plan and most occur in the development and release phases of the project.  How effective these CM tasks are at the project level, depends on how well built the CM infrastructure is.

At this level, the CM tasks help a project create and deliver a release to the marketplace.  CM at the project level is where we can hone the CM infrastructure as we drive the CM race car tasks to help get the release out.  We can identify where the CM infrastructure can be improved through the continuous use of the CM infrastructure (e.g., procedures, tools, etc.) via CM tasks to the benefit of the projects.  The key areas of focus of CM at the

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.