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
Top Related