PM-6 ChangeControl and Configuration Management

You might also like

Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
You are on page 1of 21

Software Project Management

Change Control and Configuration


Management

2
Content
 Change Control
 Configuration Management
 Definition
 Important Terms
 Why Software Configuration Management?
 CM Roles
 Software Configuration Management Activities

3
Change Control
 Change is inevitable throughout the life of the project.
 All projects will have some changes, and managing them is a
key issue in project management.
 Project changes can arise for many reasons,
including:
 Change in the business environment
 Suggestions from the development team, based on an
improved understanding of the users’ requirements.
 The availability of new technology, offering different possible
system solutions.
 New or revised legislation, imposing additional or different
responsibilities on the customer.
 A straightforward change of mind by the users as to what they
want.
4
Configuration Management: Definition
 Configuration Management is the process of
identifying and defining the items in the system,
controlling the changes to these items throughout
their life cycle, recording and reporting the status of
items and change requests, and verifying the
completeness and correctness of items.
(Definition by IEEE - 1983)
 Configuration management attempts to answer the
following basic questions
 What changes were made?
 Who made the changes?
 When were the changes made?
 Why were the changes made?
5
Important Terms
 Configuration Item:
 “Aggregation of work products that is designated for
configuration management and treated as a single entity in the
configuration management process.”
 Software configuration items are not only program code
segments but all type of documents according to
development, e.g.
 all type of code files
 analysis or design documents
 user or developer manuals
 system configurations (e.g. version of compiler used)
 In some systems, not only software but also hardware
configuration items (CPUs, bus speed frequencies) exist!
 Selecting the right configuration items is a skill that takes
practice.

6
Important Terms(cont’d)
 Version:
 The initial release or re-release of a configuration item
associated with a complete compilation or recompilation of the
item.
 Different versions have different functionality.
 Revision:
 Change to a version that corrects only errors in the
design/code, but does not affect the documented
functionality.
 Release:
 The formal distribution of an approved version.

7
Cont’d
 Baseline:
 “A specification or product that has been formally reviewed
and agreed to by responsible management, that thereafter
serves as the basis for further development, and can be
changed only through formal change control
procedures.”
 Examples:
 Baseline A: The API has completely been defined; the bodies
of the methods are empty.
 Baseline B: All data access methods are implemented and
tested.
 Baseline C: The GUI is implemented

8
Why Software Configuration Management?
 One goal of software engineering is to improve how
easy it is to change software.
 Configuration management is all about change
control.
 Change control is the set of procedures that ensure that
changes are made only after due consideration of their impact.
 Configuration management ensures that, if the changes are
implemented, then amendments to each of the affected
deliverables are properly controlled and recorded.
 Every software engineer has to be concerned with
how changes made to work products are tracked and
propagated throughout a project.

9
Configuration Management Roles
 Configuration Manager
 Responsible for identifying configuration items. The
configuration manager can also be responsible for defining the
procedures for creating promotions and releases.
 Change control board (CCB) member
 Responsible for approving or rejecting change requests.

10
Software Configuration Management
Activities
 Software Configuration Management Tasks/Activities
can be generally classified as (Leon, 2000):
 Configuration Identification
 Configuration Control
 Configuration Status Accounting
 Configuration Audit

11
Configuration Identification
 Configuration identification is a process where a system
is divided into uniquely identifiable components for the
purpose of software configuration management.
 These components are called computer software
configuration items (CSCIs) or shorter and more
generally just configuration items (CIs).
 Each CI must be named and versioned uniquely to
distinguish it from the other CIs and from other versions
of Cis.
 Examples of CIs are: project plan, specifications,
design documents, source codes, test plans and test
data, executables, make files, tools, and SCM plan.
12
Configuration Identification(cont’d)
 Every source item should have a status attribute
which defines the level of approval that the item has
achieved.
 An example of the range of status values for an element
code is: untested, module tested and integration tested.
 A document also can have such values as draft, proposed
and approved.

13
Configuration Control
 Software can change very quickly and easily, and
uncontrolled changes can lead to chaos.
 A change request can result from many things.
 For example, new features, enhancements of existing features or
defects can lead to change requests.
 The change control process starts, when a need for change
is noticed.
 A properly completed change request form is sent to the
configuration control board (CCB), whose main function is
to evaluate and to approve or disapprove change requests.
 Change requests can also be deferred when they and their
associated documentation are filed for later resolution.
14
Configuration Control(cont’d)
 If a change request is approved, proposed changes
are assigned to developers to be implemented.
 After implementation, the changes are verified in
various testing procedures to ensure that they have
been implemented as agreed.
 Effective projects control changes, whereas ineffective
projects allow changes to control them
(McConnell,1998).

15
Configuration Status Accounting
 Consists of the recording and reporting of information
needed to manage a configuration effectively, including:
 a listing of the approved configuration identification,
 the status of proposed changes to the configuration and
 the implementation status of approved changes.
 Status accounting reports include change logs,
progress reports, CI status reports and transaction
logs.
 Answers the questions:
 What happened?
 Who did it?
 When did it happen?
 What else will be affected?
16
Configuration Audits
 Purpose of configuration audits:
 Functional Configuration Audit (FCA) - the software
product has been built according to specified requirements,
 Physical Configuration Audit (PCA) - to determine whether
all the items identified as a part of CI are present in the
product baseline, and
 SCM system audit or in-process audit - whether defined
SCM activities are being properly applied and controlled.
 A representative from management, the QA
department, or the customer usually performs such
audits.
 The auditor should have competent knowledge both of
SCM activities and of the project.

17
SCM Plan
 A successful SCM implementation requires careful planning
and management.
 All of the SCM activities introduced above are described in the
SCM plan.
 The main purpose of the SCM plan is to answer such
questions as: who is going to do what, when, where, and
how.
 Thus, the SCM plan serves as a guideline for the people
working with software configuration management.
 A configuration management plan is written for each project.
 However, an organization may use a generic SCM plan
template that can be tailored to each particular project.

18
Outline of a Software Configuration
Management Plan (SCMP, IEEE 828-2012)

1. Introduction 4. Schedule (WHEN?)


 Describes purpose, scope of  Establishes the sequence and
application, key terms and coordination of the SCM activities
references with project mile stones.
2. Management (WHO?) 5. Resources (HOW?)
 Identifies the responsibilities and  Identifies tools and techniques
authorities for accomplishing the required for the implementation of
planned configuration management the SCMP
activities
6. Maintenance
3. Activities (WHAT?)  Identifies activities and
 Identifies the activities to be responsibilities on how the SCMP
performed in applying to the will be kept current during the life-
project. cycle of the project.

19
Reading Assignment
 Configuration Management Tools
 Version Management

20
Assignment
 Prepare Software configuration management
plan(SCMP)

21

You might also like