0% found this document useful (0 votes)
105 views

Configuration Management

The document discusses software configuration management and why it is important. It covers topics like version control, change control, baseline management, and configuration status accounting. Effective software configuration management is necessary to control changes, track software components over time, and ensure consistency across versions. It helps development teams work together and allows organizations to reliably build and recreate software versions.

Uploaded by

sureshlear
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
105 views

Configuration Management

The document discusses software configuration management and why it is important. It covers topics like version control, change control, baseline management, and configuration status accounting. Effective software configuration management is necessary to control changes, track software components over time, and ensure consistency across versions. It helps development teams work together and allows organizations to reliably build and recreate software versions.

Uploaded by

sureshlear
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 22

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

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy