Sei sulla pagina 1di 22

Introduction to Software Configuration Management (SCM)

Ikram Ahmed Khan


Chief Executive Business Beam (Pvt.) Limited ikram.khan@businessbeam.com

Why do Software Configuration Management?


Some common issues of developers:
I want my work back, and I want it back now. The problem occurred because client was running wrong version of the software. Ops! The bug was solved but it suddenly reappeared. The developed and tested feature is suddenly missing. Ops! Some wrong files were complied and sent to client.

Business Beam (Pvt.) Limited

What is SCM?
Configuration Management is a umbrella activity similar to SPM & SQA. If you dont control the changes, it controls you. SCM is essential part of Project Management and solid software Engineering Practices.
Business Beam (Pvt.) Limited 3

Formal Definition
Software Configuration Management is a set of engineering procedures for tracking and documenting software throughout its life cycle, to ensure that all changes are recorded and current state of the software is known and reproducible.
Business Beam (Pvt.) Limited 4

SCM answers the following questions!


What constitutes the software product at any point in time? What changes have been made to the software product?

Business Beam (Pvt.) Limited

Rational for having SCM


Without SCM, we can face following problems:
Simultaneous Update Redundant work for maintenance Shared code & work products Common Code No Control on Versions

Business Beam (Pvt.) Limited

SCM and Productivity


A project that takes one person 12 months is a 12 man-month project. However, the same project is not likely to be completed by 2 people in 6 months, or 3 people in 4 months. The more people get involved, more time is spent on the communication among the staff. SCM reduce the time spend in communication, and more time is available for software development.

Business Beam (Pvt.) Limited

Functional Areas of SCM


Software Configuration Identification Software Configuration Control SC Status Accounting & Reporting Software Configuration Audits

Business Beam (Pvt.) Limited

Software Configuration Identification (SCI)


SCI involves:
Identifying the structure of the software Uniquely identifying individual components Making them accessible in some form

Goals of SCI:
To create the ability to identify the system components throughout the SDLC To provide traceability between the software & related SCIs.
Business Beam (Pvt.) Limited 9

Software Configuration Identification (cont)


Identification Activity includes:
Selecting items to be placed under SCM control. Developing the software hierarchy. Creating an identification scheme that reflects the software hierarchy. Uniquely identifying the various revisions of the software product. Defining relationships and interfaces between the various software products.

Business Beam (Pvt.) Limited

10

Software Configuration Identification (cont)


SCI methods primarily address the following issues:
Baselines Versions Naming convention

Business Beam (Pvt.) Limited

11

Software Configuration Identification (cont)


What is Software Configuration Item?
Documents Programs (Code) Structures (Model)

Business Beam (Pvt.) Limited

12

Baseline
Baseline represents the assignment of a name to each group of SCIs that are related to each other. A baseline can be defined as a milestone in the development of the software that is marked by the delivery after formal technical review. A baseline is 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 procedures.

Business Beam (Pvt.) Limited

13

Version
When item is baselined, it become frozen. The term frozen means that the item can only be changed by creating a new version. Version Control
It ensures repeatability and the ability to produce any version of the software at any given time.

Version Control Automation


Labels for product Hierarchical Structure Version Making Document Labeling

Business Beam (Pvt.) Limited

14

Change Controls Board (CCB)


Verify
Change Proposals

Implement

Document Change

Accept Review by CCB Reject

Business Beam (Pvt.) Limited

15

SC Status Accounting and Reporting


Configuration Status Reporting also called Status Accounting is an SCM task that may be viewed as an accounting system. Configuration Status Accounting is defined as an element of configuration management, consisting of recording and reporting of information that is needed to manage a configuration effectively.

Business Beam (Pvt.) Limited

16

SC Status Accounting and Reporting (cont)


Purpose
The purpose of software configuration status accounting is to maintain continuous records of the status of all basedline items. It is also used as:
Management Tool Disaster Insurance

Business Beam (Pvt.) Limited

17

SC Status Accounting and Reporting (cont)


Needed Information
The time at which baseline were established. When each SCI was included in the baseline. When each change was added to baseline. A description of each software change. Documentation status of each baseline. A description of each SCI.

Business Beam (Pvt.) Limited

18

SC Status Accounting and Reporting (cont)


Planning: Status accounting reports need to be addressed in detail in the SCM plan:
Type of information that is needed to be reported. Degree of controls on status reporting required by the customer. Status reporting standards, both internal and customer driven.
Business Beam (Pvt.) Limited 19

Software Configuration Audits


Audit should periodically be performed to ensure that the SCM practices and procedures are rigorously followed Ensure the integrity of the software baseline over the product life cycle Should be performed prior to every major baseline change

Business Beam (Pvt.) Limited

20

Software Configuration Audits


The phase review process ensures that proper SCM actions are taken as follows:
Requirements Functional Design Product Operational

Business Beam (Pvt.) Limited

21

Thank You

Potrebbero piacerti anche