Title: Software Configuration and Integration Management
1Software Configuration and Integration Management
- Marquette University July 9th, 2001
Compiled by Tony Fredericks Tfred69_at_aol.com (815)
884 - 2805
2Overview
- What is Software Configuration Management (SCM)?
- Why SCM?
- SCM Tools
- SCM Planning and Plan
- Integration Management (Putting it all Together)
- SCM Best Practices
3What is SCM? (1)
- SCM is a software engineering discipline
comprising the tools and techniques (processes or
methodology) that a company uses to manage
changes to its software assets.
4What is SCM ? (2)
- The Software Engineering Institute Capability
Maturity Model (SEI SW-CMM) defines SCM as stated
below. - SCM involves identifying the configuration of
the software at given points in time,
systematically controlling changes to the
configuration, and maintaining the integrity and
traceability of the configuration throughout the
software lifecycle. The work products placed
under software configuration management include
the software products that are delivered to the
customer (e.g., the software requirements
document and the code) and the items that are
identified with or required to create these
software products(e.g. compiler).
5What is SCM ? (3)
- SCM answers who, what, when and why.
- Who makes the changes?
- What changes were made to the system?
- When were the changes made?
- Why were the changes made?
6Why SCM?
- Multiple individuals work on software that is
changing. - More than one version of the software has to be
supported. - Decrease time to market
- Control Cost
7Functional Elements of SCM (1)
- Configuration Identification
- What is the configuration of my system?
- What version of the file is this?
- What are the components of the system?
- Configuration Change Control
- What is controlled?
- How are the changes to the products controlled?
- Who controls the changes?
- When are the changes accepted, received and
verified?
8Functional Elements of SCM (2)
- Configuration Status Accounting
- What changes Have been made to the system?
- How many files have been affected by this trouble
report? - Configuration Auditing
- Does the system satisfy the requirements?
- Are all the changes incorporated in this version?
9SCM Tools
- ClearCase - Rational Software
- ClearDDTS - Rational Software
- PVCS - Merant (previously Intersolv)
- Continuus - Telelogic (acquired Continuus)
10SCM Planning
- SCM planning starts during the early phases of a
project. - The outcome of the SCM planning phase is the SCM
plan (SCMP) - SCMP can follow a public standard IEEE 828 or an
internal (e.g company specific) standard
11SCM Plan
- Defines the types of documents to be managed and
a document naming scheme. - Defines who takes responsibilities for the CM
procedures and creation of software baselines. - Defines policies for change control and version
management - Describes the tools which should be used to
assist the CM process.
12Iterative Software Development Lifecycle
Software Req Architecture
Software Req Architecture
Software Req Architecture
Repeat the iterative development process until
all work is complete.
Design
Design
Design
Code Unit Test.
Code Unit Test.
Code Unit Test.
Component Integration
Component Integration
Component Integration
Component Integration
Integration Test/ Validation
Integration Test/ Validation
Integration Test/ Validation
Product Integration
Product Integration
Product Integration
Product Integration
Integration Test/ Validation
Integration Test/ Validation
Integration Test/ Validation
IODT
IODT
IODT
Phase Audit
Phase Audit
System Test
Phase Audit
Time
SQEC Validation Testing
Field Test
13 Integration Flow
Component B Integration
Component C Integration
Component B Integration
Component C Integration
Component A Integration
Component D Integration
Component A Integration
Component D Integration
Product I Software Integration
Product II Software Integration
Product I Hardware Integration
Product II Hardware Integration
IODT
IODT
Product I SW / HW Integration
Product II SW / HW Integration
IOT
IOT
Product I System Test
Product II System Test
14Integration
Cut-Off Date for Submission from Component
Integration to Product Level Software Integration
Aug
Sep
Nov
Dec
Feb
Mar
I10
I20
I30
I40
I50
I60
A M J J
A S O N
D J F M
A M J J
A S O
2001
2002
15Integration Build Process Overview
Inputs
Product Build Cycle
Develop Integration Plan / Roadmap
A Build
B Build
C Build
D Build
Component. Build
Develop Build Plan
Incremental Build Cycle
Component Build Label
Component Defect CRs
Product Integration CCB
Component A CCB
Perform Integration Readiness Review
Component B CCB
Component C CCB
Feature Team Managers
Perform Mainline Integration / Build
Component D CCB
Component CCB
Sanity Check Integrated Build
Defect CRs
Product Build Label
Perform Integration Test
Perform System Test
16CCBs and the CR Hierarchy
Release Planning CCB
Feature List (e.g., Product I)
Product Integration CCB
Master Feature CR (e.g., MP3)
Product CR (e.g., Recording)
Component A CR
Component CCBs
Component B CR
Component C CR
New Work CR
New Work CR
Defect CR (Component)
17Phase in which Faults are Introduced
18 19(No Transcript)
20 21SCM Best Practices (1)
- Identify and store artifacts in a secure
repository. - Control and audit changes to artifacts.
- Organize artifacts into versioned components.
- Create baselines at project milestones.
- Record and track requests for change.
22SCM Best Practices (2)
- Organize and integrate consistent sets of
versions using activities. - Maintain stable and consistent workspaces.
- Support concurrent changes to artifacts and
components. - Integrate early and often.
- Ensure reproducibility of software builds.
23References
- Software Configuration Management Strategies and
Rational ClearCase A Practical Approach - Author Brian A. White 2000 Addison-Wesley ISBN
0-201-60478-7 - Software Configuration Management Technologies
and Applications - Software Technology Support
United States Airforce (white paper) - Brad Appleton's Software Configuration Management
Links - http//www.enteract.com/bradapp/links/scm-links.h
tml