Lecture - 02 SOFTWARE CONFIGURATION MANAGEMENT (SCM)
Lecture - 02 SOFTWARE CONFIGURATION MANAGEMENT (SCM)
Semester : I
By :- Sathananthy Velautham
• Advantages
• SCM lifecycle
• Terminologies
– Software projects
products.
of track and controlling changes in the software, part of the larger cross-
• If something goes wrong, SCM can determine what was changed and
- Wikipedia
SCM : Why do you need it?
• The problem:
Multiple people have to work on software that is changing.
More than one version of the software has to be supported:
• Released systems
• Custom configured systems (different functionality).
• System(s) under development.
Software must run on different machines and operating systems.
• Need for coordination
• Software Configuration Management
manages evolving software systems
controls the costs involved in making changes to a system.
SCM : Activities
• Configuration item identification
– modeling of the system as a set of evolving components
• Promotion management
– is the creation of versions for other developers
• Release management
– is the creation of versions for the clients and users
• Change management
– is the handling, approval and tracking of change requests
• Branch management
– is the management of concurrent development
• Variant management
– is the management of versions intended to coexist
Purposes / Goals : SCM
• Configuration identification
• Configuration control.
• Build management
• Process management
• Environment management.
• Teamwork
• Defect tracking
• Configuration auditing
Advantages : SCM
The SCM system has the following advantages:
• Reduced redundant work.
• Effective management of simultaneous updates.
• Avoids configuration-related problems.
• Facilitates team coordination.
• Helps in building management; managing tools used in builds.
• SCM helps to eliminate the confusion often caused by
miscommunication among team members.
• The SCM system controls the basic components such as software
objects, program code, test data, test output, design documents, and
user manuals.
SCM and software development lifecycle
– The configuration manager can also be responsible for defining the procedures
for creating promotions and releases.
• Developer
– Creates promotions triggered by change requests or the normal activities of
development.
• Auditor
– Responsible for the selection and evaluation of promotions for release and for
ensuring the consistency and completeness of this release.
Terminology
We will define the following terms
• Configuration Item
• SCM Directories
• Version
• Revision
• Release
• The definition of the terms follows the IEEE standard.