SlideShare une entreprise Scribd logo
1  sur  27
Mamunur Rashid
104420

A Brief
Introduction to
Software
Configuration
Management
What is Configuration Management
 “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.”
– Babich
 Software configuration management manages
the effect of change through out the software
process.
What is CM not
 Not

just version control

 Not

just for source code management

 Not

only for development phase

 Selecting

and using tools are important,
but design and management of CM
process are more crucial for project
success.
Q&A
 What

is it ?
Answer: Change Management. Auditing and
reporting on the changes made.
 Who does it ?
Answer: Everyone involved in the software
process.
 Why is it important ?
Answer: If you don’t control change, it controls
you. Uncontrolled changes suffers software
quality and delivery is delayed. So, it is an
essential part of quality management.
Q&A
 What

are the steps ?
Answer:
1.Many work products are produced when a
software if made of. Each must be
uniquely identified.
2.Mechanism for change control is
established as changes are made, the
process is audited and reports are made.
 What is the work product ?
Answer: describes the Programs/Coding e.g.
Data, Documentations.
Q&A
 How

do I ensure that I’ve done it right?
Answer: When every work product can be
accounted for, traced and controlled.
When every change can be tracked and
analyzed.
When everyone who needs to know about a
change has been informed-you've done
it right.
SCM Activities:
 Identify

change.
 Control changes.
 Ensure that the changes are being
properly implemented.
 Report changes to others who may have
an interest.
Some Simple CM Scenarios
 Developer

A wants to see latest
version of foo.c and its change history
since last week

B

needs to revert foo-design.doc to its
version two days ago

B

makes a release of the project and
he needs to know what items to
include and which version
Some Simple CM Scenarios (cont.)



A lives in IUT, Gazipur, Bangladesh and B lives
in Boston, US, they want to work on
HelloWorld.java together



In the latest release, a serious bug is found
and manager C wants to track what changes
caused the bug, who made those changes
and when



C wants to get reports about current project
progress to decide if he needs to hire more
programmers and delay the alpha release
SCM Terminology
Configuration

Item (CI)
Version, Variant, and
Revision
Configuration
Baseline
Workspace
Configuration Item (CI)


An approved and accepted deliverable, changes
have to be made through formal procedure



Examples:










Management plan
Requirement
Design specification
Source code and executable code
Test specification, data, and records
Log information
User documentation
Library and supporting software
Bug reports, etc.
Version, Variant, and Revision


Version: a CI at one point in its
development, includes revision
and variant



Revision: a CI linked to
another via revision-of
relationship, and ordered in
time



Variant: functionally equivalent
versions, but designed for
different settings, e.g. hardware
and software



Branch: a sequence of
versions in the time line

1.2

1.2

Win32 on x86

1.3

1.4

1.3.1.1

1.3.1.2

Solaris on
SPARC

1.3

1.4
How Versions are Stored




Full copy of each version
Delta (differences between two versions)
Forward delta
1.1



1.3

1.4

1.3

1.4

Reverse delta
1.1



1.2

Mixed delta

1.2
Configuration


An arrangement of functional CIs according to their
nature, version and other characteristics



Guaranteed to recreate configurations with quality
and functional assurance



Sometimes, configuration needs to record
environment details, e.g. compiler version, library
version, hardware platform, etc.



Simple examples


Ant buildfile, Makefile
Baseline


A collection of item versions that have been formally
reviewed and agreed on, a version of configuration



Marks milestones and serves as basis for further
development



Can only be changed via formal change
management process



Baseline + change sets to create new baselines
Workspace


An isolated environment where a developer can
work (edit, change, compile, test) without interfering
other developers



Examples





Local directory under version control
Private workspace on the server

Common Operations





Import: put resources into version control in repository
Update: get latest version on the default branch
Checkout: get a version into workspace
Checkin: commit changes to the repository
Version Control Models (1/3)


Basic problem of collaborative work

Figure from svn-book
Version Control Models (2/3)


Model 1-Pessimistic: lock-modify-unlock

Problems:


Forget to unlock



Parallel work not
possible



Deadlock

Figure from svn-book
Version Control Models (3/3)
Model 2-Optimistic: copy-modify-merge

Figure from svn-book
SCM Processes
Change

control process
Status accounting
Configuration audit
Release management
CM planning
Change Control Process


Submission of Change Request (CR)



Technical and business evaluation and impact analysis



Approval by Change Control Board (CCB)



Engineering Change Order (ECO) is generated stating

changes to be made

criteria for reviewing the changed CI



CI’s checked out



Changes made and reviewed



CI’s checked in
Status Accounting


Administrative tracking and reporting of CIs in CM
system



Examples






Status of proposed changes
Status of approved changes
Progress of current version, on or behind schedule
Estimate of resources to finish one task
bugs identified by configuration audit
Configuration Audit


Independent review or examination to assess if a
product or process is in compliance with
specification, standards, contractual agreement, or
other criteria



Examples






Verifies that CIs are tested to satisfy functional
requirements
Verifies that baseline contains necessary and correct CI
versions
Ensures that changes made to a baseline comply with the
configuration status reports
Release Management


Creation and availability of a new version of
software to the public



Release format







Source code + build script + instructions
Executables packaged for specific platforms
Other portable formats: Java Web Start, plugins
Patches and updates: automatic, manual

Release content


Source and/or binary, data files, installation scripts,
libraries, user and/or developer documentation, feedback
programs, etc.
Make a CM Plan


Standards




IEEE Std 828 (SCM Plans), ANSI-IEEE Std 1042 (SCM), etc.

CM plan components








What will be managed (list and organize CIs)
Who will be responsible for what activities (roles and tasks)
How to make it happen (design processes for change requests,
task dispatching, monitoring, testing, release, etc.)
What records to keep (logs, notes, configurations, changes, etc.)
What resources and how many (tools, money, manpower, etc.)
What metrics to measure progress and success
CM Tools


Version control




Bug tracking




Bugzilla, Mantis Bugtracker, Rational ClearQuest

Build




RCS, CVS, Subversion, Visual Source Safe, Rational ClearCase

GNU Make and many variants, Ant

Project management


Sourceforge.net, freshmeat.net, GForge, DForge
Reference and Further Reading
Reference





Introduction to Configuration Management, lecture slides for

COMP3100/3500, Ian Barnes, the Australian National University.
Software Configuration Management, Center for Development of
Advanced Computing, Mumbai at Juhu, India.
Concepts in Configuration Management Systems, Susan Dart,
CMU.
Software Configuration Management: A Roadmap, Jacky
Estublier, CNRS, France.

Further Reading


Software Engineering, a Practitioner’s Approach (6th), part 4,
Roger Pressman.






Code Complete (2nd), Steve McConnel.
http://cmcrossroads.com/
Implementing and Integrating PDM and SCM, Ivica Crnkovic et al.
Version Control with Subversion, Ben Collins-Sussman et al.

Contenu connexe

Tendances

Software Development Life Cycle (SDLC )
Software Development Life Cycle (SDLC )Software Development Life Cycle (SDLC )
Software Development Life Cycle (SDLC )eshtiyak
 
Software Configuration Management (SCM)
Software Configuration Management (SCM)Software Configuration Management (SCM)
Software Configuration Management (SCM)Er. Shiva K. Shrestha
 
Software configuration management
Software configuration managementSoftware configuration management
Software configuration managementJulia Carolina
 
Software Configuration Management
Software Configuration ManagementSoftware Configuration Management
Software Configuration ManagementJeyanthiR
 
Software Engineering Layered Technology Software Process Framework
Software Engineering  Layered Technology Software Process FrameworkSoftware Engineering  Layered Technology Software Process Framework
Software Engineering Layered Technology Software Process FrameworkJAINAM KAPADIYA
 
Configuration Management
Configuration ManagementConfiguration Management
Configuration ManagementSaqib Raza
 
Software Project Management - Staffing
Software Project Management - StaffingSoftware Project Management - Staffing
Software Project Management - StaffingTanishqRongta1
 
Software Configuration Management
Software Configuration ManagementSoftware Configuration Management
Software Configuration Managementelliando dias
 
software configuration management
software configuration managementsoftware configuration management
software configuration managementFáber D. Giraldo
 
Software maintenance Unit5
Software maintenance  Unit5Software maintenance  Unit5
Software maintenance Unit5Mohammad Faizan
 
software project management Artifact set(spm)
software project management Artifact set(spm)software project management Artifact set(spm)
software project management Artifact set(spm)REHMAT ULLAH
 
Evolutionary process models se.ppt
Evolutionary process models se.pptEvolutionary process models se.ppt
Evolutionary process models se.pptbhadjaashvini1
 
Capability Maturity Model (CMM) in Software Engineering
Capability Maturity Model (CMM) in Software EngineeringCapability Maturity Model (CMM) in Software Engineering
Capability Maturity Model (CMM) in Software EngineeringFaizanAhmad340414
 
Software process and project metrics
Software process and project metricsSoftware process and project metrics
Software process and project metricsIndu Sharma Bhardwaj
 
Publishing and delivery of mobile application
Publishing and delivery of mobile applicationPublishing and delivery of mobile application
Publishing and delivery of mobile applicationK Senthil Kumar
 

Tendances (20)

Software Development Life Cycle (SDLC )
Software Development Life Cycle (SDLC )Software Development Life Cycle (SDLC )
Software Development Life Cycle (SDLC )
 
Software Configuration Management (SCM)
Software Configuration Management (SCM)Software Configuration Management (SCM)
Software Configuration Management (SCM)
 
Software tools
Software toolsSoftware tools
Software tools
 
Software configuration management
Software configuration managementSoftware configuration management
Software configuration management
 
Software Configuration Management
Software Configuration ManagementSoftware Configuration Management
Software Configuration Management
 
Software Engineering Layered Technology Software Process Framework
Software Engineering  Layered Technology Software Process FrameworkSoftware Engineering  Layered Technology Software Process Framework
Software Engineering Layered Technology Software Process Framework
 
Configuration Management
Configuration ManagementConfiguration Management
Configuration Management
 
Software Project Management - Staffing
Software Project Management - StaffingSoftware Project Management - Staffing
Software Project Management - Staffing
 
Software Configuration Management
Software Configuration ManagementSoftware Configuration Management
Software Configuration Management
 
software configuration management
software configuration managementsoftware configuration management
software configuration management
 
Component based software engineering
Component based software engineeringComponent based software engineering
Component based software engineering
 
Software maintenance Unit5
Software maintenance  Unit5Software maintenance  Unit5
Software maintenance Unit5
 
Taxonomy for bugs
Taxonomy for bugsTaxonomy for bugs
Taxonomy for bugs
 
software project management Artifact set(spm)
software project management Artifact set(spm)software project management Artifact set(spm)
software project management Artifact set(spm)
 
Web Engineering
Web EngineeringWeb Engineering
Web Engineering
 
Evolutionary process models se.ppt
Evolutionary process models se.pptEvolutionary process models se.ppt
Evolutionary process models se.ppt
 
Capability Maturity Model (CMM) in Software Engineering
Capability Maturity Model (CMM) in Software EngineeringCapability Maturity Model (CMM) in Software Engineering
Capability Maturity Model (CMM) in Software Engineering
 
Software process and project metrics
Software process and project metricsSoftware process and project metrics
Software process and project metrics
 
Publishing and delivery of mobile application
Publishing and delivery of mobile applicationPublishing and delivery of mobile application
Publishing and delivery of mobile application
 
P code
P codeP code
P code
 

Similaire à A Brief Introduction to Software 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)Amr E. Mohamed
 
Software Configuration Management
Software Configuration ManagementSoftware Configuration Management
Software Configuration Managementelliando dias
 
Configuration Management
Configuration ManagementConfiguration Management
Configuration Managementelliando dias
 
Configuration Management
Configuration ManagementConfiguration Management
Configuration ManagementRajesh Kumar
 
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
Software Configuration ManagementSoftware Configuration Management
Software Configuration ManagementVirendra Thakur
 
Software Configuration Management introduction
Software Configuration Management introductionSoftware Configuration Management introduction
Software Configuration Management introductionMani Deepak Choudhry
 
Software Configuration Management And CVS
Software Configuration Management And CVSSoftware Configuration Management And CVS
Software Configuration Management And CVSRajesh Kumar
 
Configuration Managment Powerpoint
Configuration Managment PowerpointConfiguration Managment Powerpoint
Configuration Managment PowerpointJeannine Jacobs, MS
 
Configuration Management
Configuration ManagementConfiguration Management
Configuration Managementelliando dias
 
Software configuration management, Web engineering
Software configuration management, Web engineeringSoftware configuration management, Web engineering
Software configuration management, Web engineeringdivyammo
 
Mod5-SCM.ppt
Mod5-SCM.pptMod5-SCM.ppt
Mod5-SCM.pptdivyammo
 
Mod5-SCM.ppt
Mod5-SCM.pptMod5-SCM.ppt
Mod5-SCM.pptdivyammo
 
software configuratiom management role n resposnbilities
software configuratiom management role n resposnbilitiessoftware configuratiom management role n resposnbilities
software configuratiom management role n resposnbilitiesMahesh Panchal
 
Improving Code Quality In Medical Software Through Code Reviews - Vincit Teat...
Improving Code Quality In Medical Software Through Code Reviews - Vincit Teat...Improving Code Quality In Medical Software Through Code Reviews - Vincit Teat...
Improving Code Quality In Medical Software Through Code Reviews - Vincit Teat...VincitOy
 

Similaire à A Brief Introduction to Software Configuration Management (20)

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 Configuration Management
Software Configuration ManagementSoftware Configuration Management
Software Configuration Management
 
Configuration Management
Configuration ManagementConfiguration Management
Configuration Management
 
Configuration Management
Configuration ManagementConfiguration Management
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 Configuration Management
Software Configuration ManagementSoftware Configuration Management
Software Configuration Management
 
lecture14.ppt
lecture14.pptlecture14.ppt
lecture14.ppt
 
Software Configuration Management introduction
Software Configuration Management introductionSoftware Configuration Management introduction
Software Configuration Management introduction
 
Ch 8 configuration management
Ch 8 configuration managementCh 8 configuration management
Ch 8 configuration management
 
Software Configuration Management And CVS
Software Configuration Management And CVSSoftware Configuration Management And CVS
Software Configuration Management And CVS
 
SE-Lecture-8.pptx
SE-Lecture-8.pptxSE-Lecture-8.pptx
SE-Lecture-8.pptx
 
Configuration Managment Powerpoint
Configuration Managment PowerpointConfiguration Managment Powerpoint
Configuration Managment Powerpoint
 
Configuration Management
Configuration ManagementConfiguration Management
Configuration Management
 
Software configuration management, Web engineering
Software configuration management, Web engineeringSoftware configuration management, Web engineering
Software configuration management, Web engineering
 
Mod5-SCM.ppt
Mod5-SCM.pptMod5-SCM.ppt
Mod5-SCM.ppt
 
Mod5-SCM.ppt
Mod5-SCM.pptMod5-SCM.ppt
Mod5-SCM.ppt
 
software configuratiom management role n resposnbilities
software configuratiom management role n resposnbilitiessoftware configuratiom management role n resposnbilities
software configuratiom management role n resposnbilities
 
Voyager scm
Voyager scmVoyager scm
Voyager scm
 
Voyager scm
Voyager scmVoyager scm
Voyager scm
 
Improving Code Quality In Medical Software Through Code Reviews - Vincit Teat...
Improving Code Quality In Medical Software Through Code Reviews - Vincit Teat...Improving Code Quality In Medical Software Through Code Reviews - Vincit Teat...
Improving Code Quality In Medical Software Through Code Reviews - Vincit Teat...
 

Dernier

CARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptxCARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptxGaneshChakor2
 
1029-Danh muc Sach Giao Khoa khoi 6.pdf
1029-Danh muc Sach Giao Khoa khoi  6.pdf1029-Danh muc Sach Giao Khoa khoi  6.pdf
1029-Danh muc Sach Giao Khoa khoi 6.pdfQucHHunhnh
 
Z Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot GraphZ Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot GraphThiyagu K
 
Sports & Fitness Value Added Course FY..
Sports & Fitness Value Added Course FY..Sports & Fitness Value Added Course FY..
Sports & Fitness Value Added Course FY..Disha Kariya
 
Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17Celine George
 
Introduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsIntroduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsTechSoup
 
A Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy ReformA Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy ReformChameera Dedduwage
 
Mastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory InspectionMastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory InspectionSafetyChain Software
 
Accessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impactAccessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impactdawncurless
 
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Krashi Coaching
 
Interactive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communicationInteractive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communicationnomboosow
 
Disha NEET Physics Guide for classes 11 and 12.pdf
Disha NEET Physics Guide for classes 11 and 12.pdfDisha NEET Physics Guide for classes 11 and 12.pdf
Disha NEET Physics Guide for classes 11 and 12.pdfchloefrazer622
 
social pharmacy d-pharm 1st year by Pragati K. Mahajan
social pharmacy d-pharm 1st year by Pragati K. Mahajansocial pharmacy d-pharm 1st year by Pragati K. Mahajan
social pharmacy d-pharm 1st year by Pragati K. Mahajanpragatimahajan3
 
9548086042 for call girls in Indira Nagar with room service
9548086042  for call girls in Indira Nagar  with room service9548086042  for call girls in Indira Nagar  with room service
9548086042 for call girls in Indira Nagar with room servicediscovermytutordmt
 
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...fonyou31
 
Russian Call Girls in Andheri Airport Mumbai WhatsApp 9167673311 💞 Full Nigh...
Russian Call Girls in Andheri Airport Mumbai WhatsApp  9167673311 💞 Full Nigh...Russian Call Girls in Andheri Airport Mumbai WhatsApp  9167673311 💞 Full Nigh...
Russian Call Girls in Andheri Airport Mumbai WhatsApp 9167673311 💞 Full Nigh...Pooja Nehwal
 
Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)eniolaolutunde
 
Measures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeMeasures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeThiyagu K
 

Dernier (20)

CARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptxCARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptx
 
1029-Danh muc Sach Giao Khoa khoi 6.pdf
1029-Danh muc Sach Giao Khoa khoi  6.pdf1029-Danh muc Sach Giao Khoa khoi  6.pdf
1029-Danh muc Sach Giao Khoa khoi 6.pdf
 
Z Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot GraphZ Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot Graph
 
Sports & Fitness Value Added Course FY..
Sports & Fitness Value Added Course FY..Sports & Fitness Value Added Course FY..
Sports & Fitness Value Added Course FY..
 
Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"
Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"
Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"
 
Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17
 
Introduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsIntroduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The Basics
 
Advance Mobile Application Development class 07
Advance Mobile Application Development class 07Advance Mobile Application Development class 07
Advance Mobile Application Development class 07
 
A Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy ReformA Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy Reform
 
Mastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory InspectionMastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory Inspection
 
Accessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impactAccessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impact
 
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
 
Interactive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communicationInteractive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communication
 
Disha NEET Physics Guide for classes 11 and 12.pdf
Disha NEET Physics Guide for classes 11 and 12.pdfDisha NEET Physics Guide for classes 11 and 12.pdf
Disha NEET Physics Guide for classes 11 and 12.pdf
 
social pharmacy d-pharm 1st year by Pragati K. Mahajan
social pharmacy d-pharm 1st year by Pragati K. Mahajansocial pharmacy d-pharm 1st year by Pragati K. Mahajan
social pharmacy d-pharm 1st year by Pragati K. Mahajan
 
9548086042 for call girls in Indira Nagar with room service
9548086042  for call girls in Indira Nagar  with room service9548086042  for call girls in Indira Nagar  with room service
9548086042 for call girls in Indira Nagar with room service
 
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
 
Russian Call Girls in Andheri Airport Mumbai WhatsApp 9167673311 💞 Full Nigh...
Russian Call Girls in Andheri Airport Mumbai WhatsApp  9167673311 💞 Full Nigh...Russian Call Girls in Andheri Airport Mumbai WhatsApp  9167673311 💞 Full Nigh...
Russian Call Girls in Andheri Airport Mumbai WhatsApp 9167673311 💞 Full Nigh...
 
Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)
 
Measures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeMeasures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and Mode
 

A Brief Introduction to Software Configuration Management

  • 1. Mamunur Rashid 104420 A Brief Introduction to Software Configuration Management
  • 2. What is Configuration Management  “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.” – Babich  Software configuration management manages the effect of change through out the software process.
  • 3. What is CM not  Not just version control  Not just for source code management  Not only for development phase  Selecting and using tools are important, but design and management of CM process are more crucial for project success.
  • 4. Q&A  What is it ? Answer: Change Management. Auditing and reporting on the changes made.  Who does it ? Answer: Everyone involved in the software process.  Why is it important ? Answer: If you don’t control change, it controls you. Uncontrolled changes suffers software quality and delivery is delayed. So, it is an essential part of quality management.
  • 5. Q&A  What are the steps ? Answer: 1.Many work products are produced when a software if made of. Each must be uniquely identified. 2.Mechanism for change control is established as changes are made, the process is audited and reports are made.  What is the work product ? Answer: describes the Programs/Coding e.g. Data, Documentations.
  • 6. Q&A  How do I ensure that I’ve done it right? Answer: When every work product can be accounted for, traced and controlled. When every change can be tracked and analyzed. When everyone who needs to know about a change has been informed-you've done it right.
  • 7. SCM Activities:  Identify change.  Control changes.  Ensure that the changes are being properly implemented.  Report changes to others who may have an interest.
  • 8. Some Simple CM Scenarios  Developer A wants to see latest version of foo.c and its change history since last week B needs to revert foo-design.doc to its version two days ago B makes a release of the project and he needs to know what items to include and which version
  • 9. Some Simple CM Scenarios (cont.)  A lives in IUT, Gazipur, Bangladesh and B lives in Boston, US, they want to work on HelloWorld.java together  In the latest release, a serious bug is found and manager C wants to track what changes caused the bug, who made those changes and when  C wants to get reports about current project progress to decide if he needs to hire more programmers and delay the alpha release
  • 10. SCM Terminology Configuration Item (CI) Version, Variant, and Revision Configuration Baseline Workspace
  • 11. Configuration Item (CI)  An approved and accepted deliverable, changes have to be made through formal procedure  Examples:          Management plan Requirement Design specification Source code and executable code Test specification, data, and records Log information User documentation Library and supporting software Bug reports, etc.
  • 12. Version, Variant, and Revision  Version: a CI at one point in its development, includes revision and variant  Revision: a CI linked to another via revision-of relationship, and ordered in time  Variant: functionally equivalent versions, but designed for different settings, e.g. hardware and software  Branch: a sequence of versions in the time line 1.2 1.2 Win32 on x86 1.3 1.4 1.3.1.1 1.3.1.2 Solaris on SPARC 1.3 1.4
  • 13. How Versions are Stored    Full copy of each version Delta (differences between two versions) Forward delta 1.1  1.3 1.4 1.3 1.4 Reverse delta 1.1  1.2 Mixed delta 1.2
  • 14. Configuration  An arrangement of functional CIs according to their nature, version and other characteristics  Guaranteed to recreate configurations with quality and functional assurance  Sometimes, configuration needs to record environment details, e.g. compiler version, library version, hardware platform, etc.  Simple examples  Ant buildfile, Makefile
  • 15. Baseline  A collection of item versions that have been formally reviewed and agreed on, a version of configuration  Marks milestones and serves as basis for further development  Can only be changed via formal change management process  Baseline + change sets to create new baselines
  • 16. Workspace  An isolated environment where a developer can work (edit, change, compile, test) without interfering other developers  Examples    Local directory under version control Private workspace on the server Common Operations     Import: put resources into version control in repository Update: get latest version on the default branch Checkout: get a version into workspace Checkin: commit changes to the repository
  • 17. Version Control Models (1/3)  Basic problem of collaborative work Figure from svn-book
  • 18. Version Control Models (2/3)  Model 1-Pessimistic: lock-modify-unlock Problems:  Forget to unlock  Parallel work not possible  Deadlock Figure from svn-book
  • 19. Version Control Models (3/3) Model 2-Optimistic: copy-modify-merge Figure from svn-book
  • 20. SCM Processes Change control process Status accounting Configuration audit Release management CM planning
  • 21. Change Control Process  Submission of Change Request (CR)  Technical and business evaluation and impact analysis  Approval by Change Control Board (CCB)  Engineering Change Order (ECO) is generated stating  changes to be made  criteria for reviewing the changed CI  CI’s checked out  Changes made and reviewed  CI’s checked in
  • 22. Status Accounting  Administrative tracking and reporting of CIs in CM system  Examples      Status of proposed changes Status of approved changes Progress of current version, on or behind schedule Estimate of resources to finish one task bugs identified by configuration audit
  • 23. Configuration Audit  Independent review or examination to assess if a product or process is in compliance with specification, standards, contractual agreement, or other criteria  Examples    Verifies that CIs are tested to satisfy functional requirements Verifies that baseline contains necessary and correct CI versions Ensures that changes made to a baseline comply with the configuration status reports
  • 24. Release Management  Creation and availability of a new version of software to the public  Release format      Source code + build script + instructions Executables packaged for specific platforms Other portable formats: Java Web Start, plugins Patches and updates: automatic, manual Release content  Source and/or binary, data files, installation scripts, libraries, user and/or developer documentation, feedback programs, etc.
  • 25. Make a CM Plan  Standards   IEEE Std 828 (SCM Plans), ANSI-IEEE Std 1042 (SCM), etc. CM plan components       What will be managed (list and organize CIs) Who will be responsible for what activities (roles and tasks) How to make it happen (design processes for change requests, task dispatching, monitoring, testing, release, etc.) What records to keep (logs, notes, configurations, changes, etc.) What resources and how many (tools, money, manpower, etc.) What metrics to measure progress and success
  • 26. CM Tools  Version control   Bug tracking   Bugzilla, Mantis Bugtracker, Rational ClearQuest Build   RCS, CVS, Subversion, Visual Source Safe, Rational ClearCase GNU Make and many variants, Ant Project management  Sourceforge.net, freshmeat.net, GForge, DForge
  • 27. Reference and Further Reading Reference     Introduction to Configuration Management, lecture slides for COMP3100/3500, Ian Barnes, the Australian National University. Software Configuration Management, Center for Development of Advanced Computing, Mumbai at Juhu, India. Concepts in Configuration Management Systems, Susan Dart, CMU. Software Configuration Management: A Roadmap, Jacky Estublier, CNRS, France. Further Reading  Software Engineering, a Practitioner’s Approach (6th), part 4, Roger Pressman.     Code Complete (2nd), Steve McConnel. http://cmcrossroads.com/ Implementing and Integrating PDM and SCM, Ivica Crnkovic et al. Version Control with Subversion, Ben Collins-Sussman et al.