Software configuration management :
Software configuration management (SCM) is one of the foundations of software engineering. It is used to track and manage the emerging product and its versions. This is to assure quality of the product during development, and operational maintenance of the product. SCM ensures that all people involved in the software process know what is being designed, developed, built, tested, and delivered.
Definitions : Different people perceive Software Configuration Management differently. The following are few perceptions of several people about SCM in the form of definitions.
- Software Configuration Management (SCM) is the art of identifying organizing and controlling modifications to the software being built by a programming team. The goal is to maximize productivity by minimizing mistakes.
- Software Configuration Management is the process of defining and implementing a standard configuration, that results into the primary benefits such as easier setup and maintenance, less down time, better integration with enterprise management, and more efficient and reliable backups.
- Software Configuration Management is the process concerned with the development of procedures and standards for managing an evolving software system product.
- Software Configuration Management is the ability to control and manage change in a software project.
Importance of SCM : SCM gives developers a means to coordinate the work of numerous people on a common product whether they work in close proximity or over a wide geographical area. Without a good SCM plan, projects become increasingly difficult to control and can reach the point where the project has to be discontinued because it can not be fixed. There is an impact of software life cycle model on software configuration management
Goals : The following are the major goals of software configuration management :
- Software configuration management activities are planned.
- Selected software work products are identified, controlled and available.
- Change to identified software work products are controlled.
- Affected groups and individuals are informed of the status and content of software baseline.