SlideShare ist ein Scribd-Unternehmen logo
1 von 22
ConfigurationConfiguration
ManagementManagement
Why Is Software DifficultWhy Is Software Difficult
to Build?to Build?
 Lack of controlLack of control
 Lack of monitoringLack of monitoring
 Lack of traceabilityLack of traceability
 Uncontrolled changesUncontrolled changes
Conflicts in TeamConflicts in Team
Software DevelopmentSoftware Development
 Simultaneous updates – howSimultaneous updates – how
to prevent one person fromto prevent one person from
undoing the changes ofundoing the changes of
anotheranother
 Shared and common code –Shared and common code –
how to notify everyone whohow to notify everyone who
needs to know about a changeneeds to know about a change
 Versions – how to makeVersions – how to make
changes to all affectedchanges to all affected
Software ConfigurationSoftware Configuration
Management BasicsManagement Basics
 Identification – identifying softwareIdentification – identifying software
configuration items in a baselineconfiguration items in a baseline
 Control – controlling the release of a productControl – controlling the release of a product
and changes to it throughout its lifecycleand changes to it throughout its lifecycle
 Status Accounting – recording and reportingStatus Accounting – recording and reporting
of the status of components and changesof the status of components and changes
 Auditing and Reviewing – Validating theAuditing and Reviewing – Validating the
completeness of a product and that SCMcompleteness of a product and that SCM
procedures are being followedprocedures are being followed
SCM DefinitionsSCM Definitions
 Baseline – One or more softwareBaseline – One or more software
configuration items that have beenconfiguration items that have been
formally reviewed and agreed upon andformally reviewed and agreed upon and
serve as a basis for further developmentserve as a basis for further development
 Software Configuration Item – A collectionSoftware Configuration Item – A collection
of software elements treated as a unit forof software elements treated as a unit for
the purposes of SCMthe purposes of SCM
 Configuration – A collection of all theConfiguration – A collection of all the
elements of a baseline and a descriptionelements of a baseline and a description
of how they fit togetherof how they fit together
SCM Definitions (cont’d)SCM Definitions (cont’d)
 Configuration Control Board – GroupConfiguration Control Board – Group
with the responsibility for reviewing andwith the responsibility for reviewing and
approving changes to baselinesapproving changes to baselines
 Software – All of the code,Software – All of the code,
specifications, plans, descriptions,specifications, plans, descriptions,
processes, and documents associatedprocesses, and documents associated
with a software development effortwith a software development effort
 Version – A specific instance of aVersion – A specific instance of a
baseline or configuration itembaseline or configuration item
Examples ofExamples of
Configuration ItemsConfiguration Items
 Product concept specificationProduct concept specification
 Software project plansSoftware project plans
 Software requirements specificationsSoftware requirements specifications
 Software design descriptionsSoftware design descriptions
 Source codeSource code
 Database descriptionsDatabase descriptions
 SCM proceduresSCM procedures
 Software release processesSoftware release processes
 Software test documentsSoftware test documents
 User documentationUser documentation
 Maintenance documentationMaintenance documentation
Version ControlVersion Control
 Allows different projects to use theAllows different projects to use the
same source files at the same timesame source files at the same time
 Isolates work that is not ready to beIsolates work that is not ready to be
shared by the rest of the projectshared by the rest of the project
 Isolates work that should never beIsolates work that should never be
sharedshared
 Allows software engineers to continueAllows software engineers to continue
development along a branch evendevelopment along a branch even
when a line of development is frozenwhen a line of development is frozen
Change ControlChange Control
 Proposed changes to baselines must haveProposed changes to baselines must have
some level of reviewsome level of review
 The impact of proposed changes must beThe impact of proposed changes must be
identified and understood.identified and understood.
 When appropriate the approval of the CCB,When appropriate the approval of the CCB,
key managers and project members mustkey managers and project members must
be obtainedbe obtained
 Approved changes must be properlyApproved changes must be properly
implementedimplemented
 After changes are made all affected partiesAfter changes are made all affected parties
must be notifiedmust be notified
Baseline ManagementBaseline Management
 What baselines are required to beWhat baselines are required to be
defined and managed?defined and managed?
– Typically aligned with major milestonesTypically aligned with major milestones
– Applies to documents as well as codeApplies to documents as well as code
 How is the current softwareHow is the current software
configuration defined?configuration defined?
– A snapshot of everything the product hasA snapshot of everything the product has
produced at some point in timeproduced at some point in time
Baseline ManagementBaseline Management
(cont’d)(cont’d)
 Who must approve changes toWho must approve changes to
baselines?baselines?
– Usually the Change Control Board (CCB)Usually the Change Control Board (CCB)
 How and when are baselines createdHow and when are baselines created
and physically controlled?and physically controlled?
– Through the use of document controlThrough the use of document control
systems, code control tools, andsystems, code control tools, and
procedures to prevent the making ofprocedures to prevent the making of
unapproved changesunapproved changes
Baseline ManagementBaseline Management
(cont’d)(cont’d)
 How are people informed of changes?How are people informed of changes?
– The CCB disseminates changeThe CCB disseminates change
informationinformation
 How are baselines verified?How are baselines verified?
– By reviews, inspections, and the testingBy reviews, inspections, and the testing
of codeof code
 Are baselines tied to projectAre baselines tied to project
milestones?milestones?
– Many are, but during coding many mayMany are, but during coding many may
Baseline ManagementBaseline Management
(cont’d)(cont’d)
 What information is required to process aWhat information is required to process a
change to a baseline?change to a baseline?
– A description of the proposed changesA description of the proposed changes
– Reasons for making the changesReasons for making the changes
– List of other items affected by the changesList of other items affected by the changes
 What tools, resources, and training areWhat tools, resources, and training are
required to perform baseline changerequired to perform baseline change
assessment?assessment?
– File comparison tools to identify changesFile comparison tools to identify changes
– Resources and training depend on size andResources and training depend on size and
complexity of projectcomplexity of project
Baseline ManagementBaseline Management
(cont’d)(cont’d)
 What metrics should be used toWhat metrics should be used to
assess changes to a baseline?assess changes to a baseline?
– ComplexityComplexity
– Average module sizeAverage module size
– Number of modules changedNumber of modules changed
– Number of bugs fixed and verifiedNumber of bugs fixed and verified
– Code coverageCode coverage
Baseline ManagementBaseline Management
(cont’d)(cont’d)
 How are unauthorized changes toHow are unauthorized changes to
source code prevented, detected, andsource code prevented, detected, and
corrected?corrected?
– No way to prevent unauthorized changesNo way to prevent unauthorized changes
– Provide software engineers with trainingProvide software engineers with training
– A commercial available SCM systemsA commercial available SCM systems
provide adequate protectionprovide adequate protection
– Unauthorized changes should be caughtUnauthorized changes should be caught
during assessment proceduresduring assessment procedures
Baseline ManagementBaseline Management
(cont’d)(cont’d)
 What tools, resources, and training areWhat tools, resources, and training are
required to perform baselinerequired to perform baseline
management?management?
– A fully featured SCM toolA fully featured SCM tool
– On large projects a separate SCM groupOn large projects a separate SCM group
may be neededmay be needed
– SCM training is required for all involved inSCM training is required for all involved in
the processthe process
Workspace ManagementWorkspace Management
 Software engineers need a consistentSoftware engineers need a consistent
and reproducible workspace area (aand reproducible workspace area (a
sandbox) in which they can develop andsandbox) in which they can develop and
debug their codedebug their code
 They need to be able to share projectThey need to be able to share project
files while shielding the project from thefiles while shielding the project from the
instability of their evolving codeinstability of their evolving code
 SCM tools should provide such aSCM tools should provide such a
capabilitycapability
Baseline ChangeBaseline Change
AssessmentAssessment
 Helps to identify recent changes thatHelps to identify recent changes that
may be responsible for problemsmay be responsible for problems
 Helps to ensure that only authorizedHelps to ensure that only authorized
changes are madechanges are made
Version ManagementVersion Management
 Being able to reliably build andBeing able to reliably build and
recreate versions of a product as itrecreate versions of a product as it
evolves and after it is released.evolves and after it is released.
 Being able to retreat to a previousBeing able to retreat to a previous
version if necessaryversion if necessary
 Being able to recreate all versions ofBeing able to recreate all versions of
the product that customers havethe product that customers have
Types of AuditsTypes of Audits
 In-process audits – verify the consistency ofIn-process audits – verify the consistency of
the design as it evolves through thethe design as it evolves through the
development processdevelopment process
 Functional audits – verify that functionalityFunctional audits – verify that functionality
and performance are consistent withand performance are consistent with
requirements defined in the SRSrequirements defined in the SRS
 Physical audits – verify that the as-builtPhysical audits – verify that the as-built
version of software and documentation areversion of software and documentation are
internally consistent and ready for deliveryinternally consistent and ready for delivery
 Quality system audits – independentQuality system audits – independent
assessment of the compliance to theassessment of the compliance to the
software QA plansoftware QA plan
Configuration StatusConfiguration Status
AccountingAccounting
RequirementsRequirements
 Identifying the types of information thatIdentifying the types of information that
project managers needproject managers need
 Identifying the degree of controlIdentifying the degree of control
needed by project managementneeded by project management
 Identifying the reports required and theIdentifying the reports required and the
different audiences for each reportdifferent audiences for each report
 Identifying the information required toIdentifying the information required to
produce each reportproduce each report
SCM SummarySCM Summary
 Change is inevitableChange is inevitable
 Defined procedures are required to manageDefined procedures are required to manage
change without preventing changechange without preventing change
 Software presents many challenges from aSoftware presents many challenges from a
control, management, and trackingcontrol, management, and tracking
perspectiveperspective
 Knowing what you have and how you gotKnowing what you have and how you got
there is very importantthere is very important
 Being able to recreate exactly what isBeing able to recreate exactly what is
delivered to customers is essentialdelivered to customers is essential

Weitere ähnliche Inhalte

Was ist angesagt?

Ch21-Software Engineering 9
Ch21-Software Engineering 9Ch21-Software Engineering 9
Ch21-Software Engineering 9
Ian Sommerville
 
Configuration Management
Configuration ManagementConfiguration Management
Configuration Management
sslovepk
 
Software Configuration Management (SCM)
Software Configuration Management (SCM)Software Configuration Management (SCM)
Software Configuration Management (SCM)
Nishkarsh Gupta
 
Software Configuration Management
Software Configuration ManagementSoftware Configuration Management
Software Configuration Management
Chandan Chaurasia
 
Configuration Management
Configuration ManagementConfiguration Management
Configuration Management
elliando dias
 

Was ist angesagt? (19)

Se solns 9th edition
Se solns 9th editionSe solns 9th edition
Se solns 9th edition
 
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
 
Ch21-Software Engineering 9
Ch21-Software Engineering 9Ch21-Software Engineering 9
Ch21-Software Engineering 9
 
Software re engineering
Software re engineeringSoftware re engineering
Software re engineering
 
Configuration Management
Configuration ManagementConfiguration Management
Configuration Management
 
Software configuration management in deep
Software configuration management in deepSoftware configuration management in deep
Software configuration management in deep
 
Software Configuration Management (SCM)
Software Configuration Management (SCM)Software Configuration Management (SCM)
Software Configuration Management (SCM)
 
5. scm
5. scm5. scm
5. scm
 
Software Configuration Management (SCM)
Software Configuration Management (SCM)Software Configuration Management (SCM)
Software Configuration Management (SCM)
 
Software Configuration Management
Software Configuration ManagementSoftware Configuration Management
Software Configuration Management
 
SCM PPT
SCM PPTSCM PPT
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
 
Software Configuration Management And CVS
Software Configuration Management And CVSSoftware Configuration Management And CVS
Software Configuration Management And CVS
 
Introduction To Software Configuration Management
Introduction To Software Configuration ManagementIntroduction To Software Configuration Management
Introduction To Software Configuration Management
 
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
 

Ähnlich wie Requirement configuration management

Configuration Management
Configuration ManagementConfiguration Management
Configuration Management
elliando dias
 
Configuration Managment Powerpoint
Configuration Managment PowerpointConfiguration Managment Powerpoint
Configuration Managment Powerpoint
Jeannine Jacobs, MS
 
Configuration Management Report
Configuration Management ReportConfiguration Management Report
Configuration Management Report
Shravan Bhagirath
 
General SCM
General SCM General SCM
General SCM
Sretzer
 
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
Ad Ghauri
 

Ähnlich wie Requirement configuration management (20)

SE-Lecture-8.pptx
SE-Lecture-8.pptxSE-Lecture-8.pptx
SE-Lecture-8.pptx
 
Seii unit4 software_process
Seii unit4 software_processSeii unit4 software_process
Seii unit4 software_process
 
Configuration Management
Configuration ManagementConfiguration Management
Configuration Management
 
Change Management
Change ManagementChange Management
Change Management
 
Configuration Managment Powerpoint
Configuration Managment PowerpointConfiguration Managment Powerpoint
Configuration Managment Powerpoint
 
Sofware engineering
Sofware engineeringSofware engineering
Sofware engineering
 
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
 
Configuration Management Report
Configuration Management ReportConfiguration Management Report
Configuration Management Report
 
Understanding change impact across the electronics software, hardware, and fi...
Understanding change impact across the electronics software, hardware, and fi...Understanding change impact across the electronics software, hardware, and fi...
Understanding change impact across the electronics software, hardware, and fi...
 
Voyager scm
Voyager scmVoyager scm
Voyager scm
 
Voyager scm
Voyager scmVoyager scm
Voyager scm
 
Ch 8 configuration management
Ch 8 configuration managementCh 8 configuration management
Ch 8 configuration management
 
Software Engineering (Software Configuration Management)
Software Engineering (Software Configuration Management)Software Engineering (Software Configuration Management)
Software Engineering (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)
 
General SCM
General SCM General SCM
General SCM
 
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
 
softwareMaintenance.pdf
softwareMaintenance.pdfsoftwareMaintenance.pdf
softwareMaintenance.pdf
 
Scm PPT
Scm PPTScm PPT
Scm PPT
 

Mehr von Abdul Basit

Git Developer Cheatsheet
Git Developer CheatsheetGit Developer Cheatsheet
Git Developer Cheatsheet
Abdul Basit
 
Static white box testing lecture 12
Static white box testing lecture 12Static white box testing lecture 12
Static white box testing lecture 12
Abdul Basit
 
Software testing lecture 10
Software testing lecture 10Software testing lecture 10
Software testing lecture 10
Abdul Basit
 
Software testing lecture 9
Software testing lecture 9Software testing lecture 9
Software testing lecture 9
Abdul Basit
 
Software quality assurance lecture 1
Software quality assurance lecture 1Software quality assurance lecture 1
Software quality assurance lecture 1
Abdul Basit
 
Software measurement lecture 7
Software measurement lecture 7Software measurement lecture 7
Software measurement lecture 7
Abdul Basit
 

Mehr von Abdul Basit (20)

Atlassian git cheatsheet
Atlassian git cheatsheetAtlassian git cheatsheet
Atlassian git cheatsheet
 
Github git-cheat-sheet
Github git-cheat-sheetGithub git-cheat-sheet
Github git-cheat-sheet
 
White box testing
White box testingWhite box testing
White box testing
 
Web testing
Web testingWeb testing
Web testing
 
Testing the documentation
Testing the documentationTesting the documentation
Testing the documentation
 
Testing software security
Testing software securityTesting software security
Testing software security
 
Testing fundamentals
Testing fundamentalsTesting fundamentals
Testing fundamentals
 
Test planning
Test planningTest planning
Test planning
 
Test cases planning
Test cases planningTest cases planning
Test cases planning
 
Software Testing
Software TestingSoftware Testing
Software Testing
 
Software Compatibility testing
Software Compatibility testingSoftware Compatibility testing
Software Compatibility testing
 
Black box testing
Black box testingBlack box testing
Black box testing
 
Software Automated testing and tools
Software Automated testing and toolsSoftware Automated testing and tools
Software Automated testing and tools
 
Why test software
Why test softwareWhy test software
Why test software
 
Git Developer Cheatsheet
Git Developer CheatsheetGit Developer Cheatsheet
Git Developer Cheatsheet
 
Static white box testing lecture 12
Static white box testing lecture 12Static white box testing lecture 12
Static white box testing lecture 12
 
Software testing lecture 10
Software testing lecture 10Software testing lecture 10
Software testing lecture 10
 
Software testing lecture 9
Software testing lecture 9Software testing lecture 9
Software testing lecture 9
 
Software quality assurance lecture 1
Software quality assurance lecture 1Software quality assurance lecture 1
Software quality assurance lecture 1
 
Software measurement lecture 7
Software measurement lecture 7Software measurement lecture 7
Software measurement lecture 7
 

Kürzlich hochgeladen

EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
Earley Information Science
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
Enterprise Knowledge
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 

Kürzlich hochgeladen (20)

EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 

Requirement configuration management

  • 2. Why Is Software DifficultWhy Is Software Difficult to Build?to Build?  Lack of controlLack of control  Lack of monitoringLack of monitoring  Lack of traceabilityLack of traceability  Uncontrolled changesUncontrolled changes
  • 3. Conflicts in TeamConflicts in Team Software DevelopmentSoftware Development  Simultaneous updates – howSimultaneous updates – how to prevent one person fromto prevent one person from undoing the changes ofundoing the changes of anotheranother  Shared and common code –Shared and common code – how to notify everyone whohow to notify everyone who needs to know about a changeneeds to know about a change  Versions – how to makeVersions – how to make changes to all affectedchanges to all affected
  • 4. Software ConfigurationSoftware Configuration Management BasicsManagement Basics  Identification – identifying softwareIdentification – identifying software configuration items in a baselineconfiguration items in a baseline  Control – controlling the release of a productControl – controlling the release of a product and changes to it throughout its lifecycleand changes to it throughout its lifecycle  Status Accounting – recording and reportingStatus Accounting – recording and reporting of the status of components and changesof the status of components and changes  Auditing and Reviewing – Validating theAuditing and Reviewing – Validating the completeness of a product and that SCMcompleteness of a product and that SCM procedures are being followedprocedures are being followed
  • 5. SCM DefinitionsSCM Definitions  Baseline – One or more softwareBaseline – One or more software configuration items that have beenconfiguration items that have been formally reviewed and agreed upon andformally reviewed and agreed upon and serve as a basis for further developmentserve as a basis for further development  Software Configuration Item – A collectionSoftware Configuration Item – A collection of software elements treated as a unit forof software elements treated as a unit for the purposes of SCMthe purposes of SCM  Configuration – A collection of all theConfiguration – A collection of all the elements of a baseline and a descriptionelements of a baseline and a description of how they fit togetherof how they fit together
  • 6. SCM Definitions (cont’d)SCM Definitions (cont’d)  Configuration Control Board – GroupConfiguration Control Board – Group with the responsibility for reviewing andwith the responsibility for reviewing and approving changes to baselinesapproving changes to baselines  Software – All of the code,Software – All of the code, specifications, plans, descriptions,specifications, plans, descriptions, processes, and documents associatedprocesses, and documents associated with a software development effortwith a software development effort  Version – A specific instance of aVersion – A specific instance of a baseline or configuration itembaseline or configuration item
  • 7. Examples ofExamples of Configuration ItemsConfiguration Items  Product concept specificationProduct concept specification  Software project plansSoftware project plans  Software requirements specificationsSoftware requirements specifications  Software design descriptionsSoftware design descriptions  Source codeSource code  Database descriptionsDatabase descriptions  SCM proceduresSCM procedures  Software release processesSoftware release processes  Software test documentsSoftware test documents  User documentationUser documentation  Maintenance documentationMaintenance documentation
  • 8. Version ControlVersion Control  Allows different projects to use theAllows different projects to use the same source files at the same timesame source files at the same time  Isolates work that is not ready to beIsolates work that is not ready to be shared by the rest of the projectshared by the rest of the project  Isolates work that should never beIsolates work that should never be sharedshared  Allows software engineers to continueAllows software engineers to continue development along a branch evendevelopment along a branch even when a line of development is frozenwhen a line of development is frozen
  • 9. Change ControlChange Control  Proposed changes to baselines must haveProposed changes to baselines must have some level of reviewsome level of review  The impact of proposed changes must beThe impact of proposed changes must be identified and understood.identified and understood.  When appropriate the approval of the CCB,When appropriate the approval of the CCB, key managers and project members mustkey managers and project members must be obtainedbe obtained  Approved changes must be properlyApproved changes must be properly implementedimplemented  After changes are made all affected partiesAfter changes are made all affected parties must be notifiedmust be notified
  • 10. Baseline ManagementBaseline Management  What baselines are required to beWhat baselines are required to be defined and managed?defined and managed? – Typically aligned with major milestonesTypically aligned with major milestones – Applies to documents as well as codeApplies to documents as well as code  How is the current softwareHow is the current software configuration defined?configuration defined? – A snapshot of everything the product hasA snapshot of everything the product has produced at some point in timeproduced at some point in time
  • 11. Baseline ManagementBaseline Management (cont’d)(cont’d)  Who must approve changes toWho must approve changes to baselines?baselines? – Usually the Change Control Board (CCB)Usually the Change Control Board (CCB)  How and when are baselines createdHow and when are baselines created and physically controlled?and physically controlled? – Through the use of document controlThrough the use of document control systems, code control tools, andsystems, code control tools, and procedures to prevent the making ofprocedures to prevent the making of unapproved changesunapproved changes
  • 12. Baseline ManagementBaseline Management (cont’d)(cont’d)  How are people informed of changes?How are people informed of changes? – The CCB disseminates changeThe CCB disseminates change informationinformation  How are baselines verified?How are baselines verified? – By reviews, inspections, and the testingBy reviews, inspections, and the testing of codeof code  Are baselines tied to projectAre baselines tied to project milestones?milestones? – Many are, but during coding many mayMany are, but during coding many may
  • 13. Baseline ManagementBaseline Management (cont’d)(cont’d)  What information is required to process aWhat information is required to process a change to a baseline?change to a baseline? – A description of the proposed changesA description of the proposed changes – Reasons for making the changesReasons for making the changes – List of other items affected by the changesList of other items affected by the changes  What tools, resources, and training areWhat tools, resources, and training are required to perform baseline changerequired to perform baseline change assessment?assessment? – File comparison tools to identify changesFile comparison tools to identify changes – Resources and training depend on size andResources and training depend on size and complexity of projectcomplexity of project
  • 14. Baseline ManagementBaseline Management (cont’d)(cont’d)  What metrics should be used toWhat metrics should be used to assess changes to a baseline?assess changes to a baseline? – ComplexityComplexity – Average module sizeAverage module size – Number of modules changedNumber of modules changed – Number of bugs fixed and verifiedNumber of bugs fixed and verified – Code coverageCode coverage
  • 15. Baseline ManagementBaseline Management (cont’d)(cont’d)  How are unauthorized changes toHow are unauthorized changes to source code prevented, detected, andsource code prevented, detected, and corrected?corrected? – No way to prevent unauthorized changesNo way to prevent unauthorized changes – Provide software engineers with trainingProvide software engineers with training – A commercial available SCM systemsA commercial available SCM systems provide adequate protectionprovide adequate protection – Unauthorized changes should be caughtUnauthorized changes should be caught during assessment proceduresduring assessment procedures
  • 16. Baseline ManagementBaseline Management (cont’d)(cont’d)  What tools, resources, and training areWhat tools, resources, and training are required to perform baselinerequired to perform baseline management?management? – A fully featured SCM toolA fully featured SCM tool – On large projects a separate SCM groupOn large projects a separate SCM group may be neededmay be needed – SCM training is required for all involved inSCM training is required for all involved in the processthe process
  • 17. Workspace ManagementWorkspace Management  Software engineers need a consistentSoftware engineers need a consistent and reproducible workspace area (aand reproducible workspace area (a sandbox) in which they can develop andsandbox) in which they can develop and debug their codedebug their code  They need to be able to share projectThey need to be able to share project files while shielding the project from thefiles while shielding the project from the instability of their evolving codeinstability of their evolving code  SCM tools should provide such aSCM tools should provide such a capabilitycapability
  • 18. Baseline ChangeBaseline Change AssessmentAssessment  Helps to identify recent changes thatHelps to identify recent changes that may be responsible for problemsmay be responsible for problems  Helps to ensure that only authorizedHelps to ensure that only authorized changes are madechanges are made
  • 19. Version ManagementVersion Management  Being able to reliably build andBeing able to reliably build and recreate versions of a product as itrecreate versions of a product as it evolves and after it is released.evolves and after it is released.  Being able to retreat to a previousBeing able to retreat to a previous version if necessaryversion if necessary  Being able to recreate all versions ofBeing able to recreate all versions of the product that customers havethe product that customers have
  • 20. Types of AuditsTypes of Audits  In-process audits – verify the consistency ofIn-process audits – verify the consistency of the design as it evolves through thethe design as it evolves through the development processdevelopment process  Functional audits – verify that functionalityFunctional audits – verify that functionality and performance are consistent withand performance are consistent with requirements defined in the SRSrequirements defined in the SRS  Physical audits – verify that the as-builtPhysical audits – verify that the as-built version of software and documentation areversion of software and documentation are internally consistent and ready for deliveryinternally consistent and ready for delivery  Quality system audits – independentQuality system audits – independent assessment of the compliance to theassessment of the compliance to the software QA plansoftware QA plan
  • 21. Configuration StatusConfiguration Status AccountingAccounting RequirementsRequirements  Identifying the types of information thatIdentifying the types of information that project managers needproject managers need  Identifying the degree of controlIdentifying the degree of control needed by project managementneeded by project management  Identifying the reports required and theIdentifying the reports required and the different audiences for each reportdifferent audiences for each report  Identifying the information required toIdentifying the information required to produce each reportproduce each report
  • 22. SCM SummarySCM Summary  Change is inevitableChange is inevitable  Defined procedures are required to manageDefined procedures are required to manage change without preventing changechange without preventing change  Software presents many challenges from aSoftware presents many challenges from a control, management, and trackingcontrol, management, and tracking perspectiveperspective  Knowing what you have and how you gotKnowing what you have and how you got there is very importantthere is very important  Being able to recreate exactly what isBeing able to recreate exactly what is delivered to customers is essentialdelivered to customers is essential