Software Configuration Management

43
Protection notice / Copyright notice Software Configuration Management Induction – Sep 2007

Transcript of Software Configuration Management

Page 1: Software Configuration Management

Protection notice / Copyright notice

Software Configuration Management Induction – Sep 2007

Page 2: Software Configuration Management

Page 2 Sep-07Protection notice / Copyright notice

For Internal Use OnlyP&Q

• 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

Contents

Page 3: Software Configuration Management

Page 3 Sep-07Protection notice / Copyright notice

For Internal Use OnlyP&Q

• 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

Overview: Software Configuration Management

Identify Change, Control Change, Implement Change and Track Change

Page 4: Software Configuration Management

Page 4 Sep-07Protection notice / Copyright notice

For Internal Use OnlyP&Q

Why SCM:Main Classes of Problems

Page 5: Software Configuration Management

Page 5 Sep-07Protection notice / Copyright notice

For Internal Use OnlyP&Q

• 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

Some Typical Problems

Page 6: Software Configuration Management

Page 6 Sep-07Protection notice / Copyright notice

For Internal Use OnlyP&Q

• Double maintenance problem• Shared data• Simultaneous update• Missing/unknown version problem

Main Classes of Problems

Page 7: Software Configuration Management

Page 7 Sep-07Protection notice / Copyright notice

For Internal Use OnlyP&Q

• 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

Main Classes Of Problem: Missing/Unknown Version Problem

Page 8: Software Configuration Management

Page 8 Sep-07Protection notice / Copyright notice

For Internal Use OnlyP&Q

Definitions

Page 9: Software Configuration Management

Page 9 Sep-07Protection notice / Copyright notice

For Internal Use OnlyP&Q

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• 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

Definitions

Page 10: Software Configuration Management

Page 10 Sep-07Protection notice / Copyright notice

For Internal Use OnlyP&Q

Scope of SCM

Page 11: Software Configuration Management

Page 11 Sep-07Protection notice / Copyright notice

For Internal Use OnlyP&Q

• 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.

Scope of SCM

Page 12: Software Configuration Management

Page 12 Sep-07Protection notice / Copyright notice

For Internal Use OnlyP&Q

Configuration Management Planning

Page 13: Software Configuration Management

Page 13 Sep-07Protection notice / Copyright notice

For Internal Use OnlyP&Q

• 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

Configuration Management Planning

Page 14: Software Configuration Management

Page 14 Sep-07Protection notice / Copyright notice

For Internal Use OnlyP&Q

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

Configuration Management Planning

CM Plan template

Page 15: Software Configuration Management

Page 15 Sep-07Protection notice / Copyright notice

For Internal Use OnlyP&Q

Quiz

Q1 The Config Management Plan includes the following:

a) Resource Plan, review details, schedule

b) Baselines, release plan, backup plan, Change Mgmnt plan

c) None of the above

Q2 Configuration Management is

a) The art of identifying, organizing and controlling modifications to

software

b) Is one of the foundations of software engineering

c) Both the above

Page 16: Software Configuration Management

Page 16 Sep-07Protection notice / Copyright notice

For Internal Use OnlyP&Q

S/W Configuration Management Tasks

Page 17: Software Configuration Management

Page 17 Sep-07Protection notice / Copyright notice

For Internal Use OnlyP&Q

• 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

SCM Tasks

Page 18: Software Configuration Management

Page 18 Sep-07Protection notice / Copyright notice

For Internal Use OnlyP&Q

• 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

SCM Tasks –Version Control

Page 19: Software Configuration Management

Page 19 Sep-07Protection notice / Copyright notice

For Internal Use OnlyP&Q

• ‘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

SCM Tasks – Baselines

Page 20: Software Configuration Management

Page 20 Sep-07Protection notice / Copyright notice

For Internal Use OnlyP&Q

• 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”

• Current Configuration - Baselines plus approved changes from those

baselines constitute the current configuration

SCM Tasks – Configuration Items

CI Identification CIs

Page 21: Software Configuration Management

Page 21 Sep-07Protection notice / Copyright notice

For Internal Use OnlyP&Q

• Initial Repository- Comprises 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

• As the project progresses, the subsequent baselines and repositories are created as per project requirements

SCM Tasks – Baseline Repositories

Page 22: Software Configuration Management

Page 24 Sep-07Protection notice / Copyright notice

For Internal Use OnlyP&Q

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.

SCM Tasks – Check-out/Check-in

Page 23: Software Configuration Management

Page 25 Sep-07Protection notice / Copyright notice

For Internal Use OnlyP&Q

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

SCM Tasks – Configuration Control

Page 24: Software Configuration Management

Page 26 Sep-07Protection notice / Copyright notice

For Internal Use OnlyP&Q

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 HumphreyManaging the Software Process

Addison-Wesley, 1989

SCM Tasks – Configuration Control

Page 25: Software Configuration Management

Page 27 Sep-07Protection notice / Copyright notice

For Internal Use OnlyP&Q

• 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.

SCM Tasks – Configuration Control

Page 26: Software Configuration Management

Page 28 Sep-07Protection notice / Copyright notice

For Internal Use OnlyP&Q

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 requestThe individuals, group, or groups who are responsible for evaluating, accepting, and tracking the change proposals for the various baselined productsThe “change impact” analysis required for each requested changeHow the change history should be kept

SCM Tasks – Configuration Control

Page 27: Software Configuration Management

Page 29 Sep-07Protection notice / Copyright notice

For Internal Use OnlyP&Q

Change Requests

ImpactAnalysis

Approval of Change Request from CCB Rejected

Approved Change

Design & ImplementChanges

RegressionTesting

Regression Tested Components

New Version ofSystem Baseline

No

Yes

Incorporating a Change into the Current Configuration Baseline

Page 28: Software Configuration Management

Page 30 Sep-07Protection notice / Copyright notice

For Internal Use OnlyP&Q

• 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

• What changes have been made to the system?

• What changes remain to be implemented?

Configuration Status Reporting

Page 29: Software Configuration Management

Page 32 Sep-07Protection notice / Copyright notice

For Internal Use OnlyP&Q

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

SCM Tasks – Backup Process

Page 30: Software Configuration Management

Page 33 Sep-07Protection notice / Copyright notice

For Internal Use OnlyP&Q

Quiz

Q1 Changes in baseline work product is done if:

a) PM approves

b) CCB approves

c) TC approves

Q2 What is the next step after receiving a Change Request

a) Update CM Plan

b) Make changes to the software

c) Conduct an impact analysis

Page 31: Software Configuration Management

Page 34 Sep-07Protection notice / Copyright notice

For Internal Use OnlyP&Q

S/W Configuration Audit

Page 32: Software Configuration Management

Page 35 Sep-07Protection notice / Copyright notice

For Internal Use OnlyP&Q

DefinitionVerification 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

What is Configuration Audit

Page 33: Software Configuration Management

Page 36 Sep-07Protection notice / Copyright notice

For Internal Use OnlyP&Q

• 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

Configuration Audit- Why?

Page 34: Software Configuration Management

Page 37 Sep-07Protection notice / Copyright notice

For Internal Use OnlyP&Q

• When a software is being delivered or a major release is being made

• End of every phase• Periodically (monthly or alternate months)

Configuration Audit- When?

Page 35: Software Configuration Management

Page 38 Sep-07Protection notice / Copyright notice

For Internal Use OnlyP&Q

• AuditeeConfiguration Manager/ Team

• Auditor• PQM or • Internal/External auditor or• TC

Configuration Audit- Who?

Page 36: Software Configuration Management

Page 39 Sep-07Protection notice / Copyright notice

For Internal Use OnlyP&Q

• 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]

Configuration Audit- How?

Page 37: Software Configuration Management

Page 41 Sep-07Protection notice / Copyright notice

For Internal Use OnlyP&Q

• 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)

Release Management

Page 38: Software Configuration Management

Page 42 Sep-07Protection notice / Copyright notice

For Internal Use OnlyP&Q

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

Release Management

Release Notes

Page 39: Software Configuration Management

Page 43 Sep-07Protection notice / Copyright notice

For Internal Use OnlyP&Q

Software Configuration Management Tools

Page 40: Software Configuration Management

Page 44 Sep-07Protection notice / Copyright notice

For Internal Use OnlyP&Q

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.

SCM Tools

Page 41: Software Configuration Management

Page 45 Sep-07Protection notice / Copyright notice

For Internal Use OnlyP&Q

• 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

Summary

Page 42: Software Configuration Management

Page 46 Sep-07Protection notice / Copyright notice

For Internal Use OnlyP&Q

Any Questions?

Page 43: Software Configuration Management

Page 47 Sep-07Protection notice / Copyright notice

For Internal Use OnlyP&Q

Thank you for your attention!