Change Control & SCM
Change Control & SCM
2
Typical change control process
1. One or more users might perceive the need for a change
2. User management decide that the change is valid and worthwhile
and pass it to development management
3. A developer is assigned to assess the practicality and cost of making
the change (Feasibility, impact and cost)
4. Development management report back to user management on the
cost of the change; user management decide whether to go ahead
3
Change control process contd.
4
Changes in scope of a system (Scope Creep)
5
Configuration librarian’s role
the configuration librarian is responsible for Control of changes and
documentation..
His duties would be:
othe identification of all items that are subject to change control;
othe establishment and maintenance of a central repository of the master
copies of all project documentation and software products;
othe setting up and running of a formal set of procedures to deal with
changes;
o the maintenance of records of who has access to which library items and the
status of each library item (e.g. whether under development, under test or
released).
6
Software Configuration Management (SCM)
10
Software Configuration Management
Revision:
oA unique state of a configuration item, identified by a revision number.
oEach update to a work product creates a new revision.
oIt allows tracking of changes within a specific configuration item.
Baseline:
It is a software configuration that has been formally reviewed and agreed upon.
It serves as a basis for further development.
Variant:
•Variants are versions that are intended to coexist to meet different requirements.
•Different variants may be needed to run the software on different operating systems or
different hardware platforms.
Software Configuration Management
13
Configuration management process
5. Accurate Determination of project status normally:
•Project manager-responsible for using configuration management tool.
•With the help of it, PM can easily determine the current state of the project.
•Preventing Unauthorized access to the work products:
•CM helps to implement a controlled change process.
•It therefore becomes possible to prevent unauthorized changes to the work products.
Configuration Management Process:
•Two principal activities:
•Configuration Identification: Deciding which parts of the system should be kept
under configuration management.
•Configuration Control: • Ensure that the changes to a system occur smoothly.
14
Configuration management process
6. Accurate Determination of project status normally:
•Project manager-responsible for using configuration management tool.
•With the help of it, PM can easily determine the current state of the project.
7. Preventing Unauthorized access to the work products:
•CM helps to implement a controlled change process.
•It therefore becomes possible to prevent unauthorized changes to the work products.
Configuration Management Process:
•Two principal activities:
•Configuration Identification: Deciding which parts of the system should be kept
under configuration management.
•Configuration Control: • Ensure that the changes to a system occur smoothly.
15
Configuration management process
Configuration Identification:
PMs classify the work products associated with a software development process in
three main categories.
Controlled work products are those that are put under configuration control. The
TMs must follow some formal procedures to change these.
Pre-controlled work products are not yet under configuration control, but will be.
Uncontrolled work products will not be subject to configuration control.
17
Configuration management process
Modification to a work Product under Configuration Control:
•Developers make a reserve request when there is a need for change.
•A reserve request will be honoured only if authorization has been given by PM to that
TM.
•After successful reserve command execution, a private copy of the work product is
created in their local directory.
•Once they have satisfactorily completed all necessary changes to the work product on
their private copy, the changes need to be restored in Configuration management
repository with the permission of a change control board(CCB).
•CCB ensures the following about each change:
•Change is well motivated.
•Developer has considered and documented the effects of the change.
•The changes integrate well with modifications made by other developers.
•CCB have validated the change.
Configuration management process
Release Management:
•A release management process systematizes the work carried out by the developers to
provide a new release of software.
•Minimal effort on the part of the developer to upload a new release of software.
19