Business Criticality and the Investment of CM

[article]
Summary:

Configuration management (CM) provides organizations with a level of control over the changes that occur in the engineering space.  It can help protect the valuable code assets of the revenue generating products within the organization.  CM provides the capability for products to manage the pieces therein that change at different rates, exposes the changes that are occurring, and establishes knowledge of the baseline of the product which then improves integrity and minimizes product regression.  In addition, CM not only assesses the impact of change, but assists in problem resolution.   While the value of CM is typically understood within engineering organizations, it is important to apply CM investment wisely. 

CM professionals have a large number of demands on their time and typically more work than possibly be completed by the staff available. Typically, the organization in which a CM professional works must make business decisions regarding the order in which to apply CM resources and CM rigor. It is best to evaluate the items requiring CM and invest at the appropriate level.

To begin the evaluation process, it is important to first understand the life expectancy of the deliverables. Second, the business criticality of the products within the organization must be determined. From this data, the level of CM investment can be applied to the more important products first and then, eventually, to all products as resources allow.

Identifying Life Expectancy
The first step to take is asking, “What are you applying CM to?” and “How long is the deliverable expected to live?” This can provide insight into the appropriate level of CM to be applied. If items under consideration will only live for a short time, like a prototype with no expectation of life beyond the project, then a very simple level of CM (like only version control) can be applied. If CM is being applied to a project, but the deliverables of that project are part of a product that is expected to live for some time, then it is better to establish a more rigorous level of CM (including version control, change control, problem management, automated build management, etc.). In addition, if there is an expectation of multiple releases of the product over time, then it becomes critical to establish a very solid CM infrastructure to manage the multiple changes and may imply a rigorous branching and merging process. Keep in mind that it may not be easy to determine the life expectancy of a product. Talking with the product owner is one source of information. Learning that the product is intended to be used for quite a while is enough to know that it has a long enough life for CM to be applied.

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/.
 

AgileConnection is one of the growing communities of the TechWell network.

Featuring fresh, insightful stories, TechWell.com is the place to go for what is happening in software development and delivery.  Join the conversation now!