Software Configuration Management Basics
Software Configuration Management (SCM) is a process of managing systematically, organizing, and controlling the changes in the documents, codes, and other entities during the Software Development Life Cycle. The main purpose is to boost up productivity with minimum errors. SCM is part of the cross-disciplinary field of configuration management and it can accurately determine who made which revision.
Software Configuration Management Process in Software Engineering
1. Planning and Identification
In this phase, the goal is to plan the development of the software project and identify objects in scope. This is accomplished through meetings and brainstorming sessions with your team to learn the basic criteria for the rest of the project. This process includes figuring out how the project will proceed & identifying exit criteria. That way, your team will know how to recognize when all project objectives are met.
2. Version Control and Baseline
Version control and references ensure continued product integrity by identifying the approved version of the software. This baseline is specified at a specific time in the software configuration management (SCM) process and can only be modified through a formal process. The purpose of this step is to control the changes made to the product. As the project develops, new baselines are established, resulting in multiple versions of the software.
3. Change Control
Change control is a way that helps us to ensure that any changes made are consistent with the rest of the project. Establishing these controls helps with quality assurance and the approval and release of new baseline(s). Change control is essential for the successful completion of the project. In this phase, configuration change requests are submitted to the team and approved or rejected by Software Configuration Manager. The most common types of requests are to add or edit various configuration items or to change user permissions.
4. Configuration Status Accounting
This step is to ensure that the project is developing as planned by conducting tests and verifications as per a predetermined baseline. This includes looking at release notes and related documents to ensure that the software meets all functional requirements. Configuration Status tracks each version released during the accounting process, assessing what’s new in each version and why the changes were necessary.
Some activities in this phase include:
- Recording and evaluating changes made from one baseline to another
- Monitoring the status and resolution of all change requests
- Maintaining documentation of each change made as a result of change requests and reaching another baseline
- Checking previous versions for analysis and testing.
Software Configuration Management Tools
1. Server Configuration Monitor – Solarwinds
Server Configuration Monitor is one of the software configuration management tools to detect and compare configuration changes in servers, applications, and databases. You can configure applications and servers in real-time i.e. SolarWinds provides Server Configuration Monitor to detect unauthorized configuration changes on servers and applications and helps in the configuration of Windows and Linux baseline servers and applications.
2. Bamboo Configuration Management
Bamboo is Atlassian’s well-known continuous delivery tool, which provides good support for version management and regular delivery. It is based on the Java programming language and is essentially cross-platform. The advantage of Bamboo is that it provides a common shared place for users (developers, administrators, testers, etc.) to work and share information containing sensitive data.
Software Configuration Management PDF
If you want to download the Software Configuration Management PDF then you should check out this link you will get the PDF.