configuration management at cmm level 2 copyright, 2000 © jerzy r. nawrocki...
TRANSCRIPT
Configuration Management at CMM Configuration Management at CMM Level 2Level 2
Copyright, 2000 © Jerzy R. Nawrocki
www.cs.put.poznan.pl/jnawrocki/mse/require/
Requirements Engineering Requirements Engineering
Lecture 8Lecture 8
Requirements Engineering Requirements Engineering
Lecture 8Lecture 8
J. Nawrocki, Requirements Eng., Lecture 8
Plan of the lecturePlan of the lecturePlan of the lecturePlan of the lecture
IntroductionAbilitiesActivities
J. Nawrocki, Requirements Eng., Lecture 8
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, Requirements Eng., Lecture 8
IntroductionIntroductionIntroductionIntroduction
A way of dealing with changes
Soft. Configuration Management?
Couldn’t youremove the
second floor?
J. Nawrocki, Requirements Eng., Lecture 8
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, Requirements Eng., Lecture 8
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, Requirements Eng., Lecture 8
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, Requirements Eng., Lecture 8
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, Requirements Eng., Lecture 8
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, Requirements Eng., Lecture 8
Base-line
IntroductionIntroductionIntroductionIntroduction
Baseline or SCI?
Engineering
Change it!
Change control
SCI
FTR
SCI
Baseline library
Baseline
J. Nawrocki, Requirements Eng., Lecture 8
Plan of the lecturePlan of the lecturePlan of the lecturePlan of the lecture
Introduction
AbilitiesActivities
J. Nawrocki, Requirements Eng., Lecture 8
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, Requirements Eng., Lecture 8
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, Requirements Eng., Lecture 8
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, Requirements Eng., Lecture 8
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)
J. Nawrocki, Requirements Eng., Lecture 8
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, Requirements Eng., Lecture 8
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, Requirements Eng., Lecture 8
Soft. Configuration Management Group
SCMG
AbilitiesAbilitiesAbilitiesAbilities
SCMG at PUT:• one of Project Managers (4th
year) called S.C. Manager
J. Nawrocki, Requirements Eng., Lecture 8
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, Requirements Eng., Lecture 8
Plan of the lecturePlan of the lecturePlan of the lecturePlan of the lecture
IntroductionAbilities
Activities
J. Nawrocki, Requirements Eng., Lecture 8
ActivitiesActivitiesActivitiesActivities
Ac1. A SCM plan is prepared for each project according to a documented procedure.
I’m afraid, I needa documented
procedure!
J. Nawrocki, Requirements Eng., Lecture 8
ActivitiesActivitiesActivitiesActivities
• The SCM plan is developed not later than the first version of the SRS.
• 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, Requirements Eng., Lecture 8
ActivitiesActivitiesActivitiesActivities
• The SCM plan is approved by the Project Area Manager (Bartek).
• 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, Requirements Eng., Lecture 8
ActivitiesActivitiesActivitiesActivities
Ac2. A documented and approved SCM plan is used as the basis for performing the SCM activities
LatherRinseRepeat
HairManagement
Plan
J. Nawrocki, Requirements Eng., Lecture 8
ActivitiesActivitiesActivitiesActivities
1. Introduction
1.1 Purpose of the Document
1.2 Scope of the Plan
1.3. Definitions, Acronyms, and Abbreviations
1.4 References
2. SCM scheduled activities (establishment of the baseline library system, SCM training, etc.)
SCM Plan (I)
J. Nawrocki, Requirements Eng., Lecture 8
ActivitiesActivitiesActivitiesActivities
3. Products to be placed under SCM
4. Change management procedure (Ac. 5-6)
5. Creating a product from the baseline library
6. Recording the status of configuration items
7. Reporting SCM activities
8. Software baseline audits
SCM Plan (II)
J. Nawrocki, Requirements Eng., Lecture 8
ActivitiesActivitiesActivitiesActivities
Ac3. A configuration management library system is established as a repository for the software baselines (Baseline Library System).
Baseline library
Baseline
J. Nawrocki, Requirements Eng., Lecture 8
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, Requirements Eng., Lecture 8
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, Requirements Eng., Lecture 8
ActivitiesActivitiesActivitiesActivities
BLS at PUT:• HTML pages + (CVS [CVS] or
MS Visual Source Safe)
Baseline Library System (III)
Baseline library
Baseline
J. Nawrocki, Requirements Eng., Lecture 8
ActivitiesActivitiesActivitiesActivities
Ac4. The work products to be placed under configuration management (baselined SCIs) are identified.
Specification
DesignCode
Test cases
J. Nawrocki, Requirements Eng., Lecture 8
ActivitiesActivitiesActivitiesActivities
At minimum:• IPD• SRS• Design• Code• Test cases and test beds
Baselined SCIs at PUT
Specification
DesignCode
Test cases
J. Nawrocki, Requirements Eng., Lecture 8
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, Requirements Eng., Lecture 8
ActivitiesActivitiesActivitiesActivities
Change control at PUT
Change request
Err
User S.C. Manager
Change request
Developer
Change report
SCCB
Deci-sion
J. Nawrocki, Requirements Eng., Lecture 8
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, Requirements Eng., Lecture 8
ActivitiesActivitiesActivitiesActivitiesChange request
Change request number: ............................
Sender: .........................................................
Sender’s e-mail: ...........................................
Date: ..............................................................
Urgency: ................. Importance: ..............
Description: .................................................
.......................................................................
.......................................................................
Evaluator: .....................................................
Evaluate by: ........... Type (in/external) .......
J. Nawrocki, Requirements Eng., Lecture 8
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, Requirements Eng., Lecture 8
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 & Standard SCM plan struct.
J. Nawrocki, Requirements Eng., Lecture 8
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, Requirements Eng., Lecture 8
HomeworkHomeworkHomeworkHomework
• Write SCM plan for your project. (4th year)
• Organise a FTR or Fagan-like inspection of an SCM plan. (5th year)
J. Nawrocki, Requirements Eng., Lecture 8
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?
Project Planning Copyright, 2002 © Jerzy R. Nawrocki [email protected] Quality Management Auxilliary
Quality Assurance Copyright, 2002 © Jerzy R. Nawrocki [email protected] Quality Management Auxiliary