SlideShare a Scribd company logo
1 of 40
SCM
Introduction
• Change is inevitable when software is built
• Change increases the level of confusion
• Confusion arises when changes are not
–
–
–
–

Analyzed before they are made
Recorded before they are implemented
Reported to those who need to know
Controlled in a manner that will improve
quality and reduce error
SCM - 1
• The art of coordinating software development to
minimize confusion is called configuration
management.
• Configuration management is the art of
identifying, organizing, and controlling
modifications to the software being built by a
programming team
• The goal is to maximize productivity by
minimizing mistakes
SCM - 2
• Software configuration management is an
umbrella activity, which provides a cover
against
–
–
–
–
–

Lack of visibility
Lack of control
Lack of traceability
Lack of monitoring
Uncontrolled change
SCM - 3
• Software configuration management
provides a means for visibility, traceably,
and formally controlling the evolution of
software
Software Configuration
• The items that comprise all information
produced as part of the software process are
collectively called a software configuration
– Computer programs (source and executable)
– Documents that describe the computer
programs
– Data

• Software configuration items will grow
Change - A Constant
• There is nothing permanent except change
– Heraclitus (500 B.C.)

• No matter where you are in the system life
cycle, the system will change, and the
desire to change it will persist throughout
the life cycle
• Software is like a sponge due to its
susceptibility to change
Sources of Change - 1
• 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 computer-based
system
Sources of Change - 2
• Reorganization or business
growth/downsizing causes changes in
project priorities or software engineering
team structure
• Budgetary or scheduling constraints cause a
redefinition of the system or product
Change is Everywhere
• Customers want to modify requirements
• Developers want to modify the technical
approach
• Managers want to modify the project
strategy
Why All This Modification?
• As time passes, all constituencies know
more
– About what they need
– Which approach would be best
– How to get it done and still make money

• Statement of the fact: Most changes are
justified!
How to Manage Change?
• A baseline is a software configuration
management concept that helps us to
control change without seriously impeding
justifiable change
Baseline
• A specification or product that has been
formally reviewed and agreed upon, that
thereafter serves as the basis for further
development, and that can be changed only
through formal change control procedures
– IEEE Std. No. 610.12-1990
SCM Functions
• The four software configuration
management functions are
–
–
–
–

Identification
Control
Auditing
Status accounting/reporting
SCM Function: Identification
• Each software part is physically labeled,
according to SCM plan
SCM Function: Control
• Proposed changes to software parts are
reviewed, then subjected to the agreement
of project participants, and finally
incorporated into the currently approved
software configuration
• Two types of control
– Version control
– Change control
Version Control
• Configuration management allows a user to
specify alternative configurations of the
software system through the selection of
appropriate versions. This is supported by
associating attributes with each software
version, and then allowing a configuration
to be specified [and constructed] by
describing the set of attributes
Change Control - 1
• Change control is vital
• Too much change control and we create
problems. Too little, and we create other
problems
• The art of progress is to preserve order amid
change and to preserve change amid order
– Alfred North Whitehead
Change Control - 2
• For large projects, uncontrolled change
rapidly leads to chaos
• For large projects, change control combines
human procedures and automated tools to
provide a mechanism for the control of
change
The Change Control Process - 1
need for change is recognized
change request from user
developer evaluates
change report is generated
change control authority decides
request is queued for action
change request is denied
user is informed
Change Control Process—2
The Change Control Process - 2
assign people to SCIs
check-out SCIs
make the change
review/audit the change
establish a “baseline” for testing
Change Control Process—3
The Change Control Process - 3
perform SQA and testing activities
check-in the changed SCIs
promote SCI for inclusion in next release
rebuild appropriate version
review/audit the change
include all changes in release
Access and Synchronization
Control - 1
• Confusion leads to errors - some of them
very serious
• Access and synchronization control avoid
confusion. Implement them both
Access and Synchronization
Control - 2
• Access control governs which software
software engineers have the authority to
access and modify a particular
configuration object
• Synchronization control helps to ensure that
parallel changes, performed by two
different people, don’t overwrite one
another
Change Control Issues - 1
• Without proper safeguards, change control
can retard progress and create unnecessary
red tape
• Prior to an SCI becoming a baseline, only
informal change control need be applied
• Once SCI is in a baseline, project level
change control is implemented
Change Control Issues - 2
• When the software product is released to
the customer, formal change control is
instituted
Change Control Issues - 3
• Change control authority/board assesses the
impact of change beyond the SCI in
question
– How will the change affect hardware?
– How will the change affect performance?
– How will the change modify customer’s
perception of the product?
– How will the change affect product quality and
reliability?
SCM Function: Auditing - 1
• How can we ensure that the approved
changes have been implemented?
– Formal technical reviews
• Focus on the technical correctness of the modified
object. The reviewers assess the SCI to determine
consistency with other SCIs, omissions, or potential
side effects

– Auditing
SCM Function: Auditing - 2
• Has the change specified in the ECO been
made? Have any additional modifications
been incorporated?
• Has a formal technical review been
conducted to assess technical correctness?
• Has the software process been followed and
have software engineering standards been
properly applied?
SCM Function: Auditing - 3
• Has the change been “highlighted” in the
SCI? Have the change date and change
author been specified?
• Have SCM procedures for noting the
change, recording it, and reporting it been
followed?
• Have all related related SCIs been properly
updated?
SCM Function: Status
Accounting/Reporting
• The status accounting function provides a
corporate memory of project events that
supports accomplishment of three other
configuration management items
–
–
–
–

What happened?
Who did it?
When did it happen?
What else will be affected?
SCM Functions Infuse Visibility
and Traceability - 1
Function

Visibility

Traceability

Identification

•User/buyer/seller can see what
is being/has been built/is to be
modified
•Management can see what is
embodied in a product
•All project participants can
communicate with a common
frame of reference

•Provides pointers to software
parts in software products for use
in referencing
•Make software parts and their
relationships more visible, thus
facilitating the linking of parts in
different representations of the
same product

Control

•Current and planned
configuration generally known
•Management can see impact of
change
•Management has option of
getting involved with technical
detail of project

•Makes baselines and changes to
them manifest, thus providing the
links in a traceability chain
•Provides the forum for avoiding
unwanted excursions and
maintaining convergence with
requirements
SCM Functions Infuse Visibility
and Traceability - 2
Function
Auditing

Status Accounting/Reporting

Visibility

Traceability

•Inconsistencies and
discrepencies manifest
•State of product known to
management and product
developers
•Potential problems identified
early

•Checks that parts in one
software product are carried
through to the subsequent
software produc
•Checks that parts in a software
product have antecedents in
requirements documentation

•Reports inform as to status
•Actions/decisions made explicit
(eg., through CCB meeting
minutes)
•Database of events is project
history

•Provides history of what
happened and when
•Provides explicit linkages
between change control forms
Real World Considerations - 1
• Management Commitment
– Management commitment to the establishment
of checks and balances is essential to achieving
benefits from SCM

• SCM Staffing
– Initial staffing by a few experienced people
quickly gains the confidence and respect of
other project team members
Real World Considerations - 2
• Establishment of a CCB
– As a starting point in instituting SCM, periodic
CCB meetings provide change control,
visibility, and traceability

• CM During the Acceptance Testing Cycle
– CM integrated within the acceptance testing
cycle maintains a visible and traceable product
ready for delivery to the customer
Real World Considerations - 3
• Justification and Practicality of Auditing
– Although the auditing consumes the greater
part of the SCM budget, it has the potential of
preventing the waste of much greater resources

• Avoiding the Paperwork Nightmare
– The buyer/user and seller should agree on the
paperwork needed to achieve a mutually
desirable level of visibility and traceability
Real World Considerations - 4
• Allocating Resources among CM Activities
– Cost versus benefits must be evaluated for each
individual project in determining the allocation
of limited SCM resources
SCM Standards
•
•
•
•
•
•

MIL-STD-483
DOD-STD-480A
MIL-STD-1521A
ANSI/IEEE Std. No. 828-1983
ANSI/IEEE Std. No. 1042-1987
ANSI/IEEE Std. No. 1028-1988
Conclusion
• Software configuration management is an
umbrella activity that is applied throughout
the software process
• SCM identifies, controls, audits, and reports
modifications that invariably occur while
software is being developed and after it has
been released
• SCM saves a project from total chaos
References
• Software Engineering: A Practitioner’s Approach
by Roger S. Pressman
• A Handbook of Software Quality Assurance
edited by G. Gordon Schulmeyer and James L.
McManus
• Customer-Oriented Software Quality Assurance
by Frank P. Ginac
• Software Quality: Analysis and Guidelines for
Success by Capers Jones

More Related Content

What's hot

Software Configuration Management
Software Configuration ManagementSoftware Configuration Management
Software Configuration ManagementArunnima B S
 
Configuration management
Configuration managementConfiguration management
Configuration managementashamarsha
 
Software configuration management
Software configuration managementSoftware configuration management
Software configuration managementJulia Carolina
 
Software Configuration Management
Software Configuration ManagementSoftware Configuration Management
Software Configuration ManagementJeyanthiR
 
Configuration management
Configuration managementConfiguration management
Configuration managementKobi Vider
 
Software Engineering (Software Configuration Management)
Software Engineering (Software Configuration Management)Software Engineering (Software Configuration Management)
Software Engineering (Software Configuration Management)ShudipPal
 
Process Document - Configuration Management Drilldown
Process Document - Configuration Management DrilldownProcess Document - Configuration Management Drilldown
Process Document - Configuration Management DrilldownLaurie Sheehan, PMP
 
Software Configuration Management
Software Configuration ManagementSoftware Configuration Management
Software Configuration Managementguy_davis
 
Software Configuration Management
Software Configuration ManagementSoftware Configuration Management
Software Configuration Managementelliando dias
 
Lecture 06 Software Configuration Management
Lecture 06 Software Configuration ManagementLecture 06 Software Configuration Management
Lecture 06 Software Configuration ManagementAchmad Solichin
 
Software configuration management
Software configuration managementSoftware configuration management
Software configuration managementShivani Garg
 
Overview&Framework 1-Manage Software and Firmware Files
Overview&Framework 1-Manage Software and Firmware FilesOverview&Framework 1-Manage Software and Firmware Files
Overview&Framework 1-Manage Software and Firmware FilesAd Ghauri
 
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
 
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 Configuration Management (SCM)
Software Configuration Management (SCM)Software Configuration Management (SCM)
Software Configuration Management (SCM)Nishkarsh Gupta
 
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 (SCM)
Software Configuration Management (SCM)Software Configuration Management (SCM)
Software Configuration Management (SCM)Er. Shiva K. Shrestha
 
Configuration Management
Configuration ManagementConfiguration Management
Configuration Managementsslovepk
 

What's hot (20)

Software Configuration Management
Software Configuration ManagementSoftware Configuration Management
Software Configuration Management
 
Configuration management
Configuration managementConfiguration management
Configuration management
 
Software configuration management
Software configuration managementSoftware configuration management
Software configuration management
 
Software Configuration Management
Software Configuration ManagementSoftware Configuration Management
Software Configuration Management
 
Configuration management
Configuration managementConfiguration management
Configuration management
 
Software Engineering (Software Configuration Management)
Software Engineering (Software Configuration Management)Software Engineering (Software Configuration Management)
Software Engineering (Software Configuration Management)
 
Process Document - Configuration Management Drilldown
Process Document - Configuration Management DrilldownProcess Document - Configuration Management Drilldown
Process Document - Configuration Management Drilldown
 
Software Configuration Management
Software Configuration ManagementSoftware Configuration Management
Software Configuration Management
 
Software Configuration Management
Software Configuration ManagementSoftware Configuration Management
Software Configuration Management
 
Lecture 06 Software Configuration Management
Lecture 06 Software Configuration ManagementLecture 06 Software Configuration Management
Lecture 06 Software Configuration Management
 
Qa
QaQa
Qa
 
Software configuration management
Software configuration managementSoftware configuration management
Software configuration management
 
Overview&Framework 1-Manage Software and Firmware Files
Overview&Framework 1-Manage Software and Firmware FilesOverview&Framework 1-Manage Software and Firmware Files
Overview&Framework 1-Manage Software and Firmware Files
 
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
 
Change Management
Change ManagementChange Management
Change 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 Configuration Management (SCM)
Software Configuration Management (SCM)Software Configuration Management (SCM)
Software Configuration Management (SCM)
 
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 (SCM)
Software Configuration Management (SCM)Software Configuration Management (SCM)
Software Configuration Management (SCM)
 
Configuration Management
Configuration ManagementConfiguration Management
Configuration Management
 

Similar to Scm

Software Configuration Management
Software Configuration ManagementSoftware Configuration Management
Software Configuration ManagementPratik Tandel
 
Software Configuration Management.pptx
Software Configuration Management.pptxSoftware Configuration Management.pptx
Software Configuration Management.pptxMaSheilaMagboo
 
sfdgdfgfgfdgvsdfdsfedrfewsfdsfsfterfdcm.ppt
sfdgdfgfgfdgvsdfdsfedrfewsfdsfsfterfdcm.pptsfdgdfgfgfdgvsdfdsfedrfewsfdsfsfterfdcm.ppt
sfdgdfgfgfdgvsdfdsfedrfewsfdsfsfterfdcm.pptssuser2d043c
 
Unit 6 Software Configuration Management
Unit 6 Software Configuration ManagementUnit 6 Software Configuration Management
Unit 6 Software Configuration ManagementKanchanPatil34
 
softwareMaintenance.pdf
softwareMaintenance.pdfsoftwareMaintenance.pdf
softwareMaintenance.pdfkumari36
 
Software Configuration Management.pptx
Software Configuration Management.pptxSoftware Configuration Management.pptx
Software Configuration Management.pptxShanmugapriyaSenthil3
 
Requirement change management
Requirement change managementRequirement change management
Requirement change managementAbdul Basit
 
Software Engineering (Software Quality Assurance)
Software Engineering (Software Quality Assurance)Software Engineering (Software Quality Assurance)
Software Engineering (Software Quality Assurance)ShudipPal
 
SOFTWARE ENGINEERING PART 1
SOFTWARE ENGINEERING PART 1SOFTWARE ENGINEERING PART 1
SOFTWARE ENGINEERING PART 1ravi gupta
 
Ch 2 Software Engineering
Ch 2 Software EngineeringCh 2 Software Engineering
Ch 2 Software EngineeringImran Mirza
 
340_18CS35_se_mod1(secab).pdf
340_18CS35_se_mod1(secab).pdf340_18CS35_se_mod1(secab).pdf
340_18CS35_se_mod1(secab).pdfkrishnaraj714229
 
Configuration Management
Configuration ManagementConfiguration Management
Configuration Managementelliando dias
 
C04.01-ManagingChanges.key.pdf
C04.01-ManagingChanges.key.pdfC04.01-ManagingChanges.key.pdf
C04.01-ManagingChanges.key.pdfssuser8babb7
 
Ian Sommerville, Software Engineering, 9th Edition Ch2
Ian Sommerville,  Software Engineering, 9th Edition Ch2Ian Sommerville,  Software Engineering, 9th Edition Ch2
Ian Sommerville, Software Engineering, 9th Edition Ch2Mohammed Romi
 

Similar to Scm (20)

Software Configuration Management
Software Configuration ManagementSoftware Configuration Management
Software Configuration Management
 
Software Configuration Management.pptx
Software Configuration Management.pptxSoftware Configuration Management.pptx
Software Configuration Management.pptx
 
Software Configuration Management
Software Configuration ManagementSoftware Configuration Management
Software Configuration Management
 
sfdgdfgfgfdgvsdfdsfedrfewsfdsfsfterfdcm.ppt
sfdgdfgfgfdgvsdfdsfedrfewsfdsfsfterfdcm.pptsfdgdfgfgfdgvsdfdsfedrfewsfdsfsfterfdcm.ppt
sfdgdfgfgfdgvsdfdsfedrfewsfdsfsfterfdcm.ppt
 
Fa10 mcs-005
Fa10 mcs-005Fa10 mcs-005
Fa10 mcs-005
 
Unit 6 Software Configuration Management
Unit 6 Software Configuration ManagementUnit 6 Software Configuration Management
Unit 6 Software Configuration Management
 
Voyager scm
Voyager scmVoyager scm
Voyager scm
 
Voyager scm
Voyager scmVoyager scm
Voyager scm
 
softwareMaintenance.pdf
softwareMaintenance.pdfsoftwareMaintenance.pdf
softwareMaintenance.pdf
 
Software Configuration Management.pptx
Software Configuration Management.pptxSoftware Configuration Management.pptx
Software Configuration Management.pptx
 
Requirement change management
Requirement change managementRequirement change management
Requirement change management
 
Software Engineering (Software Quality Assurance)
Software Engineering (Software Quality Assurance)Software Engineering (Software Quality Assurance)
Software Engineering (Software Quality Assurance)
 
SOFTWARE ENGINEERING PART 1
SOFTWARE ENGINEERING PART 1SOFTWARE ENGINEERING PART 1
SOFTWARE ENGINEERING PART 1
 
Ch2
Ch2Ch2
Ch2
 
Ch 2 Software Engineering
Ch 2 Software EngineeringCh 2 Software Engineering
Ch 2 Software Engineering
 
SE-Lecture-8.pptx
SE-Lecture-8.pptxSE-Lecture-8.pptx
SE-Lecture-8.pptx
 
340_18CS35_se_mod1(secab).pdf
340_18CS35_se_mod1(secab).pdf340_18CS35_se_mod1(secab).pdf
340_18CS35_se_mod1(secab).pdf
 
Configuration Management
Configuration ManagementConfiguration Management
Configuration Management
 
C04.01-ManagingChanges.key.pdf
C04.01-ManagingChanges.key.pdfC04.01-ManagingChanges.key.pdf
C04.01-ManagingChanges.key.pdf
 
Ian Sommerville, Software Engineering, 9th Edition Ch2
Ian Sommerville,  Software Engineering, 9th Edition Ch2Ian Sommerville,  Software Engineering, 9th Edition Ch2
Ian Sommerville, Software Engineering, 9th Edition Ch2
 

More from Syed Muhammad Hammad

Software Project Management lecture 12
Software Project Management lecture 12Software Project Management lecture 12
Software Project Management lecture 12Syed Muhammad Hammad
 
Software Project Management lecture 10
Software Project Management lecture 10Software Project Management lecture 10
Software Project Management lecture 10Syed Muhammad Hammad
 
Software Project Management lecture 9
Software Project Management lecture 9Software Project Management lecture 9
Software Project Management lecture 9Syed Muhammad Hammad
 
Software Project Management lecture 8
Software Project Management lecture 8Software Project Management lecture 8
Software Project Management lecture 8Syed Muhammad Hammad
 
Software Project Management lecture 7
Software Project Management lecture 7Software Project Management lecture 7
Software Project Management lecture 7Syed Muhammad Hammad
 
Software Project Mangmement (Lecture 5)
Software Project Mangmement (Lecture 5)Software Project Mangmement (Lecture 5)
Software Project Mangmement (Lecture 5)Syed Muhammad Hammad
 
Software Project Management (lecture 4)
Software Project Management (lecture 4)Software Project Management (lecture 4)
Software Project Management (lecture 4)Syed Muhammad Hammad
 
Software Project Management (lecture 3)
Software Project Management (lecture 3)Software Project Management (lecture 3)
Software Project Management (lecture 3)Syed Muhammad Hammad
 
Software Project Management (lecture 2)
Software Project Management (lecture 2)Software Project Management (lecture 2)
Software Project Management (lecture 2)Syed Muhammad Hammad
 
Software Project Management( lecture 1)
Software Project Management( lecture 1)Software Project Management( lecture 1)
Software Project Management( lecture 1)Syed Muhammad Hammad
 
An interdisciplinary course_in_digital_image_processing
An interdisciplinary course_in_digital_image_processingAn interdisciplinary course_in_digital_image_processing
An interdisciplinary course_in_digital_image_processingSyed Muhammad Hammad
 

More from Syed Muhammad Hammad (15)

Software Project Management lecture 12
Software Project Management lecture 12Software Project Management lecture 12
Software Project Management lecture 12
 
Software Project Management lecture 10
Software Project Management lecture 10Software Project Management lecture 10
Software Project Management lecture 10
 
Software Project Management lecture 9
Software Project Management lecture 9Software Project Management lecture 9
Software Project Management lecture 9
 
Software Project Management lecture 8
Software Project Management lecture 8Software Project Management lecture 8
Software Project Management lecture 8
 
Software Project Management lecture 7
Software Project Management lecture 7Software Project Management lecture 7
Software Project Management lecture 7
 
Software Project Mangmement (Lecture 5)
Software Project Mangmement (Lecture 5)Software Project Mangmement (Lecture 5)
Software Project Mangmement (Lecture 5)
 
Software Project Management (lecture 4)
Software Project Management (lecture 4)Software Project Management (lecture 4)
Software Project Management (lecture 4)
 
Software Project Management (lecture 3)
Software Project Management (lecture 3)Software Project Management (lecture 3)
Software Project Management (lecture 3)
 
Software Project Management (lecture 2)
Software Project Management (lecture 2)Software Project Management (lecture 2)
Software Project Management (lecture 2)
 
Software Project Management( lecture 1)
Software Project Management( lecture 1)Software Project Management( lecture 1)
Software Project Management( lecture 1)
 
Java easy learning
Java easy  learningJava easy  learning
Java easy learning
 
An interdisciplinary course_in_digital_image_processing
An interdisciplinary course_in_digital_image_processingAn interdisciplinary course_in_digital_image_processing
An interdisciplinary course_in_digital_image_processing
 
Image Segmentation
 Image Segmentation Image Segmentation
Image Segmentation
 
Image processing tatorial
Image processing tatorialImage processing tatorial
Image processing tatorial
 
Mat-lab image processing tatorial
Mat-lab  image processing tatorialMat-lab  image processing tatorial
Mat-lab image processing tatorial
 

Recently uploaded

On National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan FellowsOn National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan FellowsMebane Rash
 
ICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptxICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptxAreebaZafar22
 
Single or Multiple melodic lines structure
Single or Multiple melodic lines structureSingle or Multiple melodic lines structure
Single or Multiple melodic lines structuredhanjurrannsibayan2
 
Food safety_Challenges food safety laboratories_.pdf
Food safety_Challenges food safety laboratories_.pdfFood safety_Challenges food safety laboratories_.pdf
Food safety_Challenges food safety laboratories_.pdfSherif Taha
 
The basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptxThe basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptxheathfieldcps1
 
HMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptx
HMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptxHMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptx
HMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptxmarlenawright1
 
Google Gemini An AI Revolution in Education.pptx
Google Gemini An AI Revolution in Education.pptxGoogle Gemini An AI Revolution in Education.pptx
Google Gemini An AI Revolution in Education.pptxDr. Sarita Anand
 
Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...
Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...
Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...Pooja Bhuva
 
latest AZ-104 Exam Questions and Answers
latest AZ-104 Exam Questions and Answerslatest AZ-104 Exam Questions and Answers
latest AZ-104 Exam Questions and Answersdalebeck957
 
Fostering Friendships - Enhancing Social Bonds in the Classroom
Fostering Friendships - Enhancing Social Bonds  in the ClassroomFostering Friendships - Enhancing Social Bonds  in the Classroom
Fostering Friendships - Enhancing Social Bonds in the ClassroomPooky Knightsmith
 
Jamworks pilot and AI at Jisc (20/03/2024)
Jamworks pilot and AI at Jisc (20/03/2024)Jamworks pilot and AI at Jisc (20/03/2024)
Jamworks pilot and AI at Jisc (20/03/2024)Jisc
 
Interdisciplinary_Insights_Data_Collection_Methods.pptx
Interdisciplinary_Insights_Data_Collection_Methods.pptxInterdisciplinary_Insights_Data_Collection_Methods.pptx
Interdisciplinary_Insights_Data_Collection_Methods.pptxPooja Bhuva
 
Towards a code of practice for AI in AT.pptx
Towards a code of practice for AI in AT.pptxTowards a code of practice for AI in AT.pptx
Towards a code of practice for AI in AT.pptxJisc
 
OSCM Unit 2_Operations Processes & Systems
OSCM Unit 2_Operations Processes & SystemsOSCM Unit 2_Operations Processes & Systems
OSCM Unit 2_Operations Processes & SystemsSandeep D Chaudhary
 
Exploring_the_Narrative_Style_of_Amitav_Ghoshs_Gun_Island.pptx
Exploring_the_Narrative_Style_of_Amitav_Ghoshs_Gun_Island.pptxExploring_the_Narrative_Style_of_Amitav_Ghoshs_Gun_Island.pptx
Exploring_the_Narrative_Style_of_Amitav_Ghoshs_Gun_Island.pptxPooja Bhuva
 
How to Add New Custom Addons Path in Odoo 17
How to Add New Custom Addons Path in Odoo 17How to Add New Custom Addons Path in Odoo 17
How to Add New Custom Addons Path in Odoo 17Celine George
 
Sociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning ExhibitSociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning Exhibitjbellavia9
 
HMCS Max Bernays Pre-Deployment Brief (May 2024).pptx
HMCS Max Bernays Pre-Deployment Brief (May 2024).pptxHMCS Max Bernays Pre-Deployment Brief (May 2024).pptx
HMCS Max Bernays Pre-Deployment Brief (May 2024).pptxEsquimalt MFRC
 
How to setup Pycharm environment for Odoo 17.pptx
How to setup Pycharm environment for Odoo 17.pptxHow to setup Pycharm environment for Odoo 17.pptx
How to setup Pycharm environment for Odoo 17.pptxCeline George
 

Recently uploaded (20)

On National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan FellowsOn National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan Fellows
 
ICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptxICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptx
 
Single or Multiple melodic lines structure
Single or Multiple melodic lines structureSingle or Multiple melodic lines structure
Single or Multiple melodic lines structure
 
Food safety_Challenges food safety laboratories_.pdf
Food safety_Challenges food safety laboratories_.pdfFood safety_Challenges food safety laboratories_.pdf
Food safety_Challenges food safety laboratories_.pdf
 
The basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptxThe basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptx
 
HMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptx
HMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptxHMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptx
HMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptx
 
Google Gemini An AI Revolution in Education.pptx
Google Gemini An AI Revolution in Education.pptxGoogle Gemini An AI Revolution in Education.pptx
Google Gemini An AI Revolution in Education.pptx
 
Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...
Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...
Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...
 
latest AZ-104 Exam Questions and Answers
latest AZ-104 Exam Questions and Answerslatest AZ-104 Exam Questions and Answers
latest AZ-104 Exam Questions and Answers
 
Fostering Friendships - Enhancing Social Bonds in the Classroom
Fostering Friendships - Enhancing Social Bonds  in the ClassroomFostering Friendships - Enhancing Social Bonds  in the Classroom
Fostering Friendships - Enhancing Social Bonds in the Classroom
 
Jamworks pilot and AI at Jisc (20/03/2024)
Jamworks pilot and AI at Jisc (20/03/2024)Jamworks pilot and AI at Jisc (20/03/2024)
Jamworks pilot and AI at Jisc (20/03/2024)
 
Interdisciplinary_Insights_Data_Collection_Methods.pptx
Interdisciplinary_Insights_Data_Collection_Methods.pptxInterdisciplinary_Insights_Data_Collection_Methods.pptx
Interdisciplinary_Insights_Data_Collection_Methods.pptx
 
Towards a code of practice for AI in AT.pptx
Towards a code of practice for AI in AT.pptxTowards a code of practice for AI in AT.pptx
Towards a code of practice for AI in AT.pptx
 
OSCM Unit 2_Operations Processes & Systems
OSCM Unit 2_Operations Processes & SystemsOSCM Unit 2_Operations Processes & Systems
OSCM Unit 2_Operations Processes & Systems
 
Exploring_the_Narrative_Style_of_Amitav_Ghoshs_Gun_Island.pptx
Exploring_the_Narrative_Style_of_Amitav_Ghoshs_Gun_Island.pptxExploring_the_Narrative_Style_of_Amitav_Ghoshs_Gun_Island.pptx
Exploring_the_Narrative_Style_of_Amitav_Ghoshs_Gun_Island.pptx
 
How to Add New Custom Addons Path in Odoo 17
How to Add New Custom Addons Path in Odoo 17How to Add New Custom Addons Path in Odoo 17
How to Add New Custom Addons Path in Odoo 17
 
Sociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning ExhibitSociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning Exhibit
 
HMCS Max Bernays Pre-Deployment Brief (May 2024).pptx
HMCS Max Bernays Pre-Deployment Brief (May 2024).pptxHMCS Max Bernays Pre-Deployment Brief (May 2024).pptx
HMCS Max Bernays Pre-Deployment Brief (May 2024).pptx
 
How to setup Pycharm environment for Odoo 17.pptx
How to setup Pycharm environment for Odoo 17.pptxHow to setup Pycharm environment for Odoo 17.pptx
How to setup Pycharm environment for Odoo 17.pptx
 
Mehran University Newsletter Vol-X, Issue-I, 2024
Mehran University Newsletter Vol-X, Issue-I, 2024Mehran University Newsletter Vol-X, Issue-I, 2024
Mehran University Newsletter Vol-X, Issue-I, 2024
 

Scm

  • 1. SCM
  • 2. Introduction • Change is inevitable when software is built • Change increases the level of confusion • Confusion arises when changes are not – – – – Analyzed before they are made Recorded before they are implemented Reported to those who need to know Controlled in a manner that will improve quality and reduce error
  • 3. SCM - 1 • The art of coordinating software development to minimize confusion is called configuration management. • Configuration management is the art of identifying, organizing, and controlling modifications to the software being built by a programming team • The goal is to maximize productivity by minimizing mistakes
  • 4. SCM - 2 • Software configuration management is an umbrella activity, which provides a cover against – – – – – Lack of visibility Lack of control Lack of traceability Lack of monitoring Uncontrolled change
  • 5. SCM - 3 • Software configuration management provides a means for visibility, traceably, and formally controlling the evolution of software
  • 6. Software Configuration • The items that comprise all information produced as part of the software process are collectively called a software configuration – Computer programs (source and executable) – Documents that describe the computer programs – Data • Software configuration items will grow
  • 7. Change - A Constant • There is nothing permanent except change – Heraclitus (500 B.C.) • No matter where you are in the system life cycle, the system will change, and the desire to change it will persist throughout the life cycle • Software is like a sponge due to its susceptibility to change
  • 8. Sources of Change - 1 • 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 computer-based system
  • 9. Sources of Change - 2 • Reorganization or business growth/downsizing causes changes in project priorities or software engineering team structure • Budgetary or scheduling constraints cause a redefinition of the system or product
  • 10. Change is Everywhere • Customers want to modify requirements • Developers want to modify the technical approach • Managers want to modify the project strategy
  • 11. Why All This Modification? • As time passes, all constituencies know more – About what they need – Which approach would be best – How to get it done and still make money • Statement of the fact: Most changes are justified!
  • 12. How to Manage Change? • A baseline is a software configuration management concept that helps us to control change without seriously impeding justifiable change
  • 13. Baseline • A specification or product that has been formally reviewed and agreed upon, that thereafter serves as the basis for further development, and that can be changed only through formal change control procedures – IEEE Std. No. 610.12-1990
  • 14. SCM Functions • The four software configuration management functions are – – – – Identification Control Auditing Status accounting/reporting
  • 15. SCM Function: Identification • Each software part is physically labeled, according to SCM plan
  • 16. SCM Function: Control • Proposed changes to software parts are reviewed, then subjected to the agreement of project participants, and finally incorporated into the currently approved software configuration • Two types of control – Version control – Change control
  • 17. Version Control • Configuration management allows a user to specify alternative configurations of the software system through the selection of appropriate versions. This is supported by associating attributes with each software version, and then allowing a configuration to be specified [and constructed] by describing the set of attributes
  • 18. Change Control - 1 • Change control is vital • Too much change control and we create problems. Too little, and we create other problems • The art of progress is to preserve order amid change and to preserve change amid order – Alfred North Whitehead
  • 19. Change Control - 2 • For large projects, uncontrolled change rapidly leads to chaos • For large projects, change control combines human procedures and automated tools to provide a mechanism for the control of change
  • 20. The Change Control Process - 1 need for change is recognized change request from user developer evaluates change report is generated change control authority decides request is queued for action change request is denied user is informed Change Control Process—2
  • 21. The Change Control Process - 2 assign people to SCIs check-out SCIs make the change review/audit the change establish a “baseline” for testing Change Control Process—3
  • 22. The Change Control Process - 3 perform SQA and testing activities check-in the changed SCIs promote SCI for inclusion in next release rebuild appropriate version review/audit the change include all changes in release
  • 23. Access and Synchronization Control - 1 • Confusion leads to errors - some of them very serious • Access and synchronization control avoid confusion. Implement them both
  • 24. Access and Synchronization Control - 2 • Access control governs which software software engineers have the authority to access and modify a particular configuration object • Synchronization control helps to ensure that parallel changes, performed by two different people, don’t overwrite one another
  • 25. Change Control Issues - 1 • Without proper safeguards, change control can retard progress and create unnecessary red tape • Prior to an SCI becoming a baseline, only informal change control need be applied • Once SCI is in a baseline, project level change control is implemented
  • 26. Change Control Issues - 2 • When the software product is released to the customer, formal change control is instituted
  • 27. Change Control Issues - 3 • Change control authority/board assesses the impact of change beyond the SCI in question – How will the change affect hardware? – How will the change affect performance? – How will the change modify customer’s perception of the product? – How will the change affect product quality and reliability?
  • 28. SCM Function: Auditing - 1 • How can we ensure that the approved changes have been implemented? – Formal technical reviews • Focus on the technical correctness of the modified object. The reviewers assess the SCI to determine consistency with other SCIs, omissions, or potential side effects – Auditing
  • 29. SCM Function: Auditing - 2 • Has the change specified in the ECO been made? Have any additional modifications been incorporated? • Has a formal technical review been conducted to assess technical correctness? • Has the software process been followed and have software engineering standards been properly applied?
  • 30. SCM Function: Auditing - 3 • Has the change been “highlighted” in the SCI? Have the change date and change author been specified? • Have SCM procedures for noting the change, recording it, and reporting it been followed? • Have all related related SCIs been properly updated?
  • 31. SCM Function: Status Accounting/Reporting • The status accounting function provides a corporate memory of project events that supports accomplishment of three other configuration management items – – – – What happened? Who did it? When did it happen? What else will be affected?
  • 32. SCM Functions Infuse Visibility and Traceability - 1 Function Visibility Traceability Identification •User/buyer/seller can see what is being/has been built/is to be modified •Management can see what is embodied in a product •All project participants can communicate with a common frame of reference •Provides pointers to software parts in software products for use in referencing •Make software parts and their relationships more visible, thus facilitating the linking of parts in different representations of the same product Control •Current and planned configuration generally known •Management can see impact of change •Management has option of getting involved with technical detail of project •Makes baselines and changes to them manifest, thus providing the links in a traceability chain •Provides the forum for avoiding unwanted excursions and maintaining convergence with requirements
  • 33. SCM Functions Infuse Visibility and Traceability - 2 Function Auditing Status Accounting/Reporting Visibility Traceability •Inconsistencies and discrepencies manifest •State of product known to management and product developers •Potential problems identified early •Checks that parts in one software product are carried through to the subsequent software produc •Checks that parts in a software product have antecedents in requirements documentation •Reports inform as to status •Actions/decisions made explicit (eg., through CCB meeting minutes) •Database of events is project history •Provides history of what happened and when •Provides explicit linkages between change control forms
  • 34. Real World Considerations - 1 • Management Commitment – Management commitment to the establishment of checks and balances is essential to achieving benefits from SCM • SCM Staffing – Initial staffing by a few experienced people quickly gains the confidence and respect of other project team members
  • 35. Real World Considerations - 2 • Establishment of a CCB – As a starting point in instituting SCM, periodic CCB meetings provide change control, visibility, and traceability • CM During the Acceptance Testing Cycle – CM integrated within the acceptance testing cycle maintains a visible and traceable product ready for delivery to the customer
  • 36. Real World Considerations - 3 • Justification and Practicality of Auditing – Although the auditing consumes the greater part of the SCM budget, it has the potential of preventing the waste of much greater resources • Avoiding the Paperwork Nightmare – The buyer/user and seller should agree on the paperwork needed to achieve a mutually desirable level of visibility and traceability
  • 37. Real World Considerations - 4 • Allocating Resources among CM Activities – Cost versus benefits must be evaluated for each individual project in determining the allocation of limited SCM resources
  • 38. SCM Standards • • • • • • MIL-STD-483 DOD-STD-480A MIL-STD-1521A ANSI/IEEE Std. No. 828-1983 ANSI/IEEE Std. No. 1042-1987 ANSI/IEEE Std. No. 1028-1988
  • 39. Conclusion • Software configuration management is an umbrella activity that is applied throughout the software process • SCM identifies, controls, audits, and reports modifications that invariably occur while software is being developed and after it has been released • SCM saves a project from total chaos
  • 40. References • Software Engineering: A Practitioner’s Approach by Roger S. Pressman • A Handbook of Software Quality Assurance edited by G. Gordon Schulmeyer and James L. McManus • Customer-Oriented Software Quality Assurance by Frank P. Ginac • Software Quality: Analysis and Guidelines for Success by Capers Jones