Configuration Management Copyright, 2002 © Jerzy R. Nawrocki Jerzy.Nawrocki@put.poznan.pl Quality...

Post on 27-Dec-2015

213 views 0 download

Tags:

Transcript of Configuration Management Copyright, 2002 © Jerzy R. Nawrocki Jerzy.Nawrocki@put.poznan.pl Quality...

Configuration ManagementConfiguration Management

Copyright, 2002 © Jerzy R. Nawrocki

Jerzy.Nawrocki@put.poznan.pl

www.cs.put.poznan.pl/jnawrocki/mse/quality/

Quality ManagementQuality Management

Auxiliary MaterialAuxiliary Material

Quality ManagementQuality Management

Auxiliary MaterialAuxiliary Material

J. Nawrocki, Configuration Manag.

IntroductionIntroductionIntroductionIntroduction

CMMCMM

• Requirements management• Software project planning• Software project tracking and

oversight• Software subcontract

management• Software quality assurance• Software configuration

management

CMM Level 2 - Repeatable

J. Nawrocki, Configuration Manag.

IntroductionIntroductionIntroductionIntroduction

A way of dealing with changes

Soft. Configuration Management?

Couldn’t youremove the

second floor?

J. Nawrocki, Configuration Manag.

IntroductionIntroductionIntroductionIntroduction

Configuration item = “An aggregation of

• hardware, • software, or

both that is designated for configuration management and

treated as a single entity in the configuration management process.” [CMM , IEEE Std 610]

Configuration item [CMM ]

How aboutSRS?

J. Nawrocki, Configuration Manag.

IntroductionIntroductionIntroductionIntroduction

SCI = “Information that is created as part of the software engineering process.” [R.Pressman]

Types of SCIs:• computer programs (source code

or exec)• documents (also manuals)• data (e.g. test cases)

Soft. Configuration Item (SCI)

if (a > b) a-= b;

18 27

J. Nawrocki, Configuration Manag.

IntroductionIntroductionIntroductionIntroduction

• Name (character string)• Description (SCI type, project

identifier, version information, change information)

• Resources required by the SCI (e.g. global variables required to compile the module)

• Realisation (e.g. a link to a text file)

SCI identification

if (a < b) a+= b;

What’s this?

J. Nawrocki, Configuration Manag.

IntroductionIntroductionIntroductionIntroduction

• Basic• Aggregate (composed

of basic or aggregate SCIs)

SCI can be ...

.bat

.pas

Test bed

.in .out

Batch file

Input Expected output

Test suite: an aggr. SCI

J. Nawrocki, Configuration Manag.

IntroductionIntroductionIntroductionIntroduction

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.

Baseline [IEEE 610-1990]

Specification

DesignCode

Test cases

J. Nawrocki, Configuration Manag.

Base-line

IntroductionIntroductionIntroductionIntroduction

Baseline or SCI?

Engineering

Change it!

Change control

SCI

FTR

SCI

Baseline library

Baseline

J. Nawrocki, Configuration Manag.

AbilitiesAbilitiesAbilitiesAbilities

Ab1. A Software Configuration Control Board (SCCB) having the authority for managing the project software baselines exists.

Ab2. A Software Configuration Management Group (SCMG) responsible for co-ordination and implementation of SCM for the project exists.

J. Nawrocki, Configuration Manag.

Soft. Configuration Control Board

AbilitiesAbilitiesAbilitiesAbilities

Authorise: to give official or legal permission for something.

Establish: to start a company, organisation, system, situation etc that is intended to exists or continue for a long time.

Longman Dictionary

J. Nawrocki, Configuration Manag.

Soft. Configuration Control Board

SCCB

AbilitiesAbilitiesAbilitiesAbilities

Authorises:• the establishment of software

baselines,• the identification of configuration

items,• the creation of products from the

baseline library.Represents the interests of the

project manager and all groups affected by changes to baselines.

Reviews and authorises changes.

J. Nawrocki, Configuration Manag.

SCCBs at PUT

SCCB

AbilitiesAbilitiesAbilitiesAbilities

In-SCCB (for changing internal commitments):

• Quality Assurance Group (5th year)• Project Managers (4th year)

Ex-SCCB (for changing external commitments:

• In-SCCB members• Customer representative• Project area manager (Bartek or Adam)

J. Nawrocki, Configuration Manag.

Soft. Configuration Management Group

AbilitiesAbilitiesAbilitiesAbilities

Creation and management the baseline library.

Development, maintenance and distribution of the SCM plans, standards and procedures.

Identification of work products to be placed under SCM.

Management of access to the baseline library.

SCMG co-ordinates or implements:SCMG

J. Nawrocki, Configuration Manag.

Soft. Configuration Management Group

AbilitiesAbilitiesAbilitiesAbilities

Updates of the baselines.Creation of products from the

baseline library.Recording of SCM actions.Production and distribution of SCM

reports.

SCMG co-ordinates or implements:SCMG

J. Nawrocki, Configuration Manag.

Soft. Configuration Management Group

SCMG

AbilitiesAbilitiesAbilitiesAbilities

SCMG at PUT:• one of 4th-year students, called

S.C. Manager

J. Nawrocki, Configuration Manag.

AbilitiesAbilitiesAbilitiesAbilities

Ab3. Adequate resources and funding are provided.

Ab4-5. Software engineers and members of the SCM group are trained to perform their activities.

Is it enough?

J. Nawrocki, Configuration Manag.

ActivitiesActivitiesActivitiesActivities

Ac1. A SCM plan is prepared for each project according to a documented procedure.

I’m afraid, I needa documented

procedure!

J. Nawrocki, Configuration Manag.

ActivitiesActivitiesActivitiesActivities

• The SCM plan is authored by S.C. Manager.• The SCM plan should be baselined, i.e. it

should be placed under SCM.• The SCM plan is reviewed by all the team

members i.e. Quality Assurance Group (5th year), Project Managers (4th year), and Developers (3rd year).

SCM Planning Procedure (I)

J. Nawrocki, Configuration Manag.

ActivitiesActivitiesActivitiesActivities

• The SCM plan is approved by the Project Area Manager (Bartek or Adam).

• The SCM plan is available through the project’s web page along with all the previous versions of it. That web page is maintained by the S.C. Manager and is referenced in the Initial Project Description (IPD).

SCM Planning Procedure (II)

J. Nawrocki, Configuration Manag.

ActivitiesActivitiesActivitiesActivities

Ac2. A documented and approved SCM plan is used as the basis for performing the SCM activities

LatherRinseRepeat

HairManagement

Plan

J. Nawrocki, Configuration Manag.

ActivitiesActivitiesActivitiesActivities

• Products to be placed under SCM• Change management procedure (Ac. 5-6)• Creating a product from the baseline library• Recording the status of configuration items• Reporting SCM activities• Software baseline audits

SCM Plan Items

J. Nawrocki, Configuration Manag.

ActivitiesActivitiesActivitiesActivities

Ac3. A configuration management library system is established as a repository for the software baselines (Baseline Library System).

Baseline library

Baseline

J. Nawrocki, Configuration Manag.

ActivitiesActivitiesActivitiesActivities

Storage and retrieval of SCIs.

Sharing and transfer of SCIs within the project team.

Helps in the use of product standards for SCIs.

Storage and recovery of archive versions of SCIs.

Baseline Library System (I)

Baseline library

Baseline

J. Nawrocki, Configuration Manag.

ActivitiesActivitiesActivitiesActivities

Helps to ensure correct creation of products from the baseline library.

Storage, update, and retrieval of SCM records.

Supports production of SCM reports.

Maintenance of the library structure and contents

Baseline Library System (II)

Baseline library

Baseline

J. Nawrocki, Configuration Manag.

ActivitiesActivitiesActivitiesActivities

BLS at PUT:• HTML pages + (CVS [CVS],

Source Safe or ClearCase)

Baseline Library System (III)

Baseline library

Baseline

J. Nawrocki, Configuration Manag.

ActivitiesActivitiesActivitiesActivities

Ac4. The work products to be placed under configuration management (baselined SCIs) are identified.

Specification

DesignCode

Test cases

J. Nawrocki, Configuration Manag.

ActivitiesActivitiesActivitiesActivities

At minimum:• IPD• SRS• Design• Code• Test cases and test beds

Baselined SCIs at PUT

Specification

DesignCode

Test cases

J. Nawrocki, Configuration Manag.

ActivitiesActivitiesActivitiesActivities

Ac5. Change requests & problem reports for all SCIs are

• initiated, • recorded, • reviewed,• approved, and• tracked

according to a documented procedure.

Remove2nd floor!

J. Nawrocki, Configuration Manag.

ActivitiesActivitiesActivitiesActivities

Change control at PUT

Change request

Err

User S.C. Manager

Change request

Developer

Change report

SCCB

Deci-sion

J. Nawrocki, Configuration Manag.

ActivitiesActivitiesActivitiesActivities

Change control at PUT

Change request

Err

User S.C. Manager

Change request

Developer

Change report

SCCB

Deci-sion

Change order

P. Manager

J. Nawrocki, Configuration Manag.

ActivitiesActivitiesActivitiesActivitiesChange request

Change request number: ............................

Sender: .........................................................

Sender’s e-mail: ...........................................

Date: ..............................................................

Urgency: ................. Importance: ..............

Description: .................................................

.......................................................................

.......................................................................

Evaluator: .....................................................

Evaluate by: ........... Type (in/external) .......

J. Nawrocki, Configuration Manag.

ActivitiesActivitiesActivitiesActivitiesChange report

Change request number: ..........................

Evaluator: ...................................................

Evaluator’s e-mail: .....................................

Date: ............................................................

Urgency: ................ Importance: ..............

Is the change justifiable? ..........................

Main risk factors: .......................................

Possible implementor: ..............................

Change implement. effort (expect): .........

Change evaluation effort (actual): ............

J. Nawrocki, Configuration Manag.

Baseline

ActivitiesActivitiesActivitiesActivities

Ac6. Changes to baselines are controlled according to a documented procedure.

J. Nawrocki, Configuration Manag.

Check-in

ActivitiesActivitiesActivitiesActivities

Changing executable baselines at PUT

Developer

Change order

Baseline library

Baseline

SCI

Regressiontester

Test report

SCCB/FTR

SCI

S.C. Manager

Baseline

Check-out

J. Nawrocki, Configuration Manag.

Check-in

ActivitiesActivitiesActivitiesActivities

Changing non-executable baselines

Developer

Change order

Baseline library

Baseline

SCI

SCCB/FTRS.C. Manager

Baseline

Check-out

J. Nawrocki, Configuration Manag.

ActivitiesActivitiesActivitiesActivities

Software product = The complete set, or any of the individual items of the set, of computer programs, procedures, and associated documentation and data designated for delivery to a customer or end user. [IEEE-STD-610]

GlossarySoftware work product = Any artefact

created as part of defining, maintaining or using a software process. They (..) may or may not be intended for a delivery to a customer or end user.

J. Nawrocki, Configuration Manag.

Product

ActivitiesActivitiesActivitiesActivities

Ac7. Products from the software baseline library are created and their release is controlled according to a documented procedure.

• The SCCB authorises creation of products from the baseline lib.

• Products are build only from baselines.

J. Nawrocki, Configuration Manag.

ActivitiesActivitiesActivitiesActivities

Creating a product at PUT

S.C. Manager

Baseline library

Baseline

Product

Integrationtester

Test report

Ex-SCCB/FTR

Product

Customer/End user

J. Nawrocki, Configuration Manag.

ActivitiesActivitiesActivitiesActivities

Ac8. The status of SCIs is recorded according to a documented procedure

• The CM actions are recorded so that the content and status of each SCI are known and previous versions can be recovered.

• The current status & history of each SCI are maintained

S.C. Manager

J. Nawrocki, Configuration Manag.

ActivitiesActivitiesActivitiesActivities

Ac9. Standard reports documenting the SCM activities and the contents of the software baseline [library - JN] are developed and made available to affected groups and individuals.

S.C. Manager

J. Nawrocki, Configuration Manag.

ActivitiesActivitiesActivitiesActivities

Ac10. Software baseline audits are conducted according to a documented procedure.

Baseline

J. Nawrocki, Configuration Manag.

ActivitiesActivitiesActivitiesActivities

Audit = An independent examination of a work product or set of work products to assess compliance with specifications , standards, contractual agreements, or other criteria. [IEEE-STD-610]

Glossary

J. Nawrocki, Configuration Manag.

ActivitiesActivitiesActivitiesActivities

• There is adequate preparation for the audit.• The integrity of software baselines is

assessed.• The structure and facilities of the

configuration management library system are reviewed.

• The completeness and correctness of the software baseline library contents are verified.

Audit procedure for baselines (I)

J. Nawrocki, Configuration Manag.

ActivitiesActivitiesActivitiesActivities

• Compliance with applicable SCM standards and procedures is verified.

• The results of the audit are reported to the project software manager.

• Action items from the audit are tracked to closure.

Audit procedure for baselines (II)

J. Nawrocki, Configuration Manag.

ActivitiesActivitiesActivitiesActivities

1. Has the change specified in the change order been made? Have any additional modifications been incorporated?

2. Has a FTR been conducted to assess technical correctness?

3. Have software engineering standards been properly followed?

Audit questions [Pressman]

J. Nawrocki, Configuration Manag.

ActivitiesActivitiesActivitiesActivities

4. Has the change been “highlighted” in the SCI? Have the change date and change author been specified? Do the attributes of the configuration object reflect the change?

5. Have SCM procedures for noting the change, recording it, and reporting it been followed?

6. Have all related SCIs been properly updated?

Audit questions [Pressman]

J. Nawrocki, Configuration Manag.

SummarySummarySummarySummary

• A baseline is a kind of SCI.• Baselines can be identified

and accessible through their web pages.

• A SCCB at PUT consists of QAs and Project Managers.

• A SCMG at PUT consists of one person called S.C. Manager.

• SCM Planning procedure

J. Nawrocki, Configuration Manag.

SummarySummarySummarySummary

• Procedure for controlling changes to executable and non-executable baselines.

• Procedure for creating a product.

• Audit procedure for baselines.

J. Nawrocki, Configuration Manag.

Further readingsFurther readingsFurther readingsFurther readings

[CMM] M.C. Paulk et. al.,The Capability Maturity Model: Guidelines for Improving the Software Process, Addison-Wesley, Reading, 1994.

[Pressman] R. Pressman, Software Engineering. A practitioner’s Approach, McGraw Hill, New York, 1997.

[CVS] http://www.loria.fr/~molli/cvs/doc/ cvs_toc.html

J. Nawrocki, Configuration Manag.

Quality assessmentQuality assessmentQuality assessmentQuality assessment

1. What is your general impression? (1 - 6)

2. Was it too slow or too fast?

3. What important did you learn during the lecture?

4. What to improve and how?