53
Software Configuration Management © RASS Tools Limited Project Management 1 Author AshokKumar LalSingh

Software Configuration Management © RASS Tools Limited Project Management 1 Author AshokKumar LalSingh

Embed Size (px)

Citation preview

Software Configuration ManagementSoftware Configuration Management

© RASS Tools LimitedProject ManagementProject Management1

Author

AshokKumar LalSingh

Software Configuration ManagementSoftware Configuration Management

© RASS Tools LimitedProject ManagementProject Management2

The CautionPlease note: This ppt has been created in 1999. As SCM is continuously developing, it’s possible that few of the concepts described here may get improved or become obsolete at the time of reading this presentation.

Also the concepts might have been simplified and wordings might be interpreted by the reader which may conflict with his/her understanding.

The CautionPlease note: This ppt has been created in 1999. As SCM is continuously developing, it’s possible that few of the concepts described here may get improved or become obsolete at the time of reading this presentation.

Also the concepts might have been simplified and wordings might be interpreted by the reader which may conflict with his/her understanding.

Software Configuration ManagementSoftware Configuration Management

© RASS Tools LimitedProject ManagementProject Management3

Coverage

Objective and Focus SCM Benefits SCM Definitions SCM Concepts SCM Activities SCM in CMM SCM Automation SCM Tools

Coverage

Objective and Focus SCM Benefits SCM Definitions SCM Concepts SCM Activities SCM in CMM SCM Automation SCM Tools

Software Configuration ManagementSoftware Configuration Management

© RASS Tools LimitedProject ManagementProject Management4

The Objective To serve as Training Material for providing Training

on Software Configuration Management and ISO9000 / SEI-CMM related issues.

The Focus On developing understanding of Terms, Concepts,

Activities and Practices.

Software Configuration ManagementSoftware Configuration Management

© RASS Tools LimitedProject ManagementProject Management5

For what ? The Benefits

Provide means and ways for achieving the following:

Correctly identify and link various components making a software product i.e. build a product with correct components

Control the changes applied to various releases

Build the product for current and any previous releases

Prepare product installation/implementation requirements

Provide information on differences between two releases

Software Configuration ManagementSoftware Configuration Management

© RASS Tools LimitedProject ManagementProject Management6

Configuration The information that specifies and helps to understand

the composition, interconnections, dependencies, limits, capacities and other characteristics of the constituents

of a product.

Configurable The flexibility of finite level for selecting and altering the

configuration of a product to satisfy user needs. All products are not configurable.

Examples of Configurable Products

Computer Hardware and Software, Services, some

textile m/c etc

Software Configuration ManagementSoftware Configuration Management

© RASS Tools LimitedProject ManagementProject Management7

Software Configuration The information that specifies and helps to understand

some or more of the following about Software Products: Constituents like executable programs / source code, databases

design and structure and associated documents etc.

Development environment like languages, compilers, linkers, debuggers and associated documents

Operating Environments like Operating Systems, Client Server, Network type etc

Computer Hardware specifications like CPU, Memory, I/O bus, peripherals attached

Security Environment if applicable like data and programs accesses.

Software Configuration ManagementSoftware Configuration Management

© RASS Tools LimitedProject ManagementProject Management8

SWPChanges

SWPChanges

SCMAudit

SCMAudit

SCM SystemIdentification of CIs

Baseline and Change Control

SCM SystemIdentification of CIs

Baseline and Change Control

SCMStatus Reporting

SCMStatus Reporting

SWPBaselined

SWPBaselined

Products Building

Products Building

Software Configuration ManagementSoftware Configuration Management

© RASS Tools LimitedProject ManagementProject Management9

Software Configuration Management (SCM) A discipline covering techniques and methodologies for

Identification, Baselining, Building, Controlling, Status Accounting and Audit of Software Configuration Items:

Identification Identification and documentation of Software Configuration Items (CI) and

functional / physical characteristics of CIs Baselining

Arriving at the state of a CI, thereafter all changes to CI are controlled through a formal change process.

Building Building current and previous versions of product

Change Control Identify and document change control requirements Controlling changes to those characteristics

Audit Verification of CI and their functional / physical characteristics. Verification of Technical Documentation / Control requirements.

Status Accounting Recording and Reporting suggested/approved changes Recording and Reporting of Implementation status of changes

Software Configuration ManagementSoftware Configuration Management

© RASS Tools LimitedProject ManagementProject Management10

Identification of Software Configuration Items An aggregation of software, documents and data that is treated

as a single entity in the Software Configuration Management Process. CIs are likely to go under change during product life cycle and change of one CI may affect other CIs. CIs list may include the following:

Software Product Requirements, Project Plans, Functional Specs, Design Documents, Detailed Designs, Test Plans, Test data, delivery requirements, integration/System Testing plans

Executable / object / source code, libraries used and associated docu Development environment like languages, compilers, linkers, debuggers and

associated documents SCM Tools, Testing tools, Performance Evaluation Tools etc. Operating Environments like Operating Systems, Client Server, Network type etc. Computer Hardware specifications like CPU, Memory, I/O bus, peripherals

attached etc. Customer Supplied Hardware Security Environment if applicable like data and programs accesses.

Software Configuration ManagementSoftware Configuration Management

© RASS Tools LimitedProject ManagementProject Management11

Baselining The activities of formally reviewing a CI and agreeing upon, that thereafter changes can only be done through formal change process. Following are some of the frequently used baselines.

Proposal / Contract Requirements Project Plans Designs Code Unit Testing System Testing Maintenance

Current Configurations Baselines plus approved changes from those baselines constitute the current

configuration

Software Configuration ManagementSoftware Configuration Management

© RASS Tools LimitedProject ManagementProject Management12

Design Baseline Created at the end of Design Phase. Typical

configuration Items are -

System Design specification Program Specification Data Base Design Coding Standards System Test Plan User Manual User Interface Standards Testing Standards

Software Configuration ManagementSoftware Configuration Management

© RASS Tools LimitedProject ManagementProject Management13

Code/Unit Test Baseline Created at the end of coding and unit testing. Typical configuration items are-

• source code • object code • Unit test data/scripts

Testing Baseline Created at the end of system testing. Typical configuration items are-

• system test data • system test scripts• operations manual• installation manual

Code/Unit Test Baseline Created at the end of coding and unit testing. Typical configuration items are-

• source code • object code • Unit test data/scripts

Testing Baseline Created at the end of system testing. Typical configuration items are-

• system test data • system test scripts• operations manual• installation manual

Software Configuration ManagementSoftware Configuration Management

© RASS Tools LimitedProject ManagementProject Management14

Maintenance Baseline

Created after acceptance testing installation, training etc after the system is declared “live”. Contains all CIs that will be changed

Other types of Baselines

Functional Baseline Allocated Baseline Product Baseline

Maintenance Baseline

Created after acceptance testing installation, training etc after the system is declared “live”. Contains all CIs that will be changed

Other types of Baselines

Functional Baseline Allocated Baseline Product Baseline

Software Configuration ManagementSoftware Configuration Management

© RASS Tools LimitedProject ManagementProject Management15

Building Compiling / Linking of Baselined Code/Libraries Use of Link Macros Test Suites Performance Tests

Releasing Major Minor Complete build Patch Replacement Use Scope

Software Configuration ManagementSoftware Configuration Management

© RASS Tools LimitedProject ManagementProject Management16

Documented Change RequestDocumented Change Request

Change Request Reviewed and Approvedand

Change Order Prepared

Change Request Reviewed and Approvedand

Change Order Prepared

QC required for Change documentedQC required for Change documented

Configuration Item Checked outConfiguration Item Checked out

Change Made, QC doneChange Made, QC done

Configuration Audit carried outConfiguration Audit carried out

Changed Item Checked inChanged Item Checked in

Change RequestRejected

Change RequestRejected

Ch

ang

e C

on

tro

lC

han

ge

Co

ntr

ol

Software Configuration ManagementSoftware Configuration Management

© RASS Tools LimitedProject ManagementProject Management17

Change Control An SCM activity consisting of the initiation, evaluation, coordination,

approval or disapproval, and implementation of changes to configuration items after formal establishment of their configuration identification.

Grouping of CIs Change initiation and Change Requests Approval of change requests after analyzing impacts. Recording of changes done Maintaining of baselines Traceability between changes and change requests

and vice versa .

Software Configuration ManagementSoftware Configuration Management

© RASS Tools LimitedProject ManagementProject Management18

Change Control Board (CCB)

Also called Configuration Board A group of people responsible for

evaluating and approving and disapproving proposed changes to configuration items, and for implementation of approved changes.

Typical CCB membersProject ManagerUser RepresentativeQuality Controller

Configuration Controller

Software Configuration ManagementSoftware Configuration Management

© RASS Tools LimitedProject ManagementProject Management19

Grouping of CIs for Change Control CI Group-1 : Baselined CIs

The CIs for which changes are to be done through approved change orders only after the CI has been baselined. CIs like Proposal, Contracts, Requirements List fall in this group. Version No to be maintained.

CI Group-2 : Managed and Controlled CIs

Change orders are not required to make changes to this group of CIs. Changes to be made may be recorded in review comments. Examples of this category are Project Planing, Design, Test Plan and Test Data documents. Version No to be maintained.

CI Group-3 : Controlled CIs

Changes to These CIs are done freely by authorized persons. CIs Location and accessibility is controlled. Examples are like Team organization list, Training and Hand over check lists, Communication List etc Version No may not to be maintained.

Software Configuration ManagementSoftware Configuration Management

© RASS Tools LimitedProject ManagementProject Management20

Some Good Practices

Base SCM Practices on IEEE/ ISO9000/SEI-CMM Group-1 and Group-2 CIs must be tracked Keep version history along with CI Clear and Precise CI name, version number, date Keep minimum distribution copies Keep maximum CIs in soft copy Use Zip file format for keeping Histories Use SCM Tools wherever possible Automate SCM activities Refresh backup on different m/c on day basis Keep two more sets of tapes for monthly backup

Software Configuration ManagementSoftware Configuration Management

© RASS Tools LimitedProject ManagementProject Management21

Audits

Verification of a configuration item’s compliance with its configuration identification.

To ensure that what has been built is in conformance with what was required (original specifications and change requests) by analyzing

- test reports - review reports- change logs

Audits

Verification of a configuration item’s compliance with its configuration identification.

To ensure that what has been built is in conformance with what was required (original specifications and change requests) by analyzing

- test reports - review reports- change logs

Software Configuration ManagementSoftware Configuration Management

© RASS Tools LimitedProject ManagementProject Management22

Audit Types

Functional Configuration Audit(FCA) To verify that a configuration item’s actual performance

agrees with its software requirements.

Physical Configuration Audit(PCA) To determine if the design and the product specification and

referenced documents represent the software that was coded and tested for a specified Configuration item

FCA and PCA dates determined at the start of the project

Typically coincide with delivery dates of the project

Software Configuration ManagementSoftware Configuration Management

© RASS Tools LimitedProject ManagementProject Management23

PERFORMANCE

ii

Functional Configuration Audit(FCA)

• Selected FCA personnel should include system tester• Identify/describe the CI to be audited • Identify deviations/waivers requested• Collect and group material:

- System test reports- Configuration status - Change logs- QA reports- Pending changes in various stages- Requirement Specifications- User Manuals

• Testers,QA and Project personnel present status• FCA team identify action points

Functional Configuration Audit(FCA)

• Selected FCA personnel should include system tester• Identify/describe the CI to be audited • Identify deviations/waivers requested• Collect and group material:

- System test reports- Configuration status - Change logs- QA reports- Pending changes in various stages- Requirement Specifications- User Manuals

• Testers,QA and Project personnel present status• FCA team identify action points

Software Configuration ManagementSoftware Configuration Management

© RASS Tools LimitedProject ManagementProject Management24

FCA Checklist SAMPLE FCA CHECKLIST

CI Reference ID: Date:----------------------------------------------------------------------------------------Requirements Yes/No----------------------------------------------------------------------------------------1 Waiver/Deviation list prepared2 Qualification Test Procedures Submitted3 Qualification Test completed4 Qualification Results compiled and available5 Facilities for conducting the FCA are available6 Qualification test procedures reviewed and

approached7 Qualification Testing Witnessed8 Qualification Test data and results reviewed

and approvedcomments:_______________________________________

FCA Checklist SAMPLE FCA CHECKLIST

CI Reference ID: Date:----------------------------------------------------------------------------------------Requirements Yes/No----------------------------------------------------------------------------------------1 Waiver/Deviation list prepared2 Qualification Test Procedures Submitted3 Qualification Test completed4 Qualification Results compiled and available5 Facilities for conducting the FCA are available6 Qualification test procedures reviewed and

approached7 Qualification Testing Witnessed8 Qualification Test data and results reviewed

and approvedcomments:_______________________________________

Software Configuration ManagementSoftware Configuration Management

© RASS Tools LimitedProject ManagementProject Management25

Physical Configuration Audit

Audit team will include the head of the testing team Typically Follows FCA After successful PCA the “product baseline” is established All changes to CIs will be through change requests Includes

Verifying against design specifications Verifying version numbering

Physical Configuration Audit

Audit team will include the head of the testing team Typically Follows FCA After successful PCA the “product baseline” is established All changes to CIs will be through change requests Includes

Verifying against design specifications Verifying version numbering

Software Configuration ManagementSoftware Configuration Management

© RASS Tools LimitedProject ManagementProject Management26

Typical Uses of the Configuration Accounting Data

• In which backup is version 1.6 of P13?• What are the program level changes between

release 5.1 and 5.2?• Which programs were replaced in release 5.2?• Which items were changed for Change Order 671?What were the versions of the units before

and after the change? Have all the changes been incorporated and checked-in?

Typical Uses of the Configuration Accounting Data

• In which backup is version 1.6 of P13?• What are the program level changes between

release 5.1 and 5.2?• Which programs were replaced in release 5.2?• Which items were changed for Change Order 671?What were the versions of the units before

and after the change? Have all the changes been incorporated and checked-in?

Software Configuration ManagementSoftware Configuration Management

© RASS Tools LimitedProject ManagementProject Management27

Status Accounting & Reporting

Keeps track of

- current identification of items

- configuration of delivered software

- status of change requests/problem reports

- status of approved changes

Software Configuration ManagementSoftware Configuration Management

© RASS Tools LimitedProject ManagementProject Management28

Standard reports

• Summary list change Requests/problem Reports• List of CR/PR pending approval• Summary list of Change orders• List of Change orders pending completion• Items and versions of baselines• Current set of units in the library • List of changes since Baseline• List of checked-out items• History of backups• History of releases• List of items/versions in a baseline• List of items/version in a release

Standard reports

• Summary list change Requests/problem Reports• List of CR/PR pending approval• Summary list of Change orders• List of Change orders pending completion• Items and versions of baselines• Current set of units in the library • List of changes since Baseline• List of checked-out items• History of backups• History of releases• List of items/versions in a baseline• List of items/version in a release

Software Configuration ManagementSoftware Configuration Management

© RASS Tools LimitedProject ManagementProject Management29

SCM Manual System Implementation

• Documented procedures must be easy to implement

• Focus on flexibility in performing SCM activities

• Tailoring guidelines for mandatory SCM activities

• Using well structured training program

• Availability of time for SCM activities

• Difficult to meet compliance requirements

• Effective Handovers process

SCM Manual System Implementation

• Documented procedures must be easy to implement

• Focus on flexibility in performing SCM activities

• Tailoring guidelines for mandatory SCM activities

• Using well structured training program

• Availability of time for SCM activities

• Difficult to meet compliance requirements

• Effective Handovers process

Software Configuration ManagementSoftware Configuration Management

© RASS Tools LimitedProject ManagementProject Management30

Costs of SCM

Automated SCM• cost of overlapping period for change of manual to automation. • cost of Tool / System • cost of training on tool / system• cost of maintenance

Manual System • Training Cost • Manual Efforts for doing SCM tasks• Efforts for correcting problems due to:

# non-compliance# human errors

Costs of SCM

Automated SCM• cost of overlapping period for change of manual to automation. • cost of Tool / System • cost of training on tool / system• cost of maintenance

Manual System • Training Cost • Manual Efforts for doing SCM tasks• Efforts for correcting problems due to:

# non-compliance# human errors

Software Configuration ManagementSoftware Configuration Management

© RASS Tools LimitedProject ManagementProject Management31

SCM - Automation

• Level of Automation

• Depth and Coverage

• Better Compliance

• Saves time on routine SCM activities

• Improves reliability

• Easy Handover

SCM - Automation

• Level of Automation

• Depth and Coverage

• Better Compliance

• Saves time on routine SCM activities

• Improves reliability

• Easy Handover

Software Configuration ManagementSoftware Configuration Management

© RASS Tools LimitedProject ManagementProject Management32

SCM tools• Set up tool general options

• Define project• Set up privileges of various users• Define project components and configuration items• Have SCM functions as part of the development

environment/project management environment

• Have change control as an integral part of the suite• Use SCM tool to generate reports/analysis like

# detailed status of development objects

# problem/change status • Also use SCM to integrate with call tracking after

product release

SCM tools• Set up tool general options

• Define project• Set up privileges of various users• Define project components and configuration items• Have SCM functions as part of the development

environment/project management environment

• Have change control as an integral part of the suite• Use SCM tool to generate reports/analysis like

# detailed status of development objects

# problem/change status • Also use SCM to integrate with call tracking after

product release

Software Configuration ManagementSoftware Configuration Management

© RASS Tools LimitedProject ManagementProject Management33

Version Control• Tracking of changes to every file (source code,binaries, test suites specifications, etc) and every directory• Stores versions efficiently• Automatically log of all changes “behind the scene”• Supports parallel development• Performs element merging automatically• Merges directories• Provides highly reliable, recoverable data storage

Workspace Management• Provide transparent access to versions• create multiple workspaces• Dynamically evaluate configurations• Support arbitrary ad-hoc,configurations

Version Control• Tracking of changes to every file (source code,binaries, test suites specifications, etc) and every directory• Stores versions efficiently• Automatically log of all changes “behind the scene”• Supports parallel development• Performs element merging automatically• Merges directories• Provides highly reliable, recoverable data storage

Workspace Management• Provide transparent access to versions• create multiple workspaces• Dynamically evaluate configurations• Support arbitrary ad-hoc,configurations

Software Configuration ManagementSoftware Configuration Management

© RASS Tools LimitedProject ManagementProject Management34

Build Management• Support make-compatible building• Automatically detect source & header dependencies• Document what went into each build• Guarantee build reproducibility• Share derived objects automatically

Process Control• Supports leading quality models/standards• Supports project,site,enterprise specific policies• Provides automatic and user defined attributes• Supports change management• Creates logical link between elements• Provides control mechanism triggered by events• Supports flexible lock permissions

Build Management• Support make-compatible building• Automatically detect source & header dependencies• Document what went into each build• Guarantee build reproducibility• Share derived objects automatically

Process Control• Supports leading quality models/standards• Supports project,site,enterprise specific policies• Provides automatic and user defined attributes• Supports change management• Creates logical link between elements• Provides control mechanism triggered by events• Supports flexible lock permissions

Software Configuration ManagementSoftware Configuration Management

© RASS Tools LimitedProject ManagementProject Management35

Architectural Issues

• Integration with other tools/development

platform

• Scaling to support growth

• Security features

• Different types of user interfaces

• Supports multiple site development

• Supports off-site development

• Supports different Operating Systems

Architectural Issues

• Integration with other tools/development

platform

• Scaling to support growth

• Security features

• Different types of user interfaces

• Supports multiple site development

• Supports off-site development

• Supports different Operating Systems

Software Configuration ManagementSoftware Configuration Management

© RASS Tools LimitedProject ManagementProject Management36

Evaluation Checklist• Functionality

Version control Workspace management Build management Process Control

• Architectural issues• Price• Delivery period• Training - Conceptual & tool based• Vendor Attributes

Caliber of development/support staff Opinion of customer base Focus of SCM Partners,distributors,tie-ups Stability

Evaluation Checklist• Functionality

Version control Workspace management Build management Process Control

• Architectural issues• Price• Delivery period• Training - Conceptual & tool based• Vendor Attributes

Caliber of development/support staff Opinion of customer base Focus of SCM Partners,distributors,tie-ups Stability

Software Configuration ManagementSoftware Configuration Management

© RASS Tools LimitedProject ManagementProject Management37

Problems While Automating Include• geographic distribution of the development team and customer• network heterogeneity• application lifetime• tool scalability• License management in client/server environments• tool may not be really geared for your requirement and “tweaking” it may take more time (“typical” templates offered by vendors may not suffice)• tool tailored to your process or you tailor process to fit tool?• security of data if data in standard databases

Problems While Automating Include• geographic distribution of the development team and customer• network heterogeneity• application lifetime• tool scalability• License management in client/server environments• tool may not be really geared for your requirement and “tweaking” it may take more time (“typical” templates offered by vendors may not suffice)• tool tailored to your process or you tailor process to fit tool?• security of data if data in standard databases

Software Configuration ManagementSoftware Configuration Management

© RASS Tools LimitedProject ManagementProject Management38

Tips for Automation to Succeed

• Tool selection to meet SCM Requirements• Tool set up to match SCM process• Tool should not increase work efforts• Tool should not interfere with development• Tool should be integral part of the environment• Data capture automatic• Managers should find it easy to extract information• Generic Facilities to analyze Data and Reporting• Tool database type• User Acceptability• Tool Uses training • Tool Enhancement plan

Tips for Automation to Succeed

• Tool selection to meet SCM Requirements• Tool set up to match SCM process• Tool should not increase work efforts• Tool should not interfere with development• Tool should be integral part of the environment• Data capture automatic• Managers should find it easy to extract information• Generic Facilities to analyze Data and Reporting• Tool database type• User Acceptability• Tool Uses training • Tool Enhancement plan

..

Software Configuration ManagementSoftware Configuration Management

© RASS Tools LimitedProject ManagementProject Management39

Well KnownSCM Vendors/Product

CM Tool Vendor Product Name Web Site Address

Continuos Software Corp Continuos www.continus.comIntersolv Inc PVCS www.intersolv.comMKS Inc Source Integrity www.mks.comPerforce Software Perforce www.perforce.comPlatinum Tech Inc Harvest www.platinum.comPure Atria Clear Case www.atria.com

Well KnownSCM Vendors/Product

CM Tool Vendor Product Name Web Site Address

Continuos Software Corp Continuos www.continus.comIntersolv Inc PVCS www.intersolv.comMKS Inc Source Integrity www.mks.comPerforce Software Perforce www.perforce.comPlatinum Tech Inc Harvest www.platinum.comPure Atria Clear Case www.atria.com

Software Configuration ManagementSoftware Configuration Management

© RASS Tools LimitedProject ManagementProject Management40

Perforce Software’s Perforce

• Version control, workspace management

• Platforms # Unix(Digital DEC, HPUX, AIX, Linux,

NCR, SCO, Sinix, SunOS) # Mac, OpenVMS, OS/2, Win NT, Win 95

Perforce Software’s Perforce

• Version control, workspace management

• Platforms # Unix(Digital DEC, HPUX, AIX, Linux,

NCR, SCO, Sinix, SunOS) # Mac, OpenVMS, OS/2, Win NT, Win 95

Software Configuration ManagementSoftware Configuration Management

© RASS Tools LimitedProject ManagementProject Management41

Microsoft’s Visual SourceSafe

• Version control, build/release management, audit trail• Integrates with Visual J++,VB,VC++,MS Access etc• Platforms

Win 95, Win NT Variant version available for Unix from

Mainsoft Corporation

Intersolv’s PVCS• Version control, build/release management, audit trail• Platforms

~ OS/2,Win 3.1,Win NT,HPUX,AIX,Sun OS, SCO,Solaris

Microsoft’s Visual SourceSafe

• Version control, build/release management, audit trail• Integrates with Visual J++,VB,VC++,MS Access etc• Platforms

Win 95, Win NT Variant version available for Unix from

Mainsoft Corporation

Intersolv’s PVCS• Version control, build/release management, audit trail• Platforms

~ OS/2,Win 3.1,Win NT,HPUX,AIX,Sun OS, SCO,Solaris

Software Configuration ManagementSoftware Configuration Management

© RASS Tools LimitedProject ManagementProject Management42

Platinum’s Harvest

• Version control, release management,interactive merge,vendor code management, concurrent and parallel development, emergency maintenance management, problem tracking• Interfaces with VB,VC++,PB• Platforms Servers - HP9000/700 or 800,Sun, RS/6000,Digital Unix Windows/NT Clients - HP9000/700 or 800, Digital Unix Windows/NT,Win 3.1,Windows95,OS/2

Platinum’s Harvest

• Version control, release management,interactive merge,vendor code management, concurrent and parallel development, emergency maintenance management, problem tracking• Interfaces with VB,VC++,PB• Platforms Servers - HP9000/700 or 800,Sun, RS/6000,Digital Unix Windows/NT Clients - HP9000/700 or 800, Digital Unix Windows/NT,Win 3.1,Windows95,OS/2

Software Configuration ManagementSoftware Configuration Management

© RASS Tools LimitedProject ManagementProject Management43

Continuus’s Continuus

• Version control,build management, workspace management,process management, problem tracking• Environment Integratation ~ Case Interfaces available: CodeCenter/ObjectCenter,FrameMaker;

Integration Frameworks available: SoftBench, ToolBus, WorkBench• Platforms ~ Digital Unix,HP-UX,RS/6000,SGI,Sun PC (MS Windows,Win95,Win NT)

Continuus’s Continuus

• Version control,build management, workspace management,process management, problem tracking• Environment Integratation ~ Case Interfaces available: CodeCenter/ObjectCenter,FrameMaker;

Integration Frameworks available: SoftBench, ToolBus, WorkBench• Platforms ~ Digital Unix,HP-UX,RS/6000,SGI,Sun PC (MS Windows,Win95,Win NT)

Software Configuration ManagementSoftware Configuration Management

© RASS Tools LimitedProject ManagementProject Management44

SCM in SEI-CMMGOAL 1 : SCM activities are planned.

A Documented SCM plan is prepared and approved according to a documented procedure and is the basis for SCM activities.

GOAL 2 : Selected Software Work Products (SWP) are identified, controlled, and available.

Software work products to be placed under SCM are identified.Products are created from the software baseline library and Product release is done as per documented procedure.

GOAL 3 : Changes to SWP are controlled.Change requests are initiated, recorded, reviewed, approved and tracked according to a documented procedure . Changes to baselines are controlled according to a documented procedure.

GOAL 4 : Affected group / individuals are informed of the status and contents of the software baselines.

CI Status is recorded. Reports on SCM activities and the software baselines are made available to affected groups and individuals. Software baseline audits are conducted.

SCM in SEI-CMMGOAL 1 : SCM activities are planned.

A Documented SCM plan is prepared and approved according to a documented procedure and is the basis for SCM activities.

GOAL 2 : Selected Software Work Products (SWP) are identified, controlled, and available.

Software work products to be placed under SCM are identified.Products are created from the software baseline library and Product release is done as per documented procedure.

GOAL 3 : Changes to SWP are controlled.Change requests are initiated, recorded, reviewed, approved and tracked according to a documented procedure . Changes to baselines are controlled according to a documented procedure.

GOAL 4 : Affected group / individuals are informed of the status and contents of the software baselines.

CI Status is recorded. Reports on SCM activities and the software baselines are made available to affected groups and individuals. Software baseline audits are conducted.

Software Configuration ManagementSoftware Configuration Management

© RASS Tools LimitedProject ManagementProject Management45

Commitment to perform

The project follows a written organizational policy for implementing SCM. The policy specifies that :

SCM responsibility is explicitly assigned SCM is implemented throughout the project’s lifecycle A repository for configuration items / SCM records Baselines and SCM activities are audited periodically SCM is implemented for

Externally deliverable work products Internal work products Support tools

Commitment to perform

The project follows a written organizational policy for implementing SCM. The policy specifies that :

SCM responsibility is explicitly assigned SCM is implemented throughout the project’s lifecycle A repository for configuration items / SCM records Baselines and SCM activities are audited periodically SCM is implemented for

Externally deliverable work products Internal work products Support tools

Software Configuration ManagementSoftware Configuration Management

© RASS Tools LimitedProject ManagementProject Management46

Ability to perform

The SCCB is established(or exists) A group responsible for coordinating and implementing

SCM for the project exist Adequate resources and funding are provided for

performing the SCM activities Members of the SCM group are trained in the objectives,

procedures and methods for performing their SCM activities Members of the software engineering group and other

software related groups are trained to perform their SCM

activities

Ability to perform

The SCCB is established(or exists) A group responsible for coordinating and implementing

SCM for the project exist Adequate resources and funding are provided for

performing the SCM activities Members of the SCM group are trained in the objectives,

procedures and methods for performing their SCM activities Members of the software engineering group and other

software related groups are trained to perform their SCM

activities

Software Configuration ManagementSoftware Configuration Management

© RASS Tools LimitedProject ManagementProject Management47

Measurement & Analysis

Measurements are made and used to determine the status of the SCM activities

• Examples: number of change requests per unit time completions of milestones for the SCM activities compared to the plan work completed, effort expended and funds expended in the SCM activities

Measurement & Analysis

Measurements are made and used to determine the status of the SCM activities

• Examples: number of change requests per unit time completions of milestones for the SCM activities compared to the plan work completed, effort expended and funds expended in the SCM activities

Software Configuration ManagementSoftware Configuration Management

© RASS Tools LimitedProject ManagementProject Management48

Verifying Implementation

SCM activities are reviewed with senior management on a periodic basis

SCM activities are reviewed with the project manager on both a periodic and event-driven basis

The SCM group periodically audits software baselines to verify that they conform to the documentation that defines them

The software quality assurance group reviews and/or audits the activities and work products for SCM and reports the results

Verifying Implementation

SCM activities are reviewed with senior management on a periodic basis

SCM activities are reviewed with the project manager on both a periodic and event-driven basis

The SCM group periodically audits software baselines to verify that they conform to the documentation that defines them

The software quality assurance group reviews and/or audits the activities and work products for SCM and reports the results

Software Configuration ManagementSoftware Configuration Management

© RASS Tools LimitedProject ManagementProject Management49

Library Library id Name Purpose Owner Password

Item/Unit Library id item id Description Current version Current Date

Library Library id Name Purpose Owner Password

Item/Unit Library id item id Description Current version Current Date

Data Dictionary ( for Effective Configuration Status Accounting)

Data Dictionary ( for Effective Configuration Status Accounting)

Check-in/Check-out Library id Check-in/ check-out Number Item id Check-out/Check-in flag Date Check-out/Check-in Change Order Nos (1-n) Description of check-in or check-out Check-in/check-out by

Check-in/Check-out Library id Check-in/ check-out Number Item id Check-out/Check-in flag Date Check-out/Check-in Change Order Nos (1-n) Description of check-in or check-out Check-in/check-out by

Software Configuration ManagementSoftware Configuration Management

© RASS Tools LimitedProject ManagementProject Management50

Change Request/Problem Report

CR/PR No Description of change/problem Attachments Priority Requested/Proposed by Evaluation Severity Internal Impact Analysis Evaluation/Analysis by Approval Status Change Order Nos Approved by

Change Request/Problem Report

CR/PR No Description of change/problem Attachments Priority Requested/Proposed by Evaluation Severity Internal Impact Analysis Evaluation/Analysis by Approval Status Change Order Nos Approved by

Change Order

Change Order No. CR/PR No. Items to be changed(1-n)

• Item id• Changed description• Check-out date• Version checked out• Change completed by (person & date)• Review completed by ( person & date)• Test completed by (person & date)• Check-in date• Version Check-in

Change Order

Change Order No. CR/PR No. Items to be changed(1-n)

• Item id• Changed description• Check-out date• Version checked out• Change completed by (person & date)• Review completed by ( person & date)• Test completed by (person & date)• Check-in date• Version Check-in

Software Configuration ManagementSoftware Configuration Management

© RASS Tools LimitedProject ManagementProject Management51

Baseline Baseline id Library used Baseline date Baseline description FCA reference PCA reference

Baseline units Baseline id Item id Version No. Version Date

Release Release id Library used Release date Release description

Baseline Baseline id Library used Baseline date Baseline description FCA reference PCA reference

Baseline units Baseline id Item id Version No. Version Date

Release Release id Library used Release date Release description

Release units Release id Item id Version No.

Backup

Backup Id Library used Backup date

Backup Units

Backup Id item Id Version No. Version Date

Release units Release id Item id Version No.

Backup

Backup Id Library used Backup date

Backup Units

Backup Id item Id Version No. Version Date

Software Configuration ManagementSoftware Configuration Management

© RASS Tools LimitedProject ManagementProject Management52

Standards for SCM

• IEEE • 828 for SCM Plan,• 1042 for Software Requirements Spec

• ISO 9000• ISO-9001 1994• ISO-9000-3 1991

• SEI-CMM•KPA - 6

Standards for SCM

• IEEE • 828 for SCM Plan,• 1042 for Software Requirements Spec

• ISO 9000• ISO-9001 1994• ISO-9000-3 1991

• SEI-CMM•KPA - 6

Software Configuration ManagementSoftware Configuration Management

© RASS Tools LimitedProject ManagementProject Management53

End of PresentationEnd of Presentation