0% found this document useful (0 votes)
39 views27 pages

VAIBHAV SW Configuration MGMT

The document discusses software configuration management (SCM), which involves tracking and controlling changes to software throughout the development lifecycle. SCM includes configuration identification, control, status accounting, and audits. It aims to establish integrity of software products. Key SCM tasks include identifying configuration items, controlling changes via a configuration control board, maintaining status records of items, and performing audits. SCM tools and procedures help manage changes, reduce rework, and increase visibility, control and communication during development.
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 PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
39 views27 pages

VAIBHAV SW Configuration MGMT

The document discusses software configuration management (SCM), which involves tracking and controlling changes to software throughout the development lifecycle. SCM includes configuration identification, control, status accounting, and audits. It aims to establish integrity of software products. Key SCM tasks include identifying configuration items, controlling changes via a configuration control board, maintaining status records of items, and performing audits. SCM tools and procedures help manage changes, reduce rework, and increase visibility, control and communication during development.
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 PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 27

S

P
I GSFC

Software Configuration Management

Presented by: Vaibhav Chaturvedi


What is SCM ?

 The Art of managing change to software

 In software engineering, software configuration


management (SCM) is the task of tracking and
controlling changes in the software. Configuration
management practices include revision control and
the establishment of baselines.

 The purpose of Software Configuration Management


(CM) is to establish and maintain the integrity of
products throughout the software life cycle.

2
Common Problems due to change

 Unable to see code changes made by


team members
 Unable to work in parallel.
 Frequent need to rework because of lost
defects or overwritten code.
 Trouble in determining which versions of
code to work on.
 You have no idea which versions of files
went into a build, etc…

3
Functions ……
 Software CM involves following key functions:

1. Configuration identification :
Identification of work products and baselines that are subject to
configuration control.
2. Configuration control :
(i.e., approval/rejection) of proposed changes to configuration
items.
3. Configuration status accounting :
Status accounting of configuration data and changes.
4. Configuration audits:
Audits to maintain the integrity of the configuration baselines.
5. Build Management :
Managing the process and tools used for builds.
6. Defect Tracking :
Making sure every defect has traceability back to the source.

4
CM Benefits

 Improves
– Product protection
– Product visibility
– Product control
– Team communication
– Customer Confidence
 Decreases
– Rework
– Confusion
– Project Risk
5
Key Definitions

 Configuration Item (CI) - an aggregation of work


products (e.g., hardware, software, or documentation)
that is designated for configuration management and
treated as a single entity in the configuration
management process.
 Baseline – a set of specifications or work products
that has been formally reviewed and agreed on, which
thereafter serves as the basis for further development,
and which can be changed only through change
control procedures. Typically defined for each project
life-cycle phase

6
Configuration Management Process
Overview

Planning Data Project Management Processes


Project
Configuration CM Plan Formulation Project Planning
Management
Process Status reports;
audit results
Project
Monitoring & Project Startup
Control
Controlled work
Work products; products; Project Closeout
change approved change
requests requests

Product Development Processes

Systems Requirements Design


Engineering Engineering Implementation

Sustaining
Engineering & Product Release Testing
Maintenance

7
Configuration Management Tasks

CM planning and startup tasks


Define levels of Identify Define CM Prepare the CM
control and configuration procedures Plan
responsibilities items

Establish the Setup CM tools


software and libraries
project CCB

CM execution tasks
Perform Perform Perform
Identify work
configuration configuration configuration
products/baselines
control status accounting audits

8
S
P
I GSFC

CM Planning and Startup Tasks

Define levels of Identify Define CM Prepare the CM


control and configuration procedures Plan
responsibilities items

Establish the Setup CM tools


software and libraries
project CCB
CM Planning/Startup Tasks (1 of 2)

 Identify the CIs (e.g., deliverable products,


interim products, requirements, software) and
define the naming conventions.
 Identify the levels of control for each CI.
 List the identified items in the Data management
List (DML).
 Determine when each item will be placed under
configuration control (i.e., Baselined).
 Select a role that is responsible for maintaining
the integrity of items under CM.
 Establish a CCB (Configuration Control Board)
to manage, assess, and control changes to
configured items. 10
CM Planning/Startup Tasks (2 of 2)

 Define the mechanism used to control changes


– Change requests (e.g., What forms / tools will be
used?)
– CCB (e.g., What meetings (if any) will be held?
How will changes be dis-positioned, logged, and
tracked?)
– Audits to confirm the approved changes and
ensure the integrity of the configuration baselines
 Identify tools used to support CM and how they
will be used (e.g. TFS, ClearCase, SourceSafe)
 Document approaches, procedures, and tools in
a separate CM Plan or as part of your SMP/PP.
11
S
P
I GSFC

CM Execution Tasks

Perform Perform Perform


Identify work
configuration configuration configuration
products/baselines
control status accounting audits
1 - Configuration Identification
Identify Work Products and Baselines

 Document the baseline items in the “Baselines


Table” in the SMP/PP (Software Management Plan/
Product Plan.
 Identify by phase (per your life cycle model) the CIs
that will be baselined or re-baselined.

13
Recording the Baselines

 Update the “Baselines Table” at the conclusion of


each phase to record the baseline date and the
baseline versions for each configured item
 Save your updated “Baselines Table” as specified
in your DML

14
2 - Configuration Control

 Identify and record desired changes to a


baselined item
 Define the need / problem rather than the
desired resolution
 Document the analysis of change
– Impact analysis, costs, urgency…
 Review and disposition each change request
 Use a tool to record and track the status of all
change requests

15
Change Request Form and Log

Thoroughly
analyzing the
change

Describing
the desired Decision and
change formal
approval

Change Request Log


Project
Name:

Tracking Date Analysis Assigned


Number Item Type Systems/Subsystems Short Description of Change Urgency Requestor Submitted To: Result

Keeping track of all the desired changes


16
3 – Configuration Status Accounting

 Maintain records of the CIs throughout the


project’s life cycle
 Record and monitor all changes to CIs
 Document the contents of versions, builds,
and baselines
 Generate periodic status reports – your CM
tool may provide the reporting for you!

17
4 – Configuration Audits

 Conduct audits to maintain the integrity of the


configuration baselines
 Three types of CM Audits are required:
– Baseline Audit
– Functional Configuration Audit (FCA)
– Physical Configuration Audit (PCA)
 Audits correspond to major milestones and
must be planned and on your schedule

18
Baseline Audit

 Conducted at the end of each life cycle phase


or at each major delivery
 Conducted by the team’s CMO or designated
team personnel; reviewed by the team’s
Software Quality Engineer (SQE)
 Baseline Audit -- verifies the content of the
baseline
– Correct versions of CIs were used to build the
baseline
– Correct version of documentation are included
in the baseline

19
FCA and PCA

 Functional Configuration Audit (FCA) -- Verifies


functionality of baseline after final testing
– Ensures that CIs achieve the performance and
functional requirements
– Ensures that operational and support documents
are complete and satisfactory
 Physical Configuration Audit (PCA) -- Verifies
content of baseline for major builds or deliveries
– Ensures that baseline items of a delivery match the
documentation that defines it (e.g., Version
Description Document (VDD), design documents)
 Both conducted by the team’s CMO or designated
team personnel; verified by the team’s SQE
20
Tools….

 ClearCase
– ClearCase, by IBM/Rational (formerly Pure Atria).
– In addition to version control and CM functions,
advanced capabilities include 32-way merge,
versioning of any object (including directories),
logical version labeling, parallel builds
distributed over a network, and triggers for local
site customizing. Versioned history files may be
compressed for space savings.

21
Tools…..

 Visual SourceSafe
– SourceSafe provides for true project level
configuration control.
– It has a very nice model for setting up multiple
versions of a project.
– Rather than using numbers to branch, such as
version 2.3.6.1, a logical release or customer
name can be used to implement the same
construct.

22
Tools….

 Team Foundation Server


– Team Foundation Server (commonly
abbreviated TFS) is a Microsoft product
offering source control, data collection,
reporting, and project tracking, and is intended
for collaborative software development
projects. It is available either as stand-alone
software, or as the server side back end
platform for Visual Studio Team System
(VSTS).

23
TFS

24
TFS Functions…..

 Source control
– Team Foundation Server provides a source
control repository, called Team Foundation
Version Control (TFVC). Team Foundation
source control stores all code, as well as a
record of all changes and current check-outs
in a SQL Server database.
 Reporting
– For example, the rate of code change over
time, lists of bugs that don't have test cases,
regressions on previously passing tests, and
so on.
25
Summary

 Software Configuration Management establishes


and maintains the integrity of products throughout the
software life cycle
 CM planning and implementation support
include:
– Configuration Identification
– Configuration Control
– Configuration Status Accounting
– Configuration Audits
 CM records must be organized and maintained
 Tools.
26
Acronyms

CCB Configuration Control Board


CI Configuration Item
CM Configuration Management
CMO Configuration Management Officer
CR Change Request
DML Data Management List
FCA Functional Configuration Audit
IRB Internal Review Board
ISD Information Systems Division
PCA Physical Configuration Audit
PDL Product Development Lead
SMP/PP Software Management Plan/Product Plan
SPI Software Process Improvement
SQE Software Quality Engineer
VDD Version Description Document

27

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