You are on page 1of 27

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 Source Code
Project Plans
Libraries – Internal and External
Requirements Spec
Test Specifications
-Analysis Models
-Test Plan and Procedures
-Prototypes
-Test Cases
-Use Cases
Installation & User Manual
Design Specs
Executables – All versions
-Data Design/Schema
-Architectural design Standards – Internal and External

-Interface Design Spec Checklists


-Module Design Spec 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
Modification/
changes
Configuration Revised
Item Configuration
Item
SQAM Course, Proficience, IISc 13
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 Team, CCB

Machine, Workspace Infrastructure Setup

Team Training

CI Identification

Configuration Control

Status Accounting

Configuration Audits
SQAM Course, Proficience, IISc 15
The phases of Software Configuration Management Implementation
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
✶ 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 Change/Version Free downloads:
tools: Control tools:
Aegis (Peter Miller)
ClearCase (Rational) PVCS ( Merant)
CVS ( Cyclic)
CCC/Harvest Starteam ( Starbase)
( Platinum) DVS ( Antonio)
Visual Source Safe
Endevor (Computer PRCS ( Josh)
(Microsoft)
Associates) RCS ( Cyclic)
PVCS Dimensions SCCS (Cyclic)
( Merant)

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

You might also like