SCM (Software Configuration Management) is the process by
which software development organizations store, organize,
access and update software files in the development
cycle.
Also included in the scope of SCM is the process used to
build usable releases of software, as well as the
management of the environment necessary to run the
software, including operating systems, applications and
other run-time considerations.
SCM Labs' staff has over 60 collective years of experience
creating effective and efficient software configuration
management solutions. We offer our knowledge and
experience in the following white papers.
SCM Methodology
SCM Labs' methodology makes us unique-and it's what
makes your SCM Labs solution the most effective you can
buy. Our methodology has evolved over many years'
experience creating and implementing expert software
configuration management (SCM) solutions across a wide
variety of software environments.
This document describes how Software Configuration
Management (SCM) can positively affect the financial
situation of a corporate development organization. It
does not discuss the economic benefits of SCM in specific
figures, but simply presents those benefits that provide
a positive financial impact. From a financial
perspective, these benefits result from increasing
productivity, and avoiding the numerous pitfalls inherent
in software development. We begin with a discussion of
some of the benefits provided by SCM, and conclude with a
rhetorical history lesson, recounting many unfortunate
events from a typical software development group's past,
explaining how each could have been prevented by proper
SCM practices.
This document provides justification as to why a
Software Configuration Management (SCM) department should
be independent from Development, Test, and Production.
When deciding where to organize an SCM team within a
development organization it is helpful to keep in mind
that the three most important characteristics of the SCM
role are objectivity, skill set, and focus. This document
will show that an independent SCM department is the only
group with the right mix of these characteristics to
successfully implement and support a full range of SCM
services.
The objective of this document is to define
concepts, terms, processes, and procedures that provide
guidelines to manage the development of their software
assets as complete releases. Release-Based CM provides
the mechanisms to support multiple lines of development,
dynamic and static releases, and promotions.
This document describes the roles necessary to
implement a Software Configuration Management (SCM)
system in a corporate development environment. It
discusses these roles during three phases of
implementation the SCM implementation phase, during which
the SCM system infrastructure is put into place; the
project implementation phase, during which a particular
development project is migrated to the SCM system; and
finally, the ongoing phase that begins when the SCM
system is in place and one or more development projects
is under SCM control.
One of the major responsibilities of SCM is to
provide for a common, shared location of all software
assets generated by the project. Another major
responsibility is the re-creation of any previous version
of a software product under SCM control. The first level
infrastructure required to provide for a secure and
re-creatable software repository is an effective and
trustworthy backup system.
This document describes the promotion schema for all
software development projects within the Software
Configuration Management (SCM) system. The basics of
software promotions are presented, along with information
specific to some promotion scenarios. Exceptions are a
common occurrence in software development, and this
document discusses modifications to the process that are
necessary to handle these situations. Finally, release
identifiers, or release labels, are discussed in detail.