Explain the process of software configuration management.
Software Configuration Management (SCM)
- Software Configuration Management (SCM) refers to a process for maintaining computer systems, servers, and software in a desired, consistent state.
- Sometimes called software change management or IT automation, the idea is to have a system in place to track and compare changes made across a system throughout the development process and also identify who made these revisions.
- The purpose is to make project management easier, minimize errors, increase traceability, and improve overall software quality.
- The software configuration management process is a series of steps designed to track and manage all the defects, resources, codes, documents, hardware, and budgets throughout a project.
SCM is an interdisciplinary process involving people at every level, including DevOps, developers, project managers/owners, SysAdmin, and testers.
The 5 steps of an SCM plan
1. Planning and Identification
2. Version Control and Baseline
3. Change Control
4. Configuration Status Accounting
5. Audits and Reviews
1. Planning and Identification
- The first step in the process is 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 basic criteria for the rest of the project.
- Part of this process involves figuring out how the project will proceed and identifying the exit criteria. This way, your team will know how to recognize when all of the goals of the project have been met.
2. Version Control and Baseline
- The version control and baseline step ensure 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
- Change control is the method used to ensure that any changes that are made are consistent with the rest of the project. Having these controls in place helps with quality assurance and the approval and release of new baseline(s). Change control is essential to the successful completion of the project.
- In this step, requests to change configurations are submitted to the team and approved or denied by the software configuration manager. 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. It involves looking at release notes and related documents to ensure the software meets all functional requirements.
- Configuration status accounting tracks each version released during the process, assessing what is new in each version and why the changes were necessary.
5. 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.
- The team performs multiple reviews of the application to verify its integrity and also put together essential accompanying documentation such as release notes, user manuals, and installation guides.
Comments
Post a Comment