SlideShare a Scribd company logo
Configuration Management
Why Is Software Difficult to Build? Lack of control Lack of monitoring Lack of traceability Uncontrolled changes
Conflicts in Team Software Development Simultaneous updates – how to prevent one person from undoing the changes of another Shared and common code – how to notify everyone who needs to know about a change Versions – how to make changes to all affected versions when needed
Software Configuration Management Basics Identification – identifying software configuration items in a baseline Control – controlling the release of a product and changes to it throughout its lifecycle Status Accounting – recording and reporting of the status of components and changes Auditing and Reviewing – Validating the completeness of a product and that SCM procedures are being followed
SCM Definitions Baseline – One or more software configuration items that have been formally reviewed and agreed upon and serve as a basis for further development Software Configuration Item – A collection of software elements treated as a unit for the purposes of SCM Configuration – A collection of all the elements of a baseline and a description of how they fit together
SCM Definitions (cont’d) Configuration Control Board – Group with the responsibility for reviewing and approving changes to baselines Software – All of the code, specifications, plans, descriptions, processes, and documents associated with a software development effort Version – A specific instance of a baseline or configuration item
Examples of Configuration Items Product concept specification Software project plans Software requirements specifications Software design descriptions Source code Database descriptions SCM procedures Software release processes Software test documents User documentation Maintenance documentation
Version Control Allows different projects to use the same source files at the same time Isolates work that is not ready to be shared by the rest of the project Isolates work that should never be shared Allows software engineers to continue development along a branch even when a line of development is frozen
Change Control Proposed changes to baselines must have some level of review The impact of proposed changes must be identified and understood. When appropriate the approval of the CCB, key managers and project members must be obtained Approved changes must be properly implemented After changes are made all affected parties must be notified
Baseline Management What baselines are required to be defined and managed? Typically aligned with major milestones Applies to documents as well as code How is the current software configuration defined? A snapshot of everything the product has produced at some point in time
Baseline Management (cont’d) Who must approve changes to baselines? Usually the Change Control Board (CCB) How and when are baselines created and physically controlled? Through the use of document control systems, code control tools, and procedures to prevent the making of unapproved changes
Baseline Management (cont’d) How are people informed of changes? The CCB disseminates change information How are baselines verified? By reviews, inspections, and the testing of code Are baselines tied to project milestones? Many are, but during coding many may not be
Baseline Management (cont’d) What information is required to process a change to a baseline? A description of the proposed changes Reasons for making the changes List of other items affected by the changes What tools, resources, and training are required to perform baseline change assessment? File comparison tools to identify changes Resources and training depend on size and complexity of project
Baseline Management (cont’d) What metrics should be used to assess changes to a baseline? Complexity Average module size Number of modules changed Number of bugs fixed and verified Code coverage
Baseline Management (cont’d) How are unauthorized changes to source code prevented, detected, and corrected? No way to prevent unauthorized changes Provide software engineers with training A commercial available SCM systems provide adequate protection Unauthorized changes should be caught during assessment procedures
Baseline Management (cont’d) What tools, resources, and training are required to perform baseline management? A fully featured SCM tool On large projects a separate SCM group may be needed SCM training is required for all involved in the process
Workspace Management Software engineers need a consistent and reproducible workspace area (a sandbox) in which they can develop and debug their code They need to be able to share project files while shielding the project from the instability of their evolving code SCM tools should provide such a capability
Baseline Change Assessment Helps to identify recent changes that may be responsible for problems Helps to ensure that only authorized changes are made
Version Management Being able to reliably build and recreate versions of a product as it evolves and after it is released. Being able to retreat to a previous version if necessary Being able to recreate all versions of the product that customers have
Types of Audits In-process audits – verify the consistency of the design as it evolves through the development process Functional audits – verify that functionality and performance are consistent with requirements defined in the SRS Physical audits – verify that the as-built version of software and documentation are internally consistent and ready for delivery Quality system audits – independent assessment of the compliance to the software QA plan
Configuration Status Accounting Requirements Identifying the types of information that project managers need Identifying the degree of control needed by project management Identifying the reports required and the different audiences for each report Identifying the information required to produce each report
SCM Summary Change is inevitable Defined procedures are required to manage change without preventing change Software presents many challenges from a control, management, and tracking perspective Knowing what you have and how you got there is very important Being able to recreate exactly what is delivered to customers is essential

More Related Content

PDF
Best practices in release management
PDF
Automation of Release and Deployment Management - Maveric
PPT
Release Management
PDF
Platform Engineering for the Modern Oracle World
PPT
Sap Upgrade Project Brief
PPTX
Solution Architecture and Solution Acquisition
PPT
Project kick off
ODP
Introduction to Version Control
Best practices in release management
Automation of Release and Deployment Management - Maveric
Release Management
Platform Engineering for the Modern Oracle World
Sap Upgrade Project Brief
Solution Architecture and Solution Acquisition
Project kick off
Introduction to Version Control

What's hot (20)

PDF
Essentials of enterprise architecture tools
PDF
SAP Warehouse Management (SAP WM) or SAP Extended Warehouse Management (SAP E...
PDF
Focused build overview
PDF
Scrum - Product Owner
PDF
SAP ERP IMPLEMENTATION AND Sap migration
PPTX
Azure Boards.pptx
PDF
Migration to sap s4 hana
PPT
Scrum In 15 Minutes
PDF
Webinar On Scaled Agile Framework (SAFe) | iZenBridge
PPTX
Smart erp oracle cloud capabilities presentation short 031618
PDF
“Migration to Suite of HANA”
PDF
Agile Methodology and Scrum Framework
PDF
Agile Process Introduction
PPTX
SCRUM – Agile Methodology
PPT
Concepts of cutover planning and management
PDF
敏捷开发全景视图(流程、方法和最佳实践)
PDF
DevOps Roadshow - continuous delivery and release management
PPT
ASAP Methodology
PDF
SAP S/4 HANA Technical assessment before migration
PDF
Semantic Versioning
Essentials of enterprise architecture tools
SAP Warehouse Management (SAP WM) or SAP Extended Warehouse Management (SAP E...
Focused build overview
Scrum - Product Owner
SAP ERP IMPLEMENTATION AND Sap migration
Azure Boards.pptx
Migration to sap s4 hana
Scrum In 15 Minutes
Webinar On Scaled Agile Framework (SAFe) | iZenBridge
Smart erp oracle cloud capabilities presentation short 031618
“Migration to Suite of HANA”
Agile Methodology and Scrum Framework
Agile Process Introduction
SCRUM – Agile Methodology
Concepts of cutover planning and management
敏捷开发全景视图(流程、方法和最佳实践)
DevOps Roadshow - continuous delivery and release management
ASAP Methodology
SAP S/4 HANA Technical assessment before migration
Semantic Versioning
Ad

Viewers also liked (20)

PPT
Configuration Management
PPT
Software Configuration Management
PPTX
Software Configuration Management
PPTX
Process Improvement for better Software Technical Quality under Global Crisis...
PPTX
Internet of things for the “smart home”
PPTX
Software Configuration Management
PPTX
1.0 about software configuration management trainings
PPTX
CS 584 - Aligning development tools with the way programmers think about code...
PPTX
CS519 - Visual Software Evolution Reconstruction
PPTX
Ch 8 configuration management
PPTX
Software configuration management
PPTX
Ch 7 integrating quality activities in the projectlife cycle
PPT
Configuration Management in Software Engineering - SE29
PPTX
Software Configuration Management (SCM)
PPT
Software configuration management
PPT
A Brief Introduction to Software Configuration Management
PPT
Introduction To Software Configuration Management
PPT
Configuration Management
PPT
Software Configuration Management
PPT
Proxy Servers
Configuration Management
Software Configuration Management
Software Configuration Management
Process Improvement for better Software Technical Quality under Global Crisis...
Internet of things for the “smart home”
Software Configuration Management
1.0 about software configuration management trainings
CS 584 - Aligning development tools with the way programmers think about code...
CS519 - Visual Software Evolution Reconstruction
Ch 8 configuration management
Software configuration management
Ch 7 integrating quality activities in the projectlife cycle
Configuration Management in Software Engineering - SE29
Software Configuration Management (SCM)
Software configuration management
A Brief Introduction to Software Configuration Management
Introduction To Software Configuration Management
Configuration Management
Software Configuration Management
Proxy Servers
Ad

Similar to Configuration Management (20)

PPTX
SE-Lecture-8.pptx
PPT
Requirement configuration management
PPT
Software Configuration Management
PPT
Software configuration management of students
PPT
Software Engineering (Software Configuration Management)
PPT
Configuration Management
PPT
PPT
PDF
Software configuration management in deep
PPTX
SPM PPT.pptx
PPTX
Software Configuration Management.pptx
PDF
Unit 6 Software Configuration Management
PPS
Essentials of scm
PPT
Configuration Management
PPT
Configuration Management
PPT
Fa10 mcs-005
PPTX
Software configuration management
PPT
Ch29
SE-Lecture-8.pptx
Requirement configuration management
Software Configuration Management
Software configuration management of students
Software Engineering (Software Configuration Management)
Configuration Management
Software configuration management in deep
SPM PPT.pptx
Software Configuration Management.pptx
Unit 6 Software Configuration Management
Essentials of scm
Configuration Management
Configuration Management
Fa10 mcs-005
Software configuration management
Ch29

More from elliando dias (20)

PDF
Clojurescript slides
PDF
Why you should be excited about ClojureScript
PDF
Functional Programming with Immutable Data Structures
PPT
Nomenclatura e peças de container
PDF
Geometria Projetiva
PDF
Polyglot and Poly-paradigm Programming for Better Agility
PDF
Javascript Libraries
PDF
How to Make an Eight Bit Computer and Save the World!
PDF
Ragel talk
PDF
A Practical Guide to Connecting Hardware to the Web
PDF
Introdução ao Arduino
PDF
Minicurso arduino
PDF
Incanter Data Sorcery
PDF
PDF
Fab.in.a.box - Fab Academy: Machine Design
PDF
The Digital Revolution: Machines that makes
PDF
Hadoop + Clojure
PDF
Hadoop - Simple. Scalable.
PDF
Hadoop and Hive Development at Facebook
PDF
Multi-core Parallelization in Clojure - a Case Study
Clojurescript slides
Why you should be excited about ClojureScript
Functional Programming with Immutable Data Structures
Nomenclatura e peças de container
Geometria Projetiva
Polyglot and Poly-paradigm Programming for Better Agility
Javascript Libraries
How to Make an Eight Bit Computer and Save the World!
Ragel talk
A Practical Guide to Connecting Hardware to the Web
Introdução ao Arduino
Minicurso arduino
Incanter Data Sorcery
Fab.in.a.box - Fab Academy: Machine Design
The Digital Revolution: Machines that makes
Hadoop + Clojure
Hadoop - Simple. Scalable.
Hadoop and Hive Development at Facebook
Multi-core Parallelization in Clojure - a Case Study

Recently uploaded (20)

PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PDF
Approach and Philosophy of On baking technology
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PDF
Spectral efficient network and resource selection model in 5G networks
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PPTX
MYSQL Presentation for SQL database connectivity
PDF
Empathic Computing: Creating Shared Understanding
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
Electronic commerce courselecture one. Pdf
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PDF
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PDF
Review of recent advances in non-invasive hemoglobin estimation
PDF
NewMind AI Monthly Chronicles - July 2025
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
Approach and Philosophy of On baking technology
Advanced methodologies resolving dimensionality complications for autism neur...
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
Spectral efficient network and resource selection model in 5G networks
Mobile App Security Testing_ A Comprehensive Guide.pdf
Understanding_Digital_Forensics_Presentation.pptx
MYSQL Presentation for SQL database connectivity
Empathic Computing: Creating Shared Understanding
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Per capita expenditure prediction using model stacking based on satellite ima...
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Encapsulation_ Review paper, used for researhc scholars
Electronic commerce courselecture one. Pdf
Digital-Transformation-Roadmap-for-Companies.pptx
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
The Rise and Fall of 3GPP – Time for a Sabbatical?
Review of recent advances in non-invasive hemoglobin estimation
NewMind AI Monthly Chronicles - July 2025

Configuration Management

  • 2. Why Is Software Difficult to Build? Lack of control Lack of monitoring Lack of traceability Uncontrolled changes
  • 3. Conflicts in Team Software Development Simultaneous updates – how to prevent one person from undoing the changes of another Shared and common code – how to notify everyone who needs to know about a change Versions – how to make changes to all affected versions when needed
  • 4. Software Configuration Management Basics Identification – identifying software configuration items in a baseline Control – controlling the release of a product and changes to it throughout its lifecycle Status Accounting – recording and reporting of the status of components and changes Auditing and Reviewing – Validating the completeness of a product and that SCM procedures are being followed
  • 5. SCM Definitions Baseline – One or more software configuration items that have been formally reviewed and agreed upon and serve as a basis for further development Software Configuration Item – A collection of software elements treated as a unit for the purposes of SCM Configuration – A collection of all the elements of a baseline and a description of how they fit together
  • 6. SCM Definitions (cont’d) Configuration Control Board – Group with the responsibility for reviewing and approving changes to baselines Software – All of the code, specifications, plans, descriptions, processes, and documents associated with a software development effort Version – A specific instance of a baseline or configuration item
  • 7. Examples of Configuration Items Product concept specification Software project plans Software requirements specifications Software design descriptions Source code Database descriptions SCM procedures Software release processes Software test documents User documentation Maintenance documentation
  • 8. Version Control Allows different projects to use the same source files at the same time Isolates work that is not ready to be shared by the rest of the project Isolates work that should never be shared Allows software engineers to continue development along a branch even when a line of development is frozen
  • 9. Change Control Proposed changes to baselines must have some level of review The impact of proposed changes must be identified and understood. When appropriate the approval of the CCB, key managers and project members must be obtained Approved changes must be properly implemented After changes are made all affected parties must be notified
  • 10. Baseline Management What baselines are required to be defined and managed? Typically aligned with major milestones Applies to documents as well as code How is the current software configuration defined? A snapshot of everything the product has produced at some point in time
  • 11. Baseline Management (cont’d) Who must approve changes to baselines? Usually the Change Control Board (CCB) How and when are baselines created and physically controlled? Through the use of document control systems, code control tools, and procedures to prevent the making of unapproved changes
  • 12. Baseline Management (cont’d) How are people informed of changes? The CCB disseminates change information How are baselines verified? By reviews, inspections, and the testing of code Are baselines tied to project milestones? Many are, but during coding many may not be
  • 13. Baseline Management (cont’d) What information is required to process a change to a baseline? A description of the proposed changes Reasons for making the changes List of other items affected by the changes What tools, resources, and training are required to perform baseline change assessment? File comparison tools to identify changes Resources and training depend on size and complexity of project
  • 14. Baseline Management (cont’d) What metrics should be used to assess changes to a baseline? Complexity Average module size Number of modules changed Number of bugs fixed and verified Code coverage
  • 15. Baseline Management (cont’d) How are unauthorized changes to source code prevented, detected, and corrected? No way to prevent unauthorized changes Provide software engineers with training A commercial available SCM systems provide adequate protection Unauthorized changes should be caught during assessment procedures
  • 16. Baseline Management (cont’d) What tools, resources, and training are required to perform baseline management? A fully featured SCM tool On large projects a separate SCM group may be needed SCM training is required for all involved in the process
  • 17. Workspace Management Software engineers need a consistent and reproducible workspace area (a sandbox) in which they can develop and debug their code They need to be able to share project files while shielding the project from the instability of their evolving code SCM tools should provide such a capability
  • 18. Baseline Change Assessment Helps to identify recent changes that may be responsible for problems Helps to ensure that only authorized changes are made
  • 19. Version Management Being able to reliably build and recreate versions of a product as it evolves and after it is released. Being able to retreat to a previous version if necessary Being able to recreate all versions of the product that customers have
  • 20. Types of Audits In-process audits – verify the consistency of the design as it evolves through the development process Functional audits – verify that functionality and performance are consistent with requirements defined in the SRS Physical audits – verify that the as-built version of software and documentation are internally consistent and ready for delivery Quality system audits – independent assessment of the compliance to the software QA plan
  • 21. Configuration Status Accounting Requirements Identifying the types of information that project managers need Identifying the degree of control needed by project management Identifying the reports required and the different audiences for each report Identifying the information required to produce each report
  • 22. SCM Summary Change is inevitable Defined procedures are required to manage change without preventing change Software presents many challenges from a control, management, and tracking perspective Knowing what you have and how you got there is very important Being able to recreate exactly what is delivered to customers is essential