Title: Tua%20Rahikkala
1Software Configuration Management Process
Improvement within a Distributed Environment
BLANKO 98October 22-23, 1998
- Tua Rahikkala
- VTT Electronics
- tua.rahikkala_at_vtt.fi
2BackgroundVISCOUNT
- 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.h
tml
3Background SCM 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)
4SCM Questionnaire Industrial sectors
5SCM Questionnaire Number of personnel
6SCM Questionnaire SW distribution
- Distribution including company offices, daughter
companies and sub-contractors
7SCM Questionnaire Software task distribution
- If software development has been distributed,
what sub-tasks are most distributed? - Prestudy/Idea Phase
- Requirements specification
- Technical design
- Implementation
- Module/unit testing
- Integration testing
- System testing
- Documentation
- Project Management
- Quality Assurance
8SCM Questionnaire Use of SCM tools
9SCM Questionnaire Main development areas
10SCM Questionnaire Main development areas/SCM
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
11Improvement 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/p
rimer/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
12SCM-Pr2imer
13SCM-Pr2imer Phase 1Analysis of the current SCM
practices
14SCM Process
15SCM Current State Analysis 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
16Main Results from Current State Analysis/VAT
- Version manufacturing process is not effective
- When working in distributed environment, VATs
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 VATs distributed environment are not
really known or identified.
17SCM-Pr2imer Phase 2Definition of Goals for New
SCM Practices
18SCM-Pr2imer Phase 2Tasks
- 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)
19Goal-oriented SCM process improvement
20Examples 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
21Example of GQM template
22Use Case Description
23GQM-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!
24Next stepsSCM-Pr2imer 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
25Tool Support for Metrics Collection
26Measurement process
- Data collection was planned to be done by using a
specialised conversion tool and Clear Case
scripts - Generic format for data import both the scripts
and the converter could be reused in the future
improvement cycles
Convert the SCM measurement data with
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)
- MetriFlame
- Data Importing
- Metrics definition
27Example of a MetriFlame graph
28Conclusions 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
29Conclusions 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
30Conclusions 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.
31Questions?
32SCM 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 projects 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.