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
of CM. To begin this evaluation process,
it is important to first understand the life expectancy of the deliverables at
hand. 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 is
to ask ‘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, 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 awhile’ is enough to know that it has
a long enough life for CM to be applied.
Determining Business Criticality
The next step is
to determine the level of importance of the products that will need CM. This will help determine the order of the
work and CM effort needing to be applied.
If the company in which you work has ten products that need CM, the
question is ‘which to prioritize first, second, third, and so on’. Investigate if there is a business
criticality rating already assigned to the products. If not, conduct a brief evaluation with the
product owners, collecting the following data for each product:
Is the
product in production (e.g., has it been released) and what is the potential
impact to the customer base if product cannot deliver the next release
Current
or expected future revenue of the product over the next year
Current
version and change control problems on the products
Based on this data,
a simple business criticality ranking can be established. High scores should be given to products that
have already been released and have an existing customer base. Without CM, any level of regression in the
product can cause dissatisfaction. High
scores should be given to those products currently generating large revenue and
those expected to do so in the next year.
Without CM, any level of regression in the product can cause a loss in revenue. High scores should be given to products that have
immediate version and change control problems where there is regression or lost
code.
Product A
Product B
Product C
Released (in
production)
10 (Yes)
0 (No)
5 (nearing)
Current
Revenue/Expected Revenue
5/10 ($1m/$2m)
0/5 ($0/$500K)
0/5 ($0/$500K)
Problems
5 (yes)
0 (no)
5 (yes)
Totals
30
5
15
Business Criticality Ranking
1
3
2
Consider setting up a matrix like the one above that
includes the products, the answers to the questions above with scoring that
helps drive the ranking. Using the
example above, Product A has the highest business criticality, and therefore,
should have the highest level of CM rigor applied to it.
Investing Appropriately
Now that the life
expectancy of the products has been identified, the business criticality has
been determined and products have been ranked, a cost effective investment approach
into applying CM can be discussed. Also,
the rigor of the CM infrastructure should be directly proportional to the life
of the product and the business criticality of the product to the organization.
Few people will question the importance
of CM. However, given the competition
for resources, it is important to
establish a CM investment strategy based on life of the application and
business criticality.
Mario
Moreirais a
Columnist for CMCrossroads Journal, a VP of Architecture & Methodology,
an Author of CM publications, and has
worked in the SCM field since 1986.He
has experience with numerous SCM technologies and processes and has implemented
SCM on over 100 applications/products, which include establishing global SCM
infrastructures.He has 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 has released a new SCM
book entitled, “Software Configuration Management Implementation Roadmap”.It can be found at www.wiley.com, www.wileyeurope.com, and www.amazon.com (search for Mario
Moreira).It includes step-by-step
guidance for implementing SCM at the organization, application, and project
level with labor-saving templates on CD.