Module 4: Software Configuration Management

4.1 SCM Process 4.2 Baselines and Configuration Items 4.3 Version Control 4.4 Change Control 4.5 Configuration Audit and Status Reporting 4.6 Economics of SCM (Process and Tools) 4.7 Case Study
SQAM Course, Proficience, IISc 1

Confusion!!!
      

The system worked yesterday; what has changed? Delivered wrong version of software in the release Release could not be installed because components were missing Release could not be installed because components were misplaced It works at offshore; Why is it not working at onsite? The Team Lead has built the system wrongly. We are not responsible I kept all these files somewhere. I could not find them now.
SQAM Course, Proficience, IISc 2

Why SCM?
 Programs

more complex  New Technologies  Growing Team size  Distributed Environment  Cultural differences  Difficulty in managing change  Communication break downs  Constant Changes during development
SQAM Course, Proficience, IISc 3

Benefits of SCM
 Improved

software development productivity  Lower software maintenance costs  Better quality assurance  Reduction of defects  Faster problem identification and bug fixes  Process dependent development  Assurance that correct system is built and released to the client
SQAM Course, Proficience, IISc 4

SCM-IEEE Definition
A

discipline applying technical and administrative direction and surveillance to identify and document the functional and physical characteristics of a configuration item, and control changes to those characteristics, report change processing and implementation status, and verify compliance with specified requirements
SQAM Course, Proficience, IISc 5

SCM Functions
 SCM

Planning  Configuration Identification  Configuration Control  Status Accounting  Audits and Reviews

SQAM Course, Proficience, IISc

6

Let us come in terms..
Configuration Items: An aggregation of hardware, software or both that is designated for configuration management and treated as a single entity in the configuration management process.(IEEE)

SQAM Course, Proficience, IISc

7

CI – Few examples
System Specifications Project Plans Requirements Spec -Analysis Models -Prototypes -Use Cases Design Specs -Data Design/Schema -Architectural design -Interface Design Spec -Module Design Spec Source Code Libraries – Internal and External Test Specifications -Test Plan and Procedures -Test Cases Installation & User Manual Executables – All versions Standards – Internal and External Checklists Tools
SQAM Course, Proficience, IISc 8

Impact of CI selection
Too many:  Hampered Visibility  Difficult to manage  Increased burden  Increased development time and cost  Potential increase in management effort Too Less:  Loss of Visibility  Difficulty in managing the changes
SQAM Course, Proficience, IISc 9

Naming Conventions
Each CI is uniquely identified  Facilitate the storage, retrieval, tracking, reproduction and distribution of items  Easy identification and tracking Example:  Project X/SOC-GLFM-1.00 (Source Code file, GL module, form type)  Project X /SOC-GLRP-1.02 (Source Code file, GL module, report type)  Project X /PS-GL-2.00 - (Program Specs Document, GL module)  Project X /UTC-GL-1.00 - (Unit Test Cases Document, GL module)

SQAM Course, Proficience, IISc 10

Baseline
A

specification or product that has been formally reviewed and agreed on, which thereafter serves as the basis for further development and which can be changed only through formal change control process (IEEE)  Possible Baseline Points:
     

Contract Functional Specifications Design Code & Unit Test Integration Test System Test
SQAM Course, Proficience, IISc 11

Check-in and Check-out
Check-in: Process of reviewing,approving and moving an item into the controlled environment Check-out: The process of taking a configuration item from the controlled library for modifications.
SQAM Course, Proficience, IISc 12

Change Request, Analysis, Approval, etc

SCM – Controlled Area

Check-out

Check-in

Test, Review, Approve Configuration Item
Modification/ changes

Revised Configuration Item
13

SQAM Course, Proficience, IISc

Versions and Variants
Versions: An initial release or re-release of configuration item. May have additional functionality or different functionality Variants: Functionally equivalent but designed for different environments
SQAM Course, Proficience, IISc 14

System Design Plan Preparation Team Organization Machine, Workspace Infrastructure Setup Team Training CI Identification Configuration Control Status Accounting Configuration Audits The phases of Software Configuration Management Implementation
SQAM Course, Proficience, IISc 15

Team, CCB

Configuration Control
The process of evaluating, coordinating and deciding on the disposition of proposed changes to the configuration items and also includes implementing approved changes to base lined software and associated documentation

SQAM Course, Proficience, IISc

16

Change Control Process
( Change is logged ( Evaluation of request - Impact, Risk, Priority ( Change Control Board - Decision Authority
I I

PM approves the change request TM involvement for effort changes due to a CR

( Draw implementation plan ( “Check-out” CI’s - to dynamic folder of the user ( Make the change, Review the change ( “Check-in” CIs ( Re-Establish baseline
SQAM Course, Proficience, IISc 17

CCB
A

group of people responsible for evaluating and approving or disapproving proposed changes to configuration items and for ensuring implementation of approved changes (IEEE)  Team Composition – Project, SCM, SQA, Client  Strategic decision unit
SQAM Course, Proficience, IISc 18

Configuration Status Accounting
The process used to trace changes to the software. It ensures that status is recorded, monitored and reported on both pending and completed actions affecting software baselines.  Used by management to monitor the project’s progress  Number of change request, approval rate, average time for resolution, etc.  Should be accurate, relevant and timely
SQAM Course, Proficience, IISc 19

Configuration Audits
 To

verify that the product package contains all of the components as planned and performs as promised  Functional Configuration Audit  Physical Configuration Audit  Done at the end of every phase  Done by management representatives, QA, Client  SCM System Audits
SQAM Course, Proficience, IISc 20

SCM Tools - Advantages
 Development

time reduction  Improved productivity  Error reduction  Information integration  Flexibility  Better analysis and planning capabilities  Use of latest technology
SQAM Course, Proficience, IISc 21

Economics of SCM
 Chosen

correctly, implemented judiciously and used efficiently  Attitude of people  Consistent SCM process  Training  Security  Make or Buy?
SQAM Course, Proficience, IISc 22

SCM Plan-Template

SCM Plan Template

SQAM Course, Proficience, IISc

23

SCM Tools
Full Fledged SCM tools: ClearCase (Rational) CCC/Harvest ( Platinum) Endevor (Computer Associates) PVCS Dimensions ( Merant) Change/Version Control tools: PVCS ( Merant) Starteam ( Starbase) Visual Source Safe (Microsoft) Free downloads: Aegis (Peter Miller) CVS ( Cyclic) DVS ( Antonio) PRCS ( Josh) RCS ( Cyclic) SCCS (Cyclic)

SQAM Course, Proficience, IISc

24

SCM Standards
 IEEE

Std-828-1998: IEEE Standard for SCM Plans  ISO 10007: Quality management – Guidelines for configuration management

SQAM Course, Proficience, IISc

25

Case Study

SCM Case Study

SQAM Course, Proficience, IISc

26

References
 Software

Configuration Management, Chapter 9, Software Engineering – A practitioners approach, Roger Pressman, 6th Edition.  A Guide to Software Configuration Management, Alexis Leon

SQAM Course, Proficience, IISc

27

Sign up to vote on this title
UsefulNot useful

Master Your Semester with Scribd & The New York Times

Special offer for students: Only $4.99/month.

Master Your Semester with a Special Offer from Scribd & The New York Times

Cancel anytime.