Software Configuration Management (SCM)
Software Configuration Management (SCM) is a process to systematically manage, organize,
and control the changes in the documents, codes, and other entities during the Software
Development Life Cycle.
The primary goal is to increase productivity with minimal mistakes.
Any change in the software configuration Items will affect the final product. Therefore, changes
to configuration items need to be controlled and managed.
Software Configuration Management Process
Planning and Identification
Baselines
Change Control
Configuration Status Accounting
Configuration Audits and Reviews
1. Planning and Identification
In this step, the goal is to plan for the development of the software project and identify
the items within the scope. This is accomplished by having meetings and brainstorming
sessions with your team to figure out the how the project will proceed and identifying
the exit criteria.
Specific activities during this step include:
Identifying items like test cases, specification requirements, and code modules
Identifying each computer software configuration item in the process
Group basic details of why, when, and what changes will be made and who will
be in charge of making them
Create a list of necessary resources, like tools, files, documents, etc.
2. Version Control and Baseline
The version control and baseline step ensures the continuous integrity of the product by
identifying an accepted version of the software. This baseline is designated at a specific
time in the SCM process and can only be altered through a formal procedure.
The point of this step is to control the changes being made to the product. As the
project develops, new baselines are established, resulting in several versions of the
software.
3. Change Control
In this step, requests to change configurations are submitted to the team. It is the
method used to ensure that any changes that are made are consistent with the rest of the
project which helps in quality assurance, and the approval and release of new
baseline(s).
Change control is essential to the successful completion of the project. The most
common types of requests are to add or edit various configuration items or change user
permissions.
4. Configuration Status Accounting
The next step is to ensure the project is developing according to the plan by testing and
verifying according to the predetermined baselines.
Configuration status accounting tracks each version released during the process,
assessing what is new in each version and why the changes were necessary.
5. Configuration Audits and Reviews
The final step is a technical review of every stage in the software development life
cycle. Audits and reviews look at the process, configurations, workflow, change
requests, and everything that has gone into developing each baseline throughout the
project’s development.
Participant of SCM process
1. Configuration Manager
Configuration Manager is the head who is Responsible for identifying configuration
items.
CM ensures team follows the SCM process
She/he needs to approve or reject change requests
2. Developer
The developer needs to change the code as per standard development activities or
change requests. He is responsible for maintaining configuration of code.
The developer should check the changes and resolves conflicts
3. Auditor
The auditor is responsible for SCM audits and reviews.
Need to ensure the consistency and completeness of release.
4. Project Manager:
Ensure that the product is developed within a certain time frame
Monitors the progress of development and recognizes issues in the SCM process
Generate reports about the status of the software system
Make sure that processes and policies are followed for creating, changing, and testing
5. User
The end user should understand the key SCM terms to ensure he has the latest version of the
software