Upload
kamil
View
34
Download
1
Embed Size (px)
DESCRIPTION
Software Configuration Management Process Improvement within a Distributed Environment BLANKO ‘98 October 22-23, 1998. Tua Rahikkala VTT Electronics [email protected]. Background VISCOUNT. EU/Esprit project 25754 1.9.1997-31.12.1999 - PowerPoint PPT Presentation
Citation preview
Page 1V T T E L E C T R O N I C STua Rahikkala
October 23, 1998
Tua RahikkalaVTT Electronics
Software Configuration Management Process Improvement within a
Distributed Environment BLANKO ‘98
October 22-23, 1998
Page 2V T T E L E C T R O N I C STua Rahikkala
October 23, 1998
BackgroundBackgroundVISCOUNTVISCOUNT
EU/Esprit project 25754 1.9.1997-31.12.1999 The objective of the VISCOUNT project is to develop a SCM tool
and SCM methods for use in a geographically distributed environment
More VISCOUNT information:– http://www.baesema.co.uk/stg/viscount/index.htm– http://www.ele.vtt.fi/projects/viscount/vischome.html
Page 3V T T E L E C T R O N I C STua Rahikkala
October 23, 1998
Background Background SCM QuestionnaireSCM Questionnaire
Made during 09-10/98 Objective was to investigate software development distribution and
SCM improvement areas of industrial organisations 38 answers (13.10.1998) Questions:
industrial sector, company size, number of SW professionals software development and distribution SCM tools SCM development areas (28 areas, score 1-5)
Page 4V T T E L E C T R O N I C STua Rahikkala
October 23, 1998
SCM Questionnaire SCM Questionnaire Industrial sectorsIndustrial sectors
22 %
12 %
15 %
10 %
27 %
12 %
2 %
telecommunication electronic instruments
consumer electronics machine automationprocess automation software production
other
Page 5V T T E L E C T R O N I C STua Rahikkala
October 23, 1998
SCM Questionnaire SCM Questionnaire Number of personnelNumber of personnel
Company size/personnel5 %
22 %
19 %
54 %
1 - 2020 - 50 50 - 250> 250
Number of software professionals
40 %
30 %
15 %
15 %
1 - 2020 - 5050 - 250> 250
Page 6V T T E L E C T R O N I C STua Rahikkala
October 23, 1998
SCM Questionnaire SCM Questionnaire SW distributionSW distribution
Distribution including company offices, daughter companies and sub-contractors:
48 %
24 %
17 %
7 %4 %
Finland Europe USA other no distribution
Page 7V T T E L E C T R O N I C STua Rahikkala
October 23, 1998
SCM Questionnaire SCM Questionnaire Software task distributionSoftware task distribution
If software development has been distributed, what sub-tasks are most distributed?
Prestudy/Idea PhaseRequirements specificationTechnical designImplementationModule/unit testingIntegration testingSystem testingDocumentationProject ManagementQuality Assurance
05
1015202530
Page 8V T T E L E C T R O N I C STua Rahikkala
October 23, 1998
SCM Questionnaire SCM Questionnaire Use of SCM toolsUse of SCM tools
18 %
7 %
33 %
20 %
2 %
20 %Clear CaseContinuus PCMS/PVCS Visual SourceSafeother nothing
Page 9V T T E L E C T R O N I C STua Rahikkala
October 23, 1998
SCM Questionnaire SCM Questionnaire Main development areasMain development areas
0
5
10
15
20
25
quality assurance andaudits
release/version building communication SCM processimprovement
12345
Page 10V T T E L E C T R O N I C STua Rahikkala
October 23, 1998
SCM Questionnaire SCM Questionnaire Main development areas/Main development areas/
SCM toolSCM tool
ClearCase, Continuus: quality assurance and audits communication SCM process improvement product conformity management
PCMS/PVCS, Visual SourceSafe, others: SCM process improvement communication quality assurance and audits release/version building
No SCM tool: SCM process improvement product conformity management module version management documentation version management
Page 11V T T E L E C T R O N I C STua Rahikkala
October 23, 1998
Improvement FrameworkImprovement Framework
Pr2imer (Practical Process Improvement for Embedded Real-Time Software) is an approach to process improvement and measurement developed at VTT Electronics. (http://www.ele.vtt.fi/projects/primer/primer.htm)
In this work, the focus of the Pr2imer approach is on SCM. Therefore, we call our approach SCM- Pr2imer
GQM (Goal/Question/Metric) used as a part of SCM-Pr2imer MetriFlame
Page 12V T T E L E C T R O N I C STua Rahikkala
October 23, 1998
SCM-PrSCM-Pr22imerimer
ANALYSIS OFTHE
CURRENT SCMPRACTICES
DEFINITION OFGOALS
FORNEW SCM
PRACTICES
PLAN FORSCM IM-PROVEMENT
STEPS
1.
2.3.
4.
SOFTWAREDEVELOPMENT AND
MAINTENANCE
PILOTOPERATION
ANDCOMMISSIONING
Page 13V T T E L E C T R O N I C STua Rahikkala
October 23, 1998
SCM-PrSCM-Pr22imer Phase 1:imer Phase 1:Analysis of the current SCM practicesAnalysis of the current SCM practices
Q u al ita tiv ean a ly sis
Q u an titativ ean alysis
BootstrapSPICE
ANALYSIS OFCURRENT SCM
PRACTICESInterviews
CMMMetrics
Analysisframework
MATURITY LEVEL OFSCM IN
SOFTWARE PRODUCTION
DESCRIPTIONS OF THECURRENT SCM PROCESS- strengths- improvement areas
P R O S E S S IM A L L ISCM PROCESS MODEL
Page 14V T T E L E C T R O N I C STua Rahikkala
October 23, 1998
SCM Process SCM Process
ConfigurationAuditing
Software ConfigurationManagement
(SCM)
ConfigurationIdentification
ConfigurationStatus Accounting
Change Control
Releasemanufacturing and
management
SCM-Teamwork
SCM-Planning
Page 15V T T E L E C T R O N I C STua Rahikkala
October 23, 1998
SCM Current State SCM Current State Analysis at VATAnalysis at VAT
VAT = Valmet Automation Oy Pilot projects in the SCM-Pri2mer program:
– 1 Maintenance project– 1 Development project– Logistics department
Analysis steps– Analysis planning– Interviews– Feedback session I– Quantitative assessment (SCM-Pr2imer question list, BOOTSTRAP)– Feedback session II and planning of further work
Page 16V T T E L E C T R O N I C STua Rahikkala
October 23, 1998
Main Results from Main Results from Current State Current State Analysis/VATAnalysis/VAT
Version manufacturing process is not effective When working in distributed environment, VAT’s information
sharing between project participants is not effective in all cases, and the practices vary depending on projects and individuals
Changes are not always documented, and the documentation practices are not clear
The special requirements and properties of SCM within VAT’s distributed environment are not really known or identified.
Page 17V T T E L E C T R O N I C STua Rahikkala
October 23, 1998
SCM-PrSCM-Pr22imer Phase 2:imer Phase 2:Definition of Goals for New SCM PracticesDefinition of Goals for New SCM Practices
Goal
Definition ofSCM goals
Definition ofuse cases
Description ofSCM methods
and tools
DEFINITION OFGOALS FORIMPROVED
SCM PRACTICES
for SCMtarget state
GQM
Interviews
Team-work
Brainstorming
Goal
GOALS FOR SCMIMPROVEMENT
DESCRIPTIONS OFTHE NEW SCM
PROCESS, METHODSAND TOOLS
USE CASE MODELSOF THE NEW SCM
PROCESS
Page 18V T T E L E C T R O N I C STua Rahikkala
October 23, 1998
SCM-PrSCM-Pr22imer: Phase 2imer: Phase 2TasksTasks
Identify improvement objectives and goals for the SCM process Evaluate and select methods and tools for the improved SCM
process Identify and model the target state of the SCM process (Use case
approach) Definition of new methods and practices (SCM requirements)
Page 19V T T E L E C T R O N I C STua Rahikkala
October 23, 1998
Goal-oriented SCM Goal-oriented SCM process improvementprocess improvement
Q3 Q4 . . . . .
Use case
SummaryFrequencyParticipants/RolesPreconditionsExceptionsIllustrationsPostconditionsDescription
Use case
SummaryFrequencyParticipants/RolesPreconditionsExceptionsIllustrationsPostconditionsDescription
Implicit models of the target sta
te
M1 M2 M3 M4 M5 M6 M7 . . . . .
Variationfactors
Metrics
Environment
Goal
Object
Purpose
QualityfocusViewpoint
Q1 Q2
Page 20V T T E L E C T R O N I C STua Rahikkala
October 23, 1998
Examples of SCM goalsExamples of SCM goals
Goal 1: Analyse the version building process for the purpose of improving it with respect to effectiveness from the project team point of view in the context of distributed environment
Goal 2: Analyse the change control process for the purpose of improving it with respect to traceability of changes from the project team point of view in the context of distributed environment
Goal 3: Analyse the SCM training and support material for the purpose of improving and developing it with respect to learning from the project team point of view in the context of distributed environment
Page 21V T T E L E C T R O N I C STua Rahikkala
October 23, 1998
Example of GQM template Example of GQM template
Object purpose quality focus viewpoint environment Name: XXXX
Version buildprocess
improving effectiveness project team distributedenvironment
Date: 29.01.1998
Quality Focus
Number of the failures after version building Number of the rebuilding activities Spent time for version reporting activity The work time for version building etc.
Variation Factors
All elements that belong to a release are checked inbefore version building The dependence between changed elements and
control scripts can be checked automatically. The information whether the change belong to a
release or not can be checked easily. The information process of changes (e.g. changes
to libraries or interface programs) is described andtaken in use.
The version information is updated by developersafter the change have been made and the linkbetween the failure database and the version database are
created at the same time. The release CD can be checked before it is sent to
logistics group The check list for version building is made etc.
Baseline hypothesis Failures are found in every release after version building Releases have to be built again at least once every time Version reporting can take 0.5-1 person workday Version building process can take 3-4 person work day etc.
Impact on baseline hypothesis The number of failures diminish Release versions are built once Version reporting takes 2 hours Version building process takes 1 person work day etc.
Page 22V T T E L E C T R O N I C STua Rahikkala
October 23, 1998
Use Case DescriptionUse Case Description
Use case
SummaryFrequencyParticipants/RolesPreconditionsExceptionsIllustrationsPostconditionsDescription
Role2Developer
Role1Project manager
Role3Test team
Role netc.
Use case description
Use case description
Use case description
Use case description
Use case description
Use Case Description and Roles
Page 23V T T E L E C T R O N I C STua Rahikkala
October 23, 1998
GQM-planningGQM-planning
Goals and use cases were refined to measurable questions and metrics by interviewing all involved persons for retrieving the required information
Examples:– What is the number of building errors?
• M_1.1: Number of times a release has to be built again/customer release
• M_1.2: Number of new source files/release– Why a release has to be built again?
• M_2.1: Number of changed source files/release• M_2.2: Number of revisions of code rows/labelled file version
– etc. Feedback sessions!
Page 24V T T E L E C T R O N I C STua Rahikkala
October 23, 1998
Next stepsNext stepsSCM-PrSCM-Pr22imer: Phases 3-4imer: Phases 3-4
Plan for Data Collection• Manually collected metrics• Automatically collected metrics (e.g. ClearCase - MetriFlame
interface)• Templates for data collection
Tool Support for Metrics Collection• MetriFlame (http://www.ele.vtt.fi) for SCM data collection and
measurement process • Calculation templates (rules for metrics calculation)
Result analysis and feedback sessions
Page 25V T T E L E C T R O N I C STua Rahikkala
October 23, 1998
Tool Support for Metrics Tool Support for Metrics CollectionCollection
MetriFlame* Metrics definition (GQM),* Metrics lists,* Metrics collection,* Result analysis.
MetriFlame database
* metrics definitions* metrics data* metrics results* metrics history.
Data
colle
ction
and
conv
ersion
Data
conv
ersion
SCM tool (LIFESPAN,Clear Case)
Specific databaseapplications
* hours reporting* defects reporting
Manually collectedmetrics
* excel forms* text fi les
7 %13 %
20 %
27 %
33 %
0 100
1
3
5
Fatal
Major
Minor
Results analysis
Page 26V T T E L E C T R O N I C STua Rahikkala
October 23, 1998
Measurement processMeasurement process
MetriFlame• Data Importing
•Metrics definition
ClearCase•SCM Data
Convert the SCM
measurement datawith converter
MetriFlame• Result
presentation
Calculate the metrics with MetriFlame
(based on the measurement
data)
Metrics analysis during the
feedback sessions (based on the
analysis material)
Graphs/analysis material
( based on the calculated
metrics)
Data collection was planned to be done by using a specialised conversion tool and Clear Case scriptsGeneric format for data import both the scripts and the converter could be reused in the future improvement cycles
Page 27V T T E L E C T R O N I C STua Rahikkala
October 23, 1998
Example of a MetriFlame Example of a MetriFlame graphgraph
Page 28V T T E L E C T R O N I C STua Rahikkala
October 23, 1998
Conclusions 1/3Conclusions 1/3
SCM process improvement within a distributed environment is an important development area– 1. SCM Process improvement– 2. Communication– 3. Quality assurance and audits– 4. Release/version building
Systematic SCM process improvement methods are needed
ANALYSIS OFTHE
CURRENT SCMPRACTICES
DEFINITION OFGOALS
FORNEW SCM
PRACTICES
PLAN FORSCM IM-PROVEMENT
STEPS
1.
2.3.
4.
SOFTWAREDEVELOPMENT AND
MAINTENANCE
PILOTOPERATION
ANDCOMMISSIONING
Page 29V T T E L E C T R O N I C STua Rahikkala
October 23, 1998
Conclusions 2/3Conclusions 2/3
Process improvement should be based on the goals of the organisation and projects (commitment, resources, real-world problems)
Experiences from use cases are encouraging: – Increase understanding of specific process area (SCM)– tool for communication– test and education material– requirements analysis via use cases
Feedback sessions and commenting rounds are essential
Page 30V T T E L E C T R O N I C STua Rahikkala
October 23, 1998
Conclusions 3/3Conclusions 3/3
Tool support for metrics collection is important Measurements increase visibility of the process and thus make
process improvement more achievable and justified. The awareness of SCM and its influence on process and product
quality increases inside the organisation due to the improvement activities.
Page 31V T T E L E C T R O N I C STua Rahikkala
October 23, 1998
Questions?Questions?
Page 32V T T E L E C T R O N I C STua Rahikkala
October 23, 1998
SCM ConceptsSCM Concepts
Used in this presentation…
Software Configuration Management (SCM) is a discipline for establishing and maintaining the integrity of the products of the software projects throughout the project’s lifecycle
The basic concept of SCM is a Software Configuration Item (SCI), which can be a unit or a collection of lower-level items (source code, documentation, test data, executable code, specifications, etc.)
During software development and maintenance SCIs undergo changes i.e. series of versions.
A release is a particular version of a SCI that is made available for a specific purpose such as a customer delivery.