Classic Movies and Books

Learn Software Development

All about the processes involved in software development

Search this site
Google
 

Goals and benefits of Software Configuration Management

Filed Under Benefits, Techniques, Process, Development, Software | Posted on November 2, 2007




Why do we need to use Software Configuration Management (SCM) ? What are the goals and objectives of this process ?

The main goal of SCM is to identify, control, maintain, and verify the versions of software configuration items. An SCM solution tries to meet the following goals:
* Account for all the IT assets and configurations within the organisation and its services
* Provide accurate information on configurations and their documentation to support all the other Service Management processes
* Provide a sound basis for Incident Management, Problem Management, Change Management and Release Management
* Verify the configuration records against the infrastructure and correct any exceptions

In addition, these are some of the common scenarios
* Simultaneous Update: When two or more programmers work separately on the same program, the last one to make the changes can easily destroy the other’s work.
* Shared Code: Often, when a bug is fixed in code is shared by several programmers, some of them are not notified.
* Common Code: In large systems, when common program functions are modified, all the users need to know. Without effective code management?, there is no way to be sure of finding and alerting every user.

The questions below are some of the common problems quoted in a software organization, and SCM will be able to provide answers to all of them. In addition, the various processes below are answered with the help of SCM:
* What is my current software configuration?
* What is its status?
* How do I control changes to my configuration?
* How do I inform everyone else of my changes?
* What changes have been made to my software?
* Do anyone else’s changes affect my software?
* Configuration Identification- What code are we working with?
* Configuration Control- Controlling the release of a product and its changes.
* Status Accounting- Recording and reporting the status of components.
* Review- Ensuring completeness and consistency among components.
* Build Management- Managing the process and tools used for builds.
* Process Management- Ensuring adherence to the organization’s development process.
* Environment Management- Managing the software and hardware that host our system.
* Teamwork- Facilitate team interactions related to the process.
* Defect Tracking- making sure every defect has traceability back to the source

Some benefits to the organization that are obtained through the use of Software Configuration Management:
* Control: SCM offers the opportunity to review, approve, and incorporate changes to the configuration item. It provides a standard method for traceable and controlled changes to the baseline-version of a configuration item.
* Management: SCM provides a process of automatic identification and guidance of configuration items in their whole life cycle.
* Cost Savings: Using SCM, cost savings can be realized throughout the whole life cycle of a configuration. By actively defining, tracing, and auditing configuration items, failures can be detected early, and corrective action can be taken. No confusion in task division can occur.
* Quality: Deliverables are checked continuously during the software development process. By checking the human-work in an automated way, the level of compliance of deliverables with predefined requirements can be maximized.


Leave a Reply