SlideShare a Scribd company logo
1 of 23
Software Project Management
Lecture # 14
Outline
 Software Configuration Management (SCM)
 What is SCM
 What is software configuration
 Sources of Change
 People in typical SCM Scenario
 Baselines
 Configuration objects
 SCM Repository
 SCM Process
 Change Control
 Version Control
 CSR
What is SCM?
 Change management is commonly called software
configuration management (SCM or CM)
 Babich defines Configuration Management as:
 the art of identifying, organizing and controlling
modifications to the software being built by a programming
team.
 SCM activities have been developed to manage
change throughout the life cycle of computer
software
 SCM can be viewed as a quality assurance activity
What is SCM? (Contd.)
 SCM is a set of activities designed to
manage change by:
 Identifying s/w work products that are likely to
change,
 Establishing relationships among them,
 Defining mechanisms for managing different
versions of these work products
 Controlling changes
 And auditing and reporting on the changes
made
Difference between Software
Support and SCM
 Support is a set of s/w engg. activities that
occur after software has been delivered to
the customer and put into operation.
 While SCM is a set of tracking and control
activities that initiate when the s/w engg
project begins & end only when the s/w is
taken out of operation
What is software configuration?
 The items that comprise all information
produced as part of the software process
are collectively called a software
configuration
 This information (also termed as output of
software process) is broadly divided into:
 Computer programs (both source level &
executable forms)
 Work products that describe the computer
programs
 Data (contained within program or external to it)
Sources of Changes
 New business or market conditions
 dictate changes in product requirements or business
rules.
 New customer needs
 demand modification of data produced by information
systems, functionality delivered by products, or services
delivered by a computer-based system.
 Reorganization or business growth/ downsizing
 causes changes in project priorities or software engg
team structure.
 Budgetary or scheduling constraints
 cause a redefinition of the system or product.
People involved in a typical SCM
Scenario
 Project Manager
 In charge of s/w group
 Ensures that product is developed within time frame
 Monitors development, recognizes & reacts to problems
 by generating & analyzing reports about system status
 By performing reviews
 Configuration Manager
 In charge of CM procedures
 Ensures that procedures & policies for creating,
changing & testing of code are followed
 To control changes in code, introduces mechanisms for
official change requests, their evaluation & authoriza-
tion.
People involved in a typical SCM
Scenario
 Software engineers
 Work efficiently without interfering in each other’s code
creation, testing & supporting documentation.
 But at the same time communicate & coordinate
efficiently by
 Updating each other about tasks required & tasks
completed
 Propagating changes across each others work by
merging files
 Customers
 Use the product
 Follows formal procedures of requesting changes and
for indicting bugs in the product
Baselines
 IEEE defines baseline as:
 A specification or product that has been formally reviewed
and agreed upon, that thereafter serves as basis for
further development, and that can be changed only
through formal change control procedures.
 Before a s/w configuration item becomes a
baseline, changes may be made quickly &
informally.
 However, once it becomes a baseline, formal
procedures must be applied to evaluate & verify
every change.
 Refer to figure 27.1 to see steps for forming a
baseline.
S/w engg
tasks
Modified
SCIs
SCIs
SCM Controls
FTRs Approved SCIs
Extracted SCIs
Stored SCIs
PROJECT DB
Baselines:
Baselined SCIs and Project DB (fig. 27.1)
Configuration Objects
 SCIs are organized to form configuration objects.
 A config. object has a name, attributes and is
related to other objects.
 Example:
 Test Specification – Config. Object
 It comprises of SCIs like Test Plan, Test Procedure, Test
Cases
 It is related to config. object SourceCode
 Config. Objects are related to other cong. objects,
the relationship is either compositional (part-of
relationship) or interrelated.
 In related config. objects, if one of them changes,
the other one has to be changed.
SCM Repository
 In early days of s/w engg, software configuration
items were maintained as paper documents (or
punch cards), placed in files and folders.
 The problems of this approach were:
 Finding a configuration item when it was needed was
often difficult
 Determining which items were changed, when and by
whom was often challenging
 Constructing a new version of existing program was error-
prone & time consuming
 Describing complex relationships among configuration
items was virtually impossible
 Today SCIs are maintained in a project database or
repository.
 It acts as the center for accumulation and storage of
SCIs
Role of repository
 SCM Repository is a set of mechanisms & data
structures that allow a software team to manage
change in an effective manner.
 It provides functions of a DBMS but in addition has
the following functions:
 Data integrity
 Info sharing
 Tool integration
 Data integration
 Methodology enforcement
 Document standardization
 See page 778 for details of the above
SCM Process
 SCM process defines a series of tasks
having 4 primary objectives
 To identify all items that collectively define the
s/w configuration.
 To manage changes to one or more of these
items.
 To facilitate construction of different versions of
an application.
 To ensure that s/w quality is maintained as
configuration evolves over time.
Version Control
 Combines procedures and tools to manage the
different versions of configuration objects created
during the software process.
 Version
 A particular version is an instance of a system that
differs in some way from other instances (difference
may be enhanced performance, functionality or
repaired faults).
 A software component with a particular version is a
collection of objects.
 A new version is defined when major changes have
been made to one or more objects
 Variant
 A variant is a collection of objects at the same revision
level and coexists with other variants.
 Variants have minor differences among each other.
Version Control
 Object 1.0 undergoes revision
 Object 1.0 -> Object 1.1
 If minor changes/corrections introduced to
Object 1.1
 Object 1.1.1 & 1.1.2 (variants)
 Functional changes, new modules added to
Object 1.1 can lead to
 Object 1.1 ->Object 1.2
 Major Technical Change
 Object 1.0 ->Object 2.0
Version Control System
 A number of automated tools are available for
version control.
 CVS (Concurrent version System) is an example
which is based on RCS (Revision Control System)
 CVS features
 Establishes a simple repository.
 Maintains all versions of a file in a single named file by
storing only the differences between progressive versions
of the original file.
 Protects against simultaneous changes to a file by
establishing different directions for each developer
Change Control
 A Change request is submitted and evaluated
to assess technical merit and impact on the
other configuration objects and budget
 Change report contains the results of the
evaluation
 Change control authority (CCA) makes the final
decision on the status and priority of the change
based on the change report
 Engineering change order (ECO) is generated
for each change approved (describes change,
lists the constraints, and criteria for review and
audit)
Change Control (Contd.)
 Object to be changed is checked-out of the
project database subject to access control
parameters for the object
 Modified object is subjected to appropriate SQA
and testing procedures
 Modified object is checked-in to the project
database and version control mechanisms are
used to create the next version of the software
 Synchronization control is used to ensure that
parallel changes made by different people don't
overwrite one another
Software Configuration Audit
 To ensure that a change has been properly
implemented, FTRs and software config. audits are
used.
 A Software Config. Audit complements the FTR by
addressing the following questions:
 Has the change specified by the ECO been made without
modifications?
 Has an FTR been conducted to assess technical
correctness?
 Was the software process followed and software engineering
standards applied?
 Do the attributes of the configuration object reflect the
change?
 Have the SCM standards for recording and reporting the
change been followed?
 Were all related SCI's properly updated?
Configuration Status Reporting
 CSR addresses the following questions:
 What happened?
 Who did it?
 When did it happen?
 What else will be affected by the change?
 CSR entries are made when:
 A SCI is assigned new or updated identification
 Change is approved by CCA
 Config. Audit is conducted
 CSR is generated on regular basis.
THE END ….
 …. Of SPM …!

More Related Content

Similar to Software Configuration Management introduction

Configuration Management
Configuration ManagementConfiguration Management
Configuration Managementelliando dias
 
13 configuration management
13  configuration management13  configuration management
13 configuration managementrandhirlpu
 
SE2018_Lec 21_ Software Configuration Management (SCM)
SE2018_Lec 21_ Software Configuration Management (SCM)SE2018_Lec 21_ Software Configuration Management (SCM)
SE2018_Lec 21_ Software Configuration Management (SCM)Amr E. Mohamed
 
Software Project Planning IV
Software Project Planning IVSoftware Project Planning IV
Software Project Planning IVGagan Deep
 
Software configuration management
Software configuration managementSoftware configuration management
Software configuration managementfizamustanser
 
General SCM
General SCM General SCM
General SCM Sretzer
 
Configuration Managment Powerpoint
Configuration Managment PowerpointConfiguration Managment Powerpoint
Configuration Managment PowerpointJeannine Jacobs, MS
 
A Brief Introduction to Software Configuration Management
A Brief Introduction to Software Configuration ManagementA Brief Introduction to Software Configuration Management
A Brief Introduction to Software Configuration ManagementMd Mamunur Rashid
 
Configuration Management
Configuration ManagementConfiguration Management
Configuration Managementelliando dias
 
software configuratiom management role n resposnbilities
software configuratiom management role n resposnbilitiessoftware configuratiom management role n resposnbilities
software configuratiom management role n resposnbilitiesMahesh Panchal
 
Software Configuration Management
Software Configuration ManagementSoftware Configuration Management
Software Configuration ManagementVirendra Thakur
 
SE2_Lec 22_Software Configuration Management
SE2_Lec 22_Software Configuration ManagementSE2_Lec 22_Software Configuration Management
SE2_Lec 22_Software Configuration ManagementAmr E. Mohamed
 
Software Testing and Quality Assurance Assignment 3
Software Testing and Quality Assurance Assignment 3Software Testing and Quality Assurance Assignment 3
Software Testing and Quality Assurance Assignment 3Gurpreet singh
 
Software configuration management
Software configuration managementSoftware configuration management
Software configuration managementShivani Garg
 
term paper for cbd models
term paper for cbd modelsterm paper for cbd models
term paper for cbd modelsSukhdeep Singh
 

Similar to Software Configuration Management introduction (20)

5. scm
5. scm5. scm
5. scm
 
Configuration Management
Configuration ManagementConfiguration Management
Configuration Management
 
13 configuration management
13  configuration management13  configuration management
13 configuration management
 
SE2018_Lec 21_ Software Configuration Management (SCM)
SE2018_Lec 21_ Software Configuration Management (SCM)SE2018_Lec 21_ Software Configuration Management (SCM)
SE2018_Lec 21_ Software Configuration Management (SCM)
 
Software Project Planning IV
Software Project Planning IVSoftware Project Planning IV
Software Project Planning IV
 
Software configuration management
Software configuration managementSoftware configuration management
Software configuration management
 
General SCM
General SCM General SCM
General SCM
 
Configuration Managment Powerpoint
Configuration Managment PowerpointConfiguration Managment Powerpoint
Configuration Managment Powerpoint
 
A Brief Introduction to Software Configuration Management
A Brief Introduction to Software Configuration ManagementA Brief Introduction to Software Configuration Management
A Brief Introduction to Software Configuration Management
 
Configuration Management
Configuration ManagementConfiguration Management
Configuration Management
 
software configuratiom management role n resposnbilities
software configuratiom management role n resposnbilitiessoftware configuratiom management role n resposnbilities
software configuratiom management role n resposnbilities
 
Software Configuration Management
Software Configuration ManagementSoftware Configuration Management
Software Configuration Management
 
SE2_Lec 22_Software Configuration Management
SE2_Lec 22_Software Configuration ManagementSE2_Lec 22_Software Configuration Management
SE2_Lec 22_Software Configuration Management
 
Software process
Software processSoftware process
Software process
 
Software Testing and Quality Assurance Assignment 3
Software Testing and Quality Assurance Assignment 3Software Testing and Quality Assurance Assignment 3
Software Testing and Quality Assurance Assignment 3
 
Software configuration management
Software configuration managementSoftware configuration management
Software configuration management
 
term paper for cbd models
term paper for cbd modelsterm paper for cbd models
term paper for cbd models
 
Ch 8 configuration management
Ch 8 configuration managementCh 8 configuration management
Ch 8 configuration management
 
Ch29
Ch29Ch29
Ch29
 
Ch2-2.pptx
Ch2-2.pptxCh2-2.pptx
Ch2-2.pptx
 

More from Mani Deepak Choudhry

LM9 - OPERATIONS, SCHEDULING, Inter process xommuncation
LM9 - OPERATIONS, SCHEDULING, Inter process xommuncationLM9 - OPERATIONS, SCHEDULING, Inter process xommuncation
LM9 - OPERATIONS, SCHEDULING, Inter process xommuncationMani Deepak Choudhry
 
L13 Plume Rise, types, methods, applications
L13 Plume Rise, types, methods, applicationsL13 Plume Rise, types, methods, applications
L13 Plume Rise, types, methods, applicationsMani Deepak Choudhry
 
L10 Inversions in atmospheric stability, conditions
L10 Inversions in atmospheric stability, conditionsL10 Inversions in atmospheric stability, conditions
L10 Inversions in atmospheric stability, conditionsMani Deepak Choudhry
 
UNIT II - meteorology, occurrence, process
UNIT II - meteorology, occurrence, processUNIT II - meteorology, occurrence, process
UNIT II - meteorology, occurrence, processMani Deepak Choudhry
 
L11 Wind profiles and stack plume patterns.pptx
L11 Wind profiles and stack plume patterns.pptxL11 Wind profiles and stack plume patterns.pptx
L11 Wind profiles and stack plume patterns.pptxMani Deepak Choudhry
 
LM7 - Ambient Air Quality and Emission standards..pptx
LM7 - Ambient Air Quality and Emission standards..pptxLM7 - Ambient Air Quality and Emission standards..pptx
LM7 - Ambient Air Quality and Emission standards..pptxMani Deepak Choudhry
 
LM16 - Gravity Separators, methods, measures
LM16 - Gravity Separators, methods, measuresLM16 - Gravity Separators, methods, measures
LM16 - Gravity Separators, methods, measuresMani Deepak Choudhry
 
LM14,15 - Air Pollution Control, measures
LM14,15 - Air Pollution Control, measuresLM14,15 - Air Pollution Control, measures
LM14,15 - Air Pollution Control, measuresMani Deepak Choudhry
 
LM9 - Fundamentals, Atmospheric stability.pptx
LM9 - Fundamentals, Atmospheric stability.pptxLM9 - Fundamentals, Atmospheric stability.pptx
LM9 - Fundamentals, Atmospheric stability.pptxMani Deepak Choudhry
 
LM8 - Effects of meteorology on Air Pollution.pptx
LM8 - Effects of meteorology on Air Pollution.pptxLM8 - Effects of meteorology on Air Pollution.pptx
LM8 - Effects of meteorology on Air Pollution.pptxMani Deepak Choudhry
 
LM6 - Effect of air Pollutants on Property aesthetic value and visibility.pptx
LM6 - Effect of air Pollutants on Property aesthetic value and visibility.pptxLM6 - Effect of air Pollutants on Property aesthetic value and visibility.pptx
LM6 - Effect of air Pollutants on Property aesthetic value and visibility.pptxMani Deepak Choudhry
 
LM5 - Effect of air Pollutants on Vegetation & animals.pptx
LM5 - Effect of air Pollutants on Vegetation & animals.pptxLM5 - Effect of air Pollutants on Vegetation & animals.pptx
LM5 - Effect of air Pollutants on Vegetation & animals.pptxMani Deepak Choudhry
 
LM4 - Classification of air pollutants and their effect on human health.pptx
LM4 - Classification of air pollutants and their effect on human health.pptxLM4 - Classification of air pollutants and their effect on human health.pptx
LM4 - Classification of air pollutants and their effect on human health.pptxMani Deepak Choudhry
 
LM2 - Definition, Scope & Scales of Air Pollution.pptx
LM2 - Definition, Scope & Scales of Air Pollution.pptxLM2 - Definition, Scope & Scales of Air Pollution.pptx
LM2 - Definition, Scope & Scales of Air Pollution.pptxMani Deepak Choudhry
 
LM1 - Structure & Composition of Atmosphere.pptx
LM1 - Structure & Composition of Atmosphere.pptxLM1 - Structure & Composition of Atmosphere.pptx
LM1 - Structure & Composition of Atmosphere.pptxMani Deepak Choudhry
 
Safety Terminologies, measures, hazards and risks
Safety Terminologies, measures, hazards and risksSafety Terminologies, measures, hazards and risks
Safety Terminologies, measures, hazards and risksMani Deepak Choudhry
 
Meta Safety Data Sheets for hazardous materials
Meta Safety Data Sheets for hazardous materialsMeta Safety Data Sheets for hazardous materials
Meta Safety Data Sheets for hazardous materialsMani Deepak Choudhry
 
Personnel Protective Equipment along with measures
Personnel Protective Equipment along with measuresPersonnel Protective Equipment along with measures
Personnel Protective Equipment along with measuresMani Deepak Choudhry
 
types of testing with descriptions and examples
types of testing with descriptions and examplestypes of testing with descriptions and examples
types of testing with descriptions and examplesMani Deepak Choudhry
 
object oriented testing with types of testing
object oriented testing with types of testingobject oriented testing with types of testing
object oriented testing with types of testingMani Deepak Choudhry
 

More from Mani Deepak Choudhry (20)

LM9 - OPERATIONS, SCHEDULING, Inter process xommuncation
LM9 - OPERATIONS, SCHEDULING, Inter process xommuncationLM9 - OPERATIONS, SCHEDULING, Inter process xommuncation
LM9 - OPERATIONS, SCHEDULING, Inter process xommuncation
 
L13 Plume Rise, types, methods, applications
L13 Plume Rise, types, methods, applicationsL13 Plume Rise, types, methods, applications
L13 Plume Rise, types, methods, applications
 
L10 Inversions in atmospheric stability, conditions
L10 Inversions in atmospheric stability, conditionsL10 Inversions in atmospheric stability, conditions
L10 Inversions in atmospheric stability, conditions
 
UNIT II - meteorology, occurrence, process
UNIT II - meteorology, occurrence, processUNIT II - meteorology, occurrence, process
UNIT II - meteorology, occurrence, process
 
L11 Wind profiles and stack plume patterns.pptx
L11 Wind profiles and stack plume patterns.pptxL11 Wind profiles and stack plume patterns.pptx
L11 Wind profiles and stack plume patterns.pptx
 
LM7 - Ambient Air Quality and Emission standards..pptx
LM7 - Ambient Air Quality and Emission standards..pptxLM7 - Ambient Air Quality and Emission standards..pptx
LM7 - Ambient Air Quality and Emission standards..pptx
 
LM16 - Gravity Separators, methods, measures
LM16 - Gravity Separators, methods, measuresLM16 - Gravity Separators, methods, measures
LM16 - Gravity Separators, methods, measures
 
LM14,15 - Air Pollution Control, measures
LM14,15 - Air Pollution Control, measuresLM14,15 - Air Pollution Control, measures
LM14,15 - Air Pollution Control, measures
 
LM9 - Fundamentals, Atmospheric stability.pptx
LM9 - Fundamentals, Atmospheric stability.pptxLM9 - Fundamentals, Atmospheric stability.pptx
LM9 - Fundamentals, Atmospheric stability.pptx
 
LM8 - Effects of meteorology on Air Pollution.pptx
LM8 - Effects of meteorology on Air Pollution.pptxLM8 - Effects of meteorology on Air Pollution.pptx
LM8 - Effects of meteorology on Air Pollution.pptx
 
LM6 - Effect of air Pollutants on Property aesthetic value and visibility.pptx
LM6 - Effect of air Pollutants on Property aesthetic value and visibility.pptxLM6 - Effect of air Pollutants on Property aesthetic value and visibility.pptx
LM6 - Effect of air Pollutants on Property aesthetic value and visibility.pptx
 
LM5 - Effect of air Pollutants on Vegetation & animals.pptx
LM5 - Effect of air Pollutants on Vegetation & animals.pptxLM5 - Effect of air Pollutants on Vegetation & animals.pptx
LM5 - Effect of air Pollutants on Vegetation & animals.pptx
 
LM4 - Classification of air pollutants and their effect on human health.pptx
LM4 - Classification of air pollutants and their effect on human health.pptxLM4 - Classification of air pollutants and their effect on human health.pptx
LM4 - Classification of air pollutants and their effect on human health.pptx
 
LM2 - Definition, Scope & Scales of Air Pollution.pptx
LM2 - Definition, Scope & Scales of Air Pollution.pptxLM2 - Definition, Scope & Scales of Air Pollution.pptx
LM2 - Definition, Scope & Scales of Air Pollution.pptx
 
LM1 - Structure & Composition of Atmosphere.pptx
LM1 - Structure & Composition of Atmosphere.pptxLM1 - Structure & Composition of Atmosphere.pptx
LM1 - Structure & Composition of Atmosphere.pptx
 
Safety Terminologies, measures, hazards and risks
Safety Terminologies, measures, hazards and risksSafety Terminologies, measures, hazards and risks
Safety Terminologies, measures, hazards and risks
 
Meta Safety Data Sheets for hazardous materials
Meta Safety Data Sheets for hazardous materialsMeta Safety Data Sheets for hazardous materials
Meta Safety Data Sheets for hazardous materials
 
Personnel Protective Equipment along with measures
Personnel Protective Equipment along with measuresPersonnel Protective Equipment along with measures
Personnel Protective Equipment along with measures
 
types of testing with descriptions and examples
types of testing with descriptions and examplestypes of testing with descriptions and examples
types of testing with descriptions and examples
 
object oriented testing with types of testing
object oriented testing with types of testingobject oriented testing with types of testing
object oriented testing with types of testing
 

Recently uploaded

Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...OnePlan Solutions
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software DevelopersVinodh Ram
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackVICTOR MAESTRE RAMIREZ
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEEVICTOR MAESTRE RAMIREZ
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...gurkirankumar98700
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...soniya singh
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureDinusha Kumarasiri
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfAlina Yurenko
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024StefanoLambiase
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...Christina Lin
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantAxelRicardoTrocheRiq
 
The Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfThe Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfPower Karaoke
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...MyIntelliSource, Inc.
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Andreas Granig
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptkotipi9215
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWave PLM
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaHanief Utama
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)OPEN KNOWLEDGE GmbH
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based projectAnoyGreter
 

Recently uploaded (20)

Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...
 
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort ServiceHot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software Developers
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStack
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEE
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with Azure
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service Consultant
 
The Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfThe Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdf
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.ppt
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need It
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief Utama
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based project
 

Software Configuration Management introduction

  • 2. Outline  Software Configuration Management (SCM)  What is SCM  What is software configuration  Sources of Change  People in typical SCM Scenario  Baselines  Configuration objects  SCM Repository  SCM Process  Change Control  Version Control  CSR
  • 3. What is SCM?  Change management is commonly called software configuration management (SCM or CM)  Babich defines Configuration Management as:  the art of identifying, organizing and controlling modifications to the software being built by a programming team.  SCM activities have been developed to manage change throughout the life cycle of computer software  SCM can be viewed as a quality assurance activity
  • 4. What is SCM? (Contd.)  SCM is a set of activities designed to manage change by:  Identifying s/w work products that are likely to change,  Establishing relationships among them,  Defining mechanisms for managing different versions of these work products  Controlling changes  And auditing and reporting on the changes made
  • 5. Difference between Software Support and SCM  Support is a set of s/w engg. activities that occur after software has been delivered to the customer and put into operation.  While SCM is a set of tracking and control activities that initiate when the s/w engg project begins & end only when the s/w is taken out of operation
  • 6. What is software configuration?  The items that comprise all information produced as part of the software process are collectively called a software configuration  This information (also termed as output of software process) is broadly divided into:  Computer programs (both source level & executable forms)  Work products that describe the computer programs  Data (contained within program or external to it)
  • 7. Sources of Changes  New business or market conditions  dictate changes in product requirements or business rules.  New customer needs  demand modification of data produced by information systems, functionality delivered by products, or services delivered by a computer-based system.  Reorganization or business growth/ downsizing  causes changes in project priorities or software engg team structure.  Budgetary or scheduling constraints  cause a redefinition of the system or product.
  • 8. People involved in a typical SCM Scenario  Project Manager  In charge of s/w group  Ensures that product is developed within time frame  Monitors development, recognizes & reacts to problems  by generating & analyzing reports about system status  By performing reviews  Configuration Manager  In charge of CM procedures  Ensures that procedures & policies for creating, changing & testing of code are followed  To control changes in code, introduces mechanisms for official change requests, their evaluation & authoriza- tion.
  • 9. People involved in a typical SCM Scenario  Software engineers  Work efficiently without interfering in each other’s code creation, testing & supporting documentation.  But at the same time communicate & coordinate efficiently by  Updating each other about tasks required & tasks completed  Propagating changes across each others work by merging files  Customers  Use the product  Follows formal procedures of requesting changes and for indicting bugs in the product
  • 10. Baselines  IEEE defines baseline as:  A specification or product that has been formally reviewed and agreed upon, that thereafter serves as basis for further development, and that can be changed only through formal change control procedures.  Before a s/w configuration item becomes a baseline, changes may be made quickly & informally.  However, once it becomes a baseline, formal procedures must be applied to evaluate & verify every change.  Refer to figure 27.1 to see steps for forming a baseline.
  • 11. S/w engg tasks Modified SCIs SCIs SCM Controls FTRs Approved SCIs Extracted SCIs Stored SCIs PROJECT DB Baselines: Baselined SCIs and Project DB (fig. 27.1)
  • 12. Configuration Objects  SCIs are organized to form configuration objects.  A config. object has a name, attributes and is related to other objects.  Example:  Test Specification – Config. Object  It comprises of SCIs like Test Plan, Test Procedure, Test Cases  It is related to config. object SourceCode  Config. Objects are related to other cong. objects, the relationship is either compositional (part-of relationship) or interrelated.  In related config. objects, if one of them changes, the other one has to be changed.
  • 13. SCM Repository  In early days of s/w engg, software configuration items were maintained as paper documents (or punch cards), placed in files and folders.  The problems of this approach were:  Finding a configuration item when it was needed was often difficult  Determining which items were changed, when and by whom was often challenging  Constructing a new version of existing program was error- prone & time consuming  Describing complex relationships among configuration items was virtually impossible  Today SCIs are maintained in a project database or repository.  It acts as the center for accumulation and storage of SCIs
  • 14. Role of repository  SCM Repository is a set of mechanisms & data structures that allow a software team to manage change in an effective manner.  It provides functions of a DBMS but in addition has the following functions:  Data integrity  Info sharing  Tool integration  Data integration  Methodology enforcement  Document standardization  See page 778 for details of the above
  • 15. SCM Process  SCM process defines a series of tasks having 4 primary objectives  To identify all items that collectively define the s/w configuration.  To manage changes to one or more of these items.  To facilitate construction of different versions of an application.  To ensure that s/w quality is maintained as configuration evolves over time.
  • 16. Version Control  Combines procedures and tools to manage the different versions of configuration objects created during the software process.  Version  A particular version is an instance of a system that differs in some way from other instances (difference may be enhanced performance, functionality or repaired faults).  A software component with a particular version is a collection of objects.  A new version is defined when major changes have been made to one or more objects  Variant  A variant is a collection of objects at the same revision level and coexists with other variants.  Variants have minor differences among each other.
  • 17. Version Control  Object 1.0 undergoes revision  Object 1.0 -> Object 1.1  If minor changes/corrections introduced to Object 1.1  Object 1.1.1 & 1.1.2 (variants)  Functional changes, new modules added to Object 1.1 can lead to  Object 1.1 ->Object 1.2  Major Technical Change  Object 1.0 ->Object 2.0
  • 18. Version Control System  A number of automated tools are available for version control.  CVS (Concurrent version System) is an example which is based on RCS (Revision Control System)  CVS features  Establishes a simple repository.  Maintains all versions of a file in a single named file by storing only the differences between progressive versions of the original file.  Protects against simultaneous changes to a file by establishing different directions for each developer
  • 19. Change Control  A Change request is submitted and evaluated to assess technical merit and impact on the other configuration objects and budget  Change report contains the results of the evaluation  Change control authority (CCA) makes the final decision on the status and priority of the change based on the change report  Engineering change order (ECO) is generated for each change approved (describes change, lists the constraints, and criteria for review and audit)
  • 20. Change Control (Contd.)  Object to be changed is checked-out of the project database subject to access control parameters for the object  Modified object is subjected to appropriate SQA and testing procedures  Modified object is checked-in to the project database and version control mechanisms are used to create the next version of the software  Synchronization control is used to ensure that parallel changes made by different people don't overwrite one another
  • 21. Software Configuration Audit  To ensure that a change has been properly implemented, FTRs and software config. audits are used.  A Software Config. Audit complements the FTR by addressing the following questions:  Has the change specified by the ECO been made without modifications?  Has an FTR been conducted to assess technical correctness?  Was the software process followed and software engineering standards applied?  Do the attributes of the configuration object reflect the change?  Have the SCM standards for recording and reporting the change been followed?  Were all related SCI's properly updated?
  • 22. Configuration Status Reporting  CSR addresses the following questions:  What happened?  Who did it?  When did it happen?  What else will be affected by the change?  CSR entries are made when:  A SCI is assigned new or updated identification  Change is approved by CCA  Config. Audit is conducted  CSR is generated on regular basis.
  • 23. THE END ….  …. Of SPM …!