Lec 22
Lec 22
management
LEC_22
System Configuration Management (SCM)
SCM is the process of managing changes to a software system. It involves identifying items for
change, establishing relationships between them, creating tools for managing different versions,
controlling the changes being implemented, and monitoring and reporting on the changes made.
Controlling changes is crucial to prevent undermining a well-functioning software system. SCM
is a fundamental part of all project management activities.Processes involved in SCM
Identification and Establishment
Identifying configuration items that compose baselines at given times. Establishing relationships
among items and managing multiple levels of control and procedure for change management.
Version control
Creating versions/specifications of the existing product to build new products with the help of the
SCM system. A description of the version is given below:
Change control
Controlling changes to Configuration items (CI). The change control process is explained in
Figure below:
A change request is evaluated for technical merit, side effects, impact, and cost. The evaluation
results are presented in a change report, which a change control board uses to decide the change's
status and priority. An engineering change request is generated for each approved change. The
change control board notifies the developer if the change is rejected, with a reason. The
engineering change request describes the change, constraints, and review/audit criteria. The object
to be changed is checked out, changed, tested, and checked back in with version control.
Configuration auditing
A software configuration audit complements the formal technical review of the process and
product. It focuses on the technical correctness of the configuration object that has been modified.
The audit confirms the completeness, correctness, and consistency of items in the SCM system
and tracks action items from the audit to closure.
Reporting
Providing accurate status and current configuration data to developers, testers, end users,
customers, and stakeholders through admin guides, user guides, FAQs, Release notes, Memos,
Installation Guide, Configuration guides, etc.
Importance of Software Configuration Management
• Effective Bug Tracking: Linking code modifications to issues that have been reported, makes
bug tracking more effective.
• Continuous Deployment and Integration: SCM combines with continuous processes to
automate deployment and testing, resulting in more dependable and timely software delivery.
• Risk management: SCM lowers the chance of introducing critical flaws by assisting in the
early detection and correction of problems.
• Support for Big Projects: Source Code Control (SCM) offers an orderly method to handle code
modifications for big projects, fostering a well-organized development process.
• Reproducibility: By recording precise versions of code, libraries, and dependencies, source
code versioning (SCM) makes builds repeatable.
• Parallel Development: SCM facilitates parallel development by enabling several developers to
collaborate on various branches at once.
Why need for System configuration management?
• Replicability: Software version control (SCM) makes ensures that a software system can be
replicated at any stage of its development. This is necessary for testing, debugging, and
upholding consistent environments in production, testing, and development.
1.Improved productivity and efficiency by reducing the time and effort required to manage
software changes.
2.Reduced risk of errors and defects by ensuring that all changes were properly tested and
validated.
3.Increased collaboration and communication among team members by providing a central
repository for software artifacts.
4.Improved quality and stability of software systems by ensuring that all changes are properly
controlled and managed.