I. General
SCM is the process that has been developed to control and manage.Change is inevitable during the software development lift cycle.Changes to the software come from both external and internal sources. External changes originate from users, from evolution of operational environments, and from improvements intechnology. Internal changes come from improved designs and methods, from incremental development, and from correction of errors. A properly implemented SCM process is the project manager's best friend and potential salvation in coping with change.
II. Concepts and definitions
Software configuration management is the process whose objective is the identification of the configuration of software at discrete points in time and the systematic control of changes to the identified configuration for the purpose of maintaining software integrity and traceability throughout the software life cycle.
In order to accomplish the objective given in the above definition, there are four identified SCM functions: 1) indentification of the components that make up the software system and that define its functional characteristics; 2) conreol of changes to those components; 3) reporting Of Status of the Processing of Change Requests and, for AppROVED Requests, Their Implementation Status; and 4) Authentication That The Controlled Items Meet Their Requirements and Are Ready for Delivery.
The software under control is usually divided into "configuration items." Confiruration item (CI) is the term used for each of the logically related components that make up some discrete element of software. Note that if the system being developed has both hardware and software components, then in a general sense a CI may have both hardware and softaware componets. Called a Computer Software Configuration Item, or CSCI.SCM requires that processes and procedures be put in place to identify the baselines that are to be established and their contents, to control the CSCIs and their individual elements to prevent unauthorized change, and to authenticate that a given configuration contains all of its required components and that it satisfies the functional and performance requirements given in the requirement document. that is, SCM consisits of four basic processes :
Configuration Identification
Configuration Control
Configuration Status Accounting
Configuration Authentication
There are some roles that are key to the SCM process Someone must operate the SCM processl;. That is, must establish detailed procedures, must make sure all requests for changes are processed properly, must provide reports on the status of all CSCIs and proposed changes , and must have control of all of the baselined items. This role is named Configuration Management Officer or CMO. The individual designated the CMO is critical to the CMO is critical to the successful operation of a SCM system.
Actual storage and physical control of the contents of baselines is done by a librarian in a location called a program library. The program library must contain the official copies of all baselined items that make up the various CSCIs. It contains all baselined items, including code and object modules, which are checked out by the librarian for authorized changes to be made, and are checked back in agter change is complete. The program library is operated by thelibrarian and is usually under the control of the CMO. Efficient operation of the library is enhanced if automated tools are available.Decision making authority, which must determine if a proposed change is to be made, is vested in a Configuration Change Board (CCB). A CCB is chaired by a senior manager (often the project manager) who CAN Authorize the expenditure of resources. Other MEMBERS Are Chosen Based on the costs and benefits of a change. usually the ccb rules of operation is reshes the chair unilaterally decides the disposition of the proposed changes after receiving the advice of the other memebers. The CCB process is operated by the CMO, who provides to the CCB the requests for changes and the associated analysis of impact and who records the decisions of the .
III THE SCM Process
A. Overview
Software Configuration Management is Composed of Four Functions:
Configuration Identification Configuration Control Configuration Status Accounting Configuration Authentication
Configuration identification is the process of defining each baseline to be established during the software life cycle and describing the software configuration items and their documentation that make up each baseline. First, the software must be grouped into configuration items. Once the CSCIs and their components have been selected, some way of designating the items must be developed. This is done by the development of a numbering and naming scheme that correlates the code and data items with their assocoated documentation. Finally, the CSCIs must be described by the documentation of their functional , performance, and physcical characteristics.Configuration control is the process of evaluating, coordinating, and deciding on the disposition of proposed changes to the configuration items, and for implementing approved changes to baselined software and associated documentation. The change control process ensures that changes which Have Been Initiated Are Classfiedl and Evaluated, Appro Ved or disapproved, and that those approved isplement, docuteted, and verified.
Configuration status accounting is the process used to trace changes to the software. It ensures that status is recorded, monitored, and reportted on both pending and completed actions affecting software baselines. This process also defines the current as-buit status of the code and assoclated Documentation.