Configuration ManagementConfiguration Management
Copyright, 2002 © Jerzy R. Nawrocki
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?
Top Related