Software Configuration Management Induction – Sep 2007
Protection notice / Copyright notice
Contents •
Overview to Software Configuration Management
•
Why SCM: Main Classes of Problems
•
Definitions
•
Scope of Software Configuration Management
•
Configuration Management Planning
•
Software Configuration Management Tasks
•
Change Control
•
Software Configuration Management Tools
Page 2
Sep-07
P&Q
Protection notice / Copyright notice For Internal Use Only
Overview: Software Configuration Management • Art of identifying, organizing and controlling modifications to the software and its work product being built • Software Configuration Management is one of the foundations of Software Engineering • It identifies and controls the configuration of software, hardware, systems and the tools that are used throughout the development lifecycle Identify Change, Control Change, Implement Change and Track Change Page 3
Sep-07
P&Q
Protection notice / Copyright notice For Internal Use Only
Why SCM: Main Classes of Problems
Page 4
Sep-07
P&Q
Protection notice / Copyright notice For Internal Use Only
Some Typical Problems • Program does not work • Works in Delhi, misbehaves in Bombay • I had fixed this bug last month. How did it reappear? • I haven’t changed the program. Why is it now blowing up? • Which is the latest source? I need to put a patch
Page 5
Sep-07
P&Q
Protection notice / Copyright notice For Internal Use Only
Main Classes of Problems • Double maintenance problem • Shared data • Simultaneous update • Missing/unknown version problem
Page 6
Sep-07
P&Q
Protection notice / Copyright notice For Internal Use Only
Main Classes Of Problem: Missing/Unknown Version Problem •
Consciously decide which version to keep, which to destroy
•
Use a systematic method to identify versions and changes across versions
•
Use consistent back-up procedures
Page 7
Sep-07
P&Q
Protection notice / Copyright notice For Internal Use Only
Definitions
Page 8
Sep-07
P&Q
Protection notice / Copyright notice For Internal Use Only
Definitions Configuration Item: •
An aggregation of software, documentation and data that is treated as a single entity in the configuration management process. Example: Project Plan, Code objects, Test Specification
Baselined Configuration Item: •
An item that is formally reviewed and agreed upon that thereafter serves as the basis for further development, and that can be changed only through formal change control procedures. Example: Approved Requirement Specification
Configuration Control Board •
Page 9
A board composed of technical and administrative representatives who recommend the approval or disapproval of proposed requirement changes to a baselined config item. Example: Systems Manager, Customer, Project Manager
Sep-07
P&Q
Protection notice / Copyright notice For Internal Use Only
Scope of SCM
Page 10
Sep-07
P&Q
Protection notice / Copyright notice For Internal Use Only
Scope of SCM •
Software entities that SCM is expected to manage include Plans, Specifications (SRS, Design), User Documentation, Test data, Support Software, Tools, Source Code, Executables, and Libraries, Third-Party Software Products & all DAR artifacts.
•
When every work product can be accounted for, tracked and controlled, when every change can be tracked and controlled, SCM is said to effective.
Page 11
Sep-07
P&Q
Protection notice / Copyright notice For Internal Use Only
Configuration Management Planning
Page 12
Sep-07
P&Q
Protection notice / Copyright notice For Internal Use Only
Configuration Management Planning •
Organization of SCM activities
•
Defining Roles and Responsibilities
•
Setting up of Change Control Board (CCB)
•
Monitoring implementation of CM activities, schedules and audits
•
Review of CM activities
Page 13
Sep-07
P&Q
Protection notice / Copyright notice For Internal Use Only
Configuration Management Planning Configuration Management Plan • Introduction, Purpose & Scope • Organization of SCM activities • Defining Roles and Responsibilities • Configuration Identification • Configuration Control • Access Control • Backup procedures • CM Schedule • Change Control Board • Configuration Status Accounting • Configuration Audits • Release Management Page 14
Sep-07
P&Q
CM Plan template
Protection notice / Copyright notice For Internal Use Only
Quiz Q1 The Config Management Plan includes the following: b) Resource Plan, review details, schedule c) Baselines, release plan, backup plan, Change Mgmnt plan d) None of the above Q2 Configuration Management is
The art of identifying, organizing and controlling modifications to software
Is one of the foundations of software engineering
Both the above
Page 15
Sep-07
P&Q
Protection notice / Copyright notice For Internal Use Only
S/W Configuration Management Tasks
Page 16
Sep-07
P&Q
Protection notice / Copyright notice For Internal Use Only
SCM Tasks • • • • • • • • •
Page 17
Version Control Baselines Configurable item identification Process for Check-in and Check-out of any object from the Project library Configuration Control Configuration Status Reporting Backup Process Configuration Audit Release Management
Sep-07
P&Q
Protection notice / Copyright notice For Internal Use Only
SCM Tasks –Version Control •
Version Control combines procedures and tools to manage different versions of configuration objects that are created during the software process
•
Keeping track of the software work product as it changes
•
Version Identification Rules and Version numbering Systems
•
Version Traceability (Author, Date, Baseline,Status and record of Change History and Approvals)
•
Release Identification and Storage Management of multiple versions
Page 18
Sep-07
P&Q
Protection notice / Copyright notice For Internal Use Only
SCM Tasks – Baselines
•
‘A specification or product that has been formally reviewed and agreed upon, that thereafter serves as the basis for further development, and that can be changed only through formal Change Control Procedures’
•
Changes to the Baselined work product - approval required from CCB (Change Control Board) – Approval from CCB is taken on pre-defined category of changes. These categories are defined in Configuration Plan. For e.g. CRs where effort is more than 10 days.
•
The items of the next baseline are updated, reviewed and verified before they become baselines themselves
Page 19
Sep-07
P&Q
Protection notice / Copyright notice For Internal Use Only
SCM Tasks – Configuration Items •
Configuration Item - An aggregation of software, documents and data that is treated as a single entity in the configuration management process. A set of configuration items form a “product” CI Identification
•
CIs
Current Configuration - Baselines plus approved changes from those baselines constitute the current configuration
Page 20
Sep-07
P&Q
Protection notice / Copyright notice For Internal Use Only
SCM Tasks – Baseline Repositories •
Initial RepositoryComprises items available at the start of the project • Existing S/W source code (if available) • Existing Technical documentation (e.g. Requirements, Design, etc) • Existing Plans • Contract /Proposal
•
Page 21
As the project progresses, the subsequent baselines and repositories are created as per project requirements
Sep-07
P&Q
Protection notice / Copyright notice For Internal Use Only
SCM Tasks – Baseline Repositories •
Definition Repository- Created at the end of Requirement Specifications • Requirement Specifications • Project Plan, Quality Plan, Configuration Management plan • Acceptance Test Plan • Design standards/Guidelines
•
Design Repository- Created during Design • • •
Page 22
DFS, GIS & DIS (Design documents – Detailed Functional Specs, Global Implementation Specs, Detailed Implementation Specs) Coding standards Testing standards
Sep-07
P&Q
Protection notice / Copyright notice For Internal Use Only
SCM Tasks – Baseline Repositories •
Construction Repository- Created at the end of coding and Unit Testing • Source Code • Object Code • Unit test data/ Scripts
•
Testing Repository- Created at the end of System Testing • • • •
Page 23
System Test data and system test scripts Operation manual User Manual Installation Manual
Sep-07
P&Q
Protection notice / Copyright notice For Internal Use Only
SCM Tasks – Check-out/Check-in Check-out Check-in process • The CIs available in the CM system will be in the read-only mode by default • Check out is a process that creates a new version of an object from an existing version stored in the database. Developers check out objects so they can work on them. • Check in an operation used to make a developer’s object version available to other users.
Page 24
Sep-07
P&Q
Protection notice / Copyright notice For Internal Use Only
SCM Tasks – Configuration Control Configuration Control - Definition An element of configuration management, consisting of the evaluation, coordination, approval or disapproval and implementation of changes to configuration items after the formal establishment of their configuration identification
Page 25
Sep-07
P&Q
Protection notice / Copyright notice For Internal Use Only
SCM Tasks – Configuration Control Problems that arise from lack of control, and they can waste an enormous amount of time: •What is my current software configuration? •What is its status? •How do I control changes to my configuration? •How do I inform everyone else of my changes? •What changes have been made to my software? •Do anyone else's changes affect my software?
The key role of Software Configuration Management (SCM) is to control change activity. --Watts Humphrey Managing the Software Process Addison-Wesley, 1989 Page 26
Sep-07
P&Q
Protection notice / Copyright notice For Internal Use Only
SCM Tasks – Configuration Control • • •
Page 27
Documentation of Change Request Impact Analysis & Approval of Change Request Making Changes • Check out of configuration items from baseline repositories • Making change and maintaining the traceability between the change request and the physical change • Reviewing and testing as required • Check-in of changed configuration item with new version no.
Sep-07
P&Q
Protection notice / Copyright notice For Internal Use Only
SCM Tasks – Configuration Control A Change is approved by CCB (Change Control Board) Changes are generated and tracked using change requests - what was done, by whom, when, what remains to be done, special conditions, current status etc... Establish a change control process that specifies: Who can initiate the change request The individuals, group, or groups who are responsible for evaluating, accepting, and tracking the change proposals for the various baselined products The “change impact” analysis required for each requested change How the change history should be kept
Page 28
Sep-07
P&Q
Protection notice / Copyright notice For Internal Use Only
Incorporating a Change into the Current Configuration Baseline Change Requests
New Version of System Baseline
Impact Analysis
Approval of Change Request from CCB
No
Rejected Regression Tested Components
Yes Approved Change Design & Implement Changes
Page 29
Sep-07
P&Q
Regression Testing
Protection notice / Copyright notice For Internal Use Only
Configuration Status Reporting •
Generating configuration status report in the form of system log by configuration management tool
•
Maintaining a continuous record of the status and history of all baselined items and proposed changes to them
•
Reporting on the traceability of all changes to the baseline throughout the software lifecycle
•
Answers the questions
Page 30
•
What changes have been made to the system?
•
What changes remain to be implemented?
Sep-07
P&Q
Protection notice / Copyright notice For Internal Use Only
Configuration Status Reporting Information required for comprehensive status accounting includes: •
The time at which each baseline was established
•
When each software configuration item is changed and change was included in the baseline
•
A description of each configuration item
•
All change requests
•
The description of each software change
•
The status of each software change request
•
The changes planned for each identified future baseline
•
A configuration item index that lists each configuration item along with its creation date and current released version
•
Change logs that show the history of the changes made to the source files Protection notice / Copyright notice as well asSep-07 their release histories Page 31 P&Q For Internal Use Only
SCM Tasks – Backup Process Backup Management • define the frequency of backup, medium of backup, responsibility of backup •
Identification of medium, storage location (fire proof cabinet), access control
•
System resources (disc space, memory etc...)
•
Course of action for disaster recovery
•
Restoration of Data on sample basis for checking the integrity of backup
Page 32
Sep-07
P&Q
Protection notice / Copyright notice For Internal Use Only
Quiz Q1 Changes in baseline work product is done if: b) PM approves c) CCB approves d) TC approves Q2 What is the next step after receiving a Change Request
Update CM Plan
Make changes to the software
Conduct an impact analysis
Page 33
Sep-07
P&Q
Protection notice / Copyright notice For Internal Use Only
S/W Configuration Audit
Page 34
Sep-07
P&Q
Protection notice / Copyright notice For Internal Use Only
What is Configuration Audit Definition Verification of compliance to the configuration management process defined by the project Verification that • what has been built is in conformance with what was required • change control procedures are followed and records are available • traceability is maintained between specification, product and change requests
Page 35
Sep-07
P&Q
Protection notice / Copyright notice For Internal Use Only
Configuration Audit- Why? • • • • •
Page 36
Prevent the wrong product from being delivered Trap any incomplete implementation (of original specifications and change requests) Identify any mismatches (incompatibilities) between different configuration items Confirm that configuration items are baselined Confirm that the records and documentation maintain the traceability
Sep-07
P&Q
Protection notice / Copyright notice For Internal Use Only
Configuration Audit- When? •
When a software is being delivered or a major release is being made
•
End of every phase
•
Periodically (monthly or alternate months)
Page 37
Sep-07
P&Q
Protection notice / Copyright notice For Internal Use Only
Configuration Audit- Who? • •
Auditee Configuration Manager/ Team Auditor • PQM or • Internal/External auditor or • TC
Page 38
Sep-07
P&Q
Protection notice / Copyright notice For Internal Use Only
Configuration Audit- How? •
Identify when the configuration audits will be done
•
Assign the auditor
•
Define the scope of the audit
•
Prepare the SCM audit checklist
•
Identify Non Conformances [Auditor]
•
Close Non Conformances [PM/CM]
•
Verify closure of Non Conformances [Auditor]
Page 39
Sep-07
P&Q
Protection notice / Copyright notice For Internal Use Only
Configuration Audit Checklist Sl no 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19.
Page 40
CheckList Item Evidence Remarks A reviewed and approved Configuration CM Plan management plan exists Review protocols All configurable items are identified along with CM plan owner for each one of them. Compliance with applicable SCM standards and CM plan procedures is verified. Software baselines are identified. Baseline document Baseline library contents are complete and Baseline document correct. the Changes to baselines, if any are approved by Approved baseline changes approval authority (mentioned in CM plan) Change Request Logs are maintained. Change request logs All Change Requests can be tracked. Change requests Comments in source code Changes are approved by CCB before accepting Approved change requests the same All Changes are documented & tracked to closure. Change requests Changes are reviewed and tested before closure. Closed change requests Items can be traced back to their parents. Tracebility Latest items/documents are in use. Latest baseline Configuration Status Reports are available.(either Status reports through tool or logged manually) All check-ins to the elements in the VOB (like Comments source code )are commented Back-up/ archiving done as per plan Back up records Metrics pertaining to configuration management Metrics data are collected as per QMS requirement Senior management reviews the SCM activities MOM/ mails periodically Appropriate Access Control and CM Plan automation is implemented for the configuration objects Ex. Use of triggers in Clear Case to prohibit remove operation to ordinary users Protection notice / Copyright notice - to automatically broadcast mails when baseline documents are released Sep-07 P&Q For Internal Use Only
Release Management •
Review and Approval of Baselines for Release
•
Release numbering and Release instructions
•
Release Media
•
Release Back-up and Archives
•
Release of Installation Instructions and other deliverables (identified in quality plan)
Page 41
Sep-07
P&Q
Protection notice / Copyright notice For Internal Use Only
Release Management For releases to customer the following are required: •
"Release Notification" is prepared and sent for review and approval to stakeholders.
•
PES meeting may be scheduled, if required
•
Release to be baselined, verified and approved, as per Release Notification
•
Any deviations/concessions taken are documented in the release notification
Page 42
Sep-07
P&Q
Protection notice / Copyright notice Release Notes For Internal Use Only
Software Configuration Management Tools
Page 43
Sep-07
P&Q
Protection notice / Copyright notice For Internal Use Only
SCM Tools There are different SCM Tools available in the market The common tools are VSS,CVS,PVCS,Sub Version The tools like : CM Synergy, ClearCase,Perforce,Serena,StarTeam etc are efficient SCM tools which give support for multi site development.
Page 44
Sep-07
P&Q
Protection notice / Copyright notice For Internal Use Only
Summary
•
Overview to Software Configuration Management
•
Scope of Software Configuration Management
•
Why SCM: Main Classes of Problems
•
Software Configuration Management Tasks
•
Change Control
•
Configuration Management Planning
Page 45
Sep-07
P&Q
Protection notice / Copyright notice For Internal Use Only
Any Questions?
Page 46
Sep-07
P&Q
Protection notice / Copyright notice For Internal Use Only
Thank you for your attention!
Page 47
Sep-07
P&Q
Protection notice / Copyright notice For Internal Use Only