Software configuration management techniques and principles

Author: 
Vinay R. Menon, Sreehari Tharayil Sathyanathan, Ken Thomas Abraham, Jaiesh Sunil Pahlajani and Prof. Santhi H.

Software Configuration Management (or Software Change Management) is defined as the task of tracking and controlling changes in software. It is a part of a larger field of configuration management. It helps in identifying individual elements and configurations, tracking changes, and version selection, control, and baselining. Software products are very complex to develop and are even more difficult to maintain. There are various problems faced in SCM such as balancing the costs of productions with benefits from increased sales of software products. As a solution to these problems, SCMs have a key role in handling the complexities of software variability. More and more systems are developed using components. There is a move from monolithic to open and flexible systems. In such systems, components are upgraded and introduced at run-time, which affects the configuration of the complete system. Keeping up-to-date information about which components are installed is a problem. Updating a component also affects the compatibility of the system. It is therefore important to keep track of changes introduced in the system. In the product life cycle, CM is traditionally focused on the development phase, in particular on managing source code. Now when changes are introduced in systems at run-time and systems are component-based, a new discipline, component configuration management is required. The future holds many avenues for progress in addressing technology, such as new functionality; process, such as better process support involving semantics of data; management, such as improved recognition of the need for resources and politics and standards.

Paper No: 
1643