Software CM is a discipline for controlling the evolution of software systems. Classic discussions about CM are given in texts such as  and . A standard definition taken from IEEE standard 729-1983  highlights the following operational aspects of CM:
- Identification: an identification scheme reflects the structure of the product, identifies components and their types, making them unique and accessible in some form.
- Control: controlling the release of a product and changes to it throughout the lifecycle by having controls in place that ensure consistent software via the creation of a baseline product.
- Status Accounting: recording and reporting the status of components and change requests, and gathering vital statistics about components in the product.
- Audit and review: validating the completeness of a product and maintaining consistency among the components by ensuring that the product is a welldefined collection of components.
The definition includes terminology such as configuration item, baseline, release and version. When analyzing CM systems—automated tools that provide CM—it becomes evident that these incorporate functionality of varying degrees to support the above definition. Some CM systems provide functionality that goes beyond the above definition though. This is due (among other reasons) to the recognition of different user roles, disparate operating environments such as heterogeneous platforms, and programming-in-the-large support such as enabling teams of software programmers to work on large projects synergistically. To capture this extra functionality, it is necessary to broaden the definition of CM to include:
- Manufacture: managing the construction and building of the product in an effective and optimal manner.
- Process management: ensuring the carrying out of the organization’s procedures, policies and lifecycle model.
- Team work: controlling the work and interactions between multiple users on a product.
In summary, the capabilities provided by existing CM systems encompass identification, control, status accounting, audit and review, manufacture, process management and team work.
- How software engineers can shift their careers to DevOps? - October 28, 2021
- Top 12 Most Popular In-Demand IT/Software Engineering Certification Courses - October 20, 2021
- What are the roles and responsibilities of a site reliability engineer? - October 7, 2021