Variation Management: Efficiency in providing customized ... unique lines (only one variant) Variant...

51
© Fraunhofer IESE 1 August 31, 2013 August 31, 2013 Variation Management: Efficiency in providing customized solutions Dr. Martin Becker http://www.iese.fraunhofer.de/en/competencies/variation_management.html

Transcript of Variation Management: Efficiency in providing customized ... unique lines (only one variant) Variant...

Page 1: Variation Management: Efficiency in providing customized ... unique lines (only one variant) Variant Analysis – Result Browsing Distribution diagrams show how the similarity is distributed

© Fraunhofer IESE

1

August 31, 2013August 31, 2013

Variation Management: Efficiency in providing customized solutionsDr. Martin Becker

http://www.iese.fraunhofer.de/en/competencies/variation_management.html

Page 2: Variation Management: Efficiency in providing customized ... unique lines (only one variant) Variant Analysis – Result Browsing Distribution diagrams show how the similarity is distributed

© Fraunhofer IESE

2

Variation Management

Customers request specialized products adapted to their needs

Building variants in a clown-and-own-manner multiplies quality issuesand increases maintenance costs

Product Line Engineering actively addresses variation management

Huge upfront investments have to be avoided

Lightweight adoption

Tool-supported transition

Page 3: Variation Management: Efficiency in providing customized ... unique lines (only one variant) Variant Analysis – Result Browsing Distribution diagrams show how the similarity is distributed

© Fraunhofer IESE

3

Typical Settings and Challenges for Variation Management

Clo

ned

Solu

tio

ns

Plat

form

Pro

du

ct/ P

roje

ct /

Co

mp

on

ent

Lin

e

Pro

du

ctPo

pu

lati

on

Co

nfi

gu

rab

lePr

od

uct

bas

e

Patc

hw

ork

Port

folio

Increased management

efforts & quality problems

Increased management

efforts & quality problems

UnclearFeature

Portfolio

UnclearFeature

Portfolio

Re-developmentof features

Re-developmentof features

Increasing search costs in opportunistic

reuse bases

Increasing search costs in opportunistic

reuse bases

Reuse in the small

Reuse in the small

Lack of resourcesfor VM improvements

Lack of resourcesfor VM improvements

InfrastructreErosion aka.Preprocessor

Hell

InfrastructreErosion aka.Preprocessor

Hell

Increasing QAefforts due tohuge variation

space

Increasing QAefforts due tohuge variation

space

InconsistentVariability

Models

InconsistentVariability

Models

VariabilityErosion

VariabilityErosion

Prolongedchangecycles

Prolongedchangecycles

Coordinationof development

for and with reuse

Coordinationof development

for and with reuse

Explosion of variation space, due to unclearconstraints and

extreme flexibility

Explosion of variation space, due to unclearconstraints and

extreme flexibility

Lostinvestments due to overlygeneric assets

Lostinvestments due to overlygeneric assets

High adaptation and integration

costs of coreassets,

aka. Version Hell

High adaptation and integration

costs of coreassets,

aka. Version Hell

Incompleteconfiguration

knowledge

Incompleteconfiguration

knowledge

Unmanagedclones

Unmanagedclones

Divergingsea of

look-alikes

Divergingsea of

look-alikes

Page 4: Variation Management: Efficiency in providing customized ... unique lines (only one variant) Variant Analysis – Result Browsing Distribution diagrams show how the similarity is distributed

© Fraunhofer IESE

11

Page 5: Variation Management: Efficiency in providing customized ... unique lines (only one variant) Variant Analysis – Result Browsing Distribution diagrams show how the similarity is distributed

© Fraunhofer IESE

12

VM Project Examples

Page 6: Variation Management: Efficiency in providing customized ... unique lines (only one variant) Variant Analysis – Result Browsing Distribution diagrams show how the similarity is distributed

© Fraunhofer IESE

13

Project Example: Potential Analysis

Analyze existing configuration interdependencies Incremental refactoring of configurability & reusability without decreasing performance

Customer Situation & Motivation

Project Goals

Composition of VaRiS Services

Mid‐sized embedded system product line, configured with home‐grown techniques Increasing difficulty to understand & change configuration interdependencies Lack of change due to fear of performance penalties

Tool‐based Analysis of Artifacts

Assessment  of VM practices

Innovation and Evolution Plan

Continuous IntegrationIntegration of VM in Code

Page 7: Variation Management: Efficiency in providing customized ... unique lines (only one variant) Variant Analysis – Result Browsing Distribution diagrams show how the similarity is distributed

© Fraunhofer IESE

14

Project Example: Potential Analysis

ResultsGoal Artifact Comments

VM-Approach - Not existing

Requirements Requirements.txt Serves as product map• Partially incomplete, also documents commonalities• Inconsistent representation of features

Modelling Database.sql Serves as variability model• Not traceable

Architecture Architecture.eap Only rudimentary

Implementation Code (*.[ch]) Rather consistent, but overly complex implementation

Rating: OKsome deficitscritical deficits

Assessment:

=> Recommended next activities: 1) …

Analysis &Improvement:

Macro # Files Var. Type

HAS_FEATURE_1 290 optional

HAS_FEATURE_2 132 optional

IS_ALT_1 98 alternative

HAS_FEATURE_3 86 optional

IS_ALT_2 85 alternative

Most frequent variants

Page 8: Variation Management: Efficiency in providing customized ... unique lines (only one variant) Variant Analysis – Result Browsing Distribution diagrams show how the similarity is distributed

© Fraunhofer IESE

17

Project Example: Cloned Variants

Analyze existing implementations for common & variant elements Incrementally refactor existing systems to product line infrastructure & integrate new ones

Customer Situation & Motivation

Project Goals

Composition of VaRiS Services

Several large (> 1 MLOC) embedded systems duplicated from each other and diverging over years Consistent maintenance more and more expensive New systems and system variants must be added

Tool‐based Analysis of Artifacts

Assessment  of VM practices

Innovation and Evolution Plan

Integration of VM in Code

Configuration Management

Support for VM Tool Adoption

Page 9: Variation Management: Efficiency in providing customized ... unique lines (only one variant) Variant Analysis – Result Browsing Distribution diagrams show how the similarity is distributed

© Fraunhofer IESE

18

Project Example: Cloned Variants

ResultsSource Code Analyses:

Subsystem dependencies

Variant analysis

Product1Product2Product3

Product1Product2Product3

Dead code removal results Similarity analysis

Page 10: Variation Management: Efficiency in providing customized ... unique lines (only one variant) Variant Analysis – Result Browsing Distribution diagrams show how the similarity is distributed

© Fraunhofer IESE

19

Project Example: Cloned Variants -> Platform

Understand reuse potential in the existing artefacts Understand relations in the existing code Outline suitable VM approach

Customer Situation & Motivation

Project Goals

Composition of VaRiS Services

Automotive Supplier of sensor  ECUs Several cloned variants Wants to adopt PLE approach to save time, effort

Potential Analysis

Tool‐based Analysis of Artifacts

Scoping Workshop Domain Assessment

Page 11: Variation Management: Efficiency in providing customized ... unique lines (only one variant) Variant Analysis – Result Browsing Distribution diagrams show how the similarity is distributed

© Fraunhofer IESE

20

Project Example: Cloned Variants -> Platform

Understand reuse potential Adopt strategic reuse approach

Customer Situation & Motivation

Project Goals

Composition of VaRiS Services

Supplier of brake systems Transition from project to product‐centric development Existing variants

Tool‐based Analysis of Artifacts

Assessment  of VM practices Scoping

Potential Analysis

Page 12: Variation Management: Efficiency in providing customized ... unique lines (only one variant) Variant Analysis – Result Browsing Distribution diagrams show how the similarity is distributed

© Fraunhofer IESE

21

Project Example: Cloned Variants -> Platform

Results

uc Function2FeatreMapping

(from FunctionElements)

Sanding

(from FunctionElements)

SandingPressureControl

(from FunctionElements)

IsolateSanding

(from FunctionElements)

SandingCoreFct

<<OptionalFeature>> Sanding

(from FeatureElements)

<<OptionalFeature>> IsolateSanding

(from FeatureElements)

<<MandatoryFeature>> SandingPressureControl

(from FeatureElements)

«include»«include» «extend»

Platform Development

Potential Analysis

Page 13: Variation Management: Efficiency in providing customized ... unique lines (only one variant) Variant Analysis – Result Browsing Distribution diagrams show how the similarity is distributed

© Fraunhofer IESE

22

Project Example: Patchwork Portfolio -> Product Line

Introduce product line development to integrate product departments Reduce costs and be able to develop more complex products

Customer Situation & Motivation

Project Goals

Composition of VaRiS Services

Suppliers of portable measurement instruments for temperature, pressure, and gas concentration Two product departments each responsible for a different, but similar set of products

Integration of VM in Architecture

Tool‐based Analysis of Artifacts

Scoping Workshop Domain Assessment

Configuration Management

Integration of VM in Code

Page 14: Variation Management: Efficiency in providing customized ... unique lines (only one variant) Variant Analysis – Result Browsing Distribution diagrams show how the similarity is distributed

© Fraunhofer IESE

23

Project Example: Patchwork Portfolio -> Product Line

Results

Reuse level increased from 17% (2002, start of PL) to 34% (first PL generation) to more than 50%(2009, 3rd generation)

More than 15 products produced with the product line

Product line architecture is a central asset in the development

Maintainability increased significantly (e.g. architectural divergences decreased from 17% to 1%)

Page 15: Variation Management: Efficiency in providing customized ... unique lines (only one variant) Variant Analysis – Result Browsing Distribution diagrams show how the similarity is distributed

© Fraunhofer IESE

24

Projects: VM Tool Adoption

Understand different VM modeling approaches Understand how to model VM in a System of System setting Get modeling guidelines and best practices to model in a suitable and standardized way

Customer Situation & Motivation

Project Goals

Results

International automotive OEM Wants to adopt VM tool in large scale PL

Hierarchical Product Lines with Modular Decomposition Decomposition Tactics Reduction of Complexity Traceability Dependencies Feature Modeling approach transferred to GEARS

Page 16: Variation Management: Efficiency in providing customized ... unique lines (only one variant) Variant Analysis – Result Browsing Distribution diagrams show how the similarity is distributed

© Fraunhofer IESE

25

Project Example: VM Instrastructure Creation

Results

Feature model Change impact analysis

SOTA/P analysis of PLE for safety-relevant embedded systems among CESAR partners

Supporting industrial partners (e.g. Thales) to exploit PLE technologies

Page 17: Variation Management: Efficiency in providing customized ... unique lines (only one variant) Variant Analysis – Result Browsing Distribution diagrams show how the similarity is distributed

© Fraunhofer IESE

26

Project Example: Develop Reusable Components

Refactoring existing systems into a product line Introduce reference architecture without resource penalties Provide light‐weight product line refactoring strategies

Customer Situation & Motivation

Project Goals

Composition of VaRiS Services

International company developing automotive driving comfort electronics

Tool‐based Analysis of Artifacts

Integration of VM in Architecture Integration of VM in Code

Page 18: Variation Management: Efficiency in providing customized ... unique lines (only one variant) Variant Analysis – Result Browsing Distribution diagrams show how the similarity is distributed

© Fraunhofer IESE

27

Project Example: Develop Reusable Components

Results

0% resource overhead

-56% module dependencies

65-88% code reuse

Page 19: Variation Management: Efficiency in providing customized ... unique lines (only one variant) Variant Analysis – Result Browsing Distribution diagrams show how the similarity is distributed

© Fraunhofer IESE

28

Project Example: Configuration Improvement

Improve the configuration approach to increase scalability and testability of the configuration model Understand potential of other variation management approaches

Customer Situation & Motivation

Project Goals

Composition of VaRiS Services

Customer runs a product configurator that supports sophisticated configuration of > 40 product lines, each characterized by over 500 parameters

Underlying configuration model comprises more than 16000 elements and is a monolith Extension and quality assurance in the configuration model are quite expensive

Assessment  of VM practicesVM Tool Selection

Integration of VM in Architecture

Tool‐based Analysis of Artifacts

Change Management

Page 20: Variation Management: Efficiency in providing customized ... unique lines (only one variant) Variant Analysis – Result Browsing Distribution diagrams show how the similarity is distributed

© Fraunhofer IESE

30

Project Example: Configuration Improvement

Results

Current state analysis

Feature model Change impact analysis

Page 21: Variation Management: Efficiency in providing customized ... unique lines (only one variant) Variant Analysis – Result Browsing Distribution diagrams show how the similarity is distributed

© Fraunhofer IESE

33

Elementary ProduflexilComponent 0.12345

Elementary ProduflexilComponent 0.12345

Elementary ProduflexilComponent 0.12345

Elementary ProduflexilComponent 0.12345

0.12345

Produflexil Component

Produflexil Component

Interfaces (Ports):- Parameter (Konstanten)

- interne Variable (Verbindungen)

- externe Variable (Prozesswerte)

Project Example: Flexible Production

Maschinenbau & Qualitätsmanagement

SE

AmI

Flexibilität

Adaptivität

Selbstkonfiguration

MechanismenArchitektur-

Patterns

Produkte, Prozesse, Anlagentechnologien

QualitätZuverlässigkeit

Vorhersagbarkeit

Abhängigkeits-Modelle

Kontext

Änderungsmanagement [OPC-UA-Server/Client(s)]Änderungsmanagement [OPC-UA-Server/Client(s)]

Reale Anlage

Änderungsmanagement

Virtuelle Anlage

Änderungsmanagement

Änderungs-manager

Digitales Modellder Anlage

Simulationsmodelle

Leitsystem-Engineering:Anlage, EA und Bilder

[WebService]

Prozess-visualisierung

Übergeordnetes Leitsystem, operative IT

Steuerungs-SW-Management-

Modul 1..n

Leitsystem

SPS 1..n VirtuelleSPS 1..n

OPC

Leitsystem-Engineering:Anlage, EA und Bilder

[WebService]

Prozess-visualisierung

Übergeordnetes Leitsystem, operative IT

Leitsystem

OPCCAEX CAEX

Änderungs-manager

Steuerungs-SW-Management-

Modul 1..n

Reale Fabrik mit realer Anlage @ Ort A

Digitale Fabrik mit virtueller Anlage @ Ort B

Simulator

HMI 1..n

Testfälle

Simulations-ergebnisse

HMI 1..n

Page 22: Variation Management: Efficiency in providing customized ... unique lines (only one variant) Variant Analysis – Result Browsing Distribution diagrams show how the similarity is distributed

© Fraunhofer IESE

34

(Ricoh)

Archieved with broad support from Fraunhofer IESE

Page 23: Variation Management: Efficiency in providing customized ... unique lines (only one variant) Variant Analysis – Result Browsing Distribution diagrams show how the similarity is distributed

© Fraunhofer IESE

45

Syst

emat

icV

aria

tio

n M

anag

emen

tIm

pro

vem

ent

Variation Management Improvement

Characterize & Understand

Plan

Do

Evolve

Assessment  of VM practices

Tool‐based Analysis of Artifacts

Scoping Workshop

Domain Anallysis & Modelling

VM in Artefacts

Support for VM Tool Adoption

Configuration Management

Change Management

Page 24: Variation Management: Efficiency in providing customized ... unique lines (only one variant) Variant Analysis – Result Browsing Distribution diagrams show how the similarity is distributed

© Fraunhofer IESE

48

VM Potential Assessment

Goals:

Understand VM improvement potential and risks

Activities:

Conduct semi-structured interview

Present findings

Results:

Documented Is-Situation

VM SWOT

Prioritized improvement potentialswith proposed activities

Page 25: Variation Management: Efficiency in providing customized ... unique lines (only one variant) Variant Analysis – Result Browsing Distribution diagrams show how the similarity is distributed

© Fraunhofer IESE

49

Scoping

Goals:

Define business goals, and constraints

Plan the product line

Activities: PuLSE™-ECO Scoping

Prepare Scoping

Conduct Scoping Workshops

Results:

Product-Release-Plan

Product-Feature-Matrix

Domain- and Asset-Assessment

Page 26: Variation Management: Efficiency in providing customized ... unique lines (only one variant) Variant Analysis – Result Browsing Distribution diagrams show how the similarity is distributed

© Fraunhofer IESE

51

Variant Analysis

Goals:

Assess reuse potential of existing system variants

Understand commonality and variation in variants in detail

Activities:

Define analysis goals

Conduct Variant Analysis with Fraunhofer Variant Analysis tool

Conduct Variant Analysis Workshop and present findings

Focus Variant Analysis on specific issues

Results:

Commonality and Variation Analysis for the system variants

«optional» Variant Analysis training and tool license

Page 27: Variation Management: Efficiency in providing customized ... unique lines (only one variant) Variant Analysis – Result Browsing Distribution diagrams show how the similarity is distributed

© Fraunhofer IESE

53

Fraunhofer SAVE Variant Analysis

Visualize variability in existing source code

Detects similar and different software parts across systems

Overview of the similarity and differences on many abstraction levels

Identification of the reuse potential

Common parts comprise the product line core

Variable parts contain product-specificimplementation

Migration planning and control

VariantAnalysis

Page 28: Variation Management: Efficiency in providing customized ... unique lines (only one variant) Variant Analysis – Result Browsing Distribution diagrams show how the similarity is distributed

© Fraunhofer IESE

54

Variant AnalysisTool Implementation: System Hierarchy

System hierarchy

Top-down result exploration using structural view

Detect interesting areas in the high-level structure and delve into details when needed

Information available for each file and directory, up to the whole system

Page 29: Variation Management: Efficiency in providing customized ... unique lines (only one variant) Variant Analysis – Result Browsing Distribution diagrams show how the similarity is distributed

© Fraunhofer IESE

55

Variant Analysis – Result Browsing

For whole software systems, the results of Variant Analysis are presented in a system structure browsing tool

Interactive exploration of the results possible

The user can navigate to the most interesting components

Instant overview of different component’s status

The information can be exported to an external file for further analysis

Page 30: Variation Management: Efficiency in providing customized ... unique lines (only one variant) Variant Analysis – Result Browsing Distribution diagrams show how the similarity is distributed

© Fraunhofer IESE

56

Bar diagrams show similarity of the variants

Green: core lines identical in all variants

Blue: shared lines (reused by some, but not all variants)

Yellow: unique lines (only one variant)

Variant Analysis – Result Browsing

Distribution diagrams show how the similarity is distributed in the code base

Quickly identify the files with the highest reuse potential

#components

unchangedcore

components

un-changedshared

components

variantspecificcomponents

changes/extensions within one component

specific+

shared

sum = 1043025

Reduction byfactor 2.8(less code to manage)

Page 31: Variation Management: Efficiency in providing customized ... unique lines (only one variant) Variant Analysis – Result Browsing Distribution diagrams show how the similarity is distributed

© Fraunhofer IESE

57

Variant Analysis Results

Overview of the similarity and differences on many abstraction levels

Browseable from system level down to individual code lines

Identification of the reuse potential

Proj4 Proj2

Project 3

Proj5 Proj1

Core

Page 32: Variation Management: Efficiency in providing customized ... unique lines (only one variant) Variant Analysis – Result Browsing Distribution diagrams show how the similarity is distributed

© Fraunhofer IESE

58

© Fraunhofer IESE

58

Customize Reuse Approach

Goals: Understand options for strategic reuse

Select and customize reuse approach

Activities:

Provide overview on options

Elicit engineering scenarios

Customize reuse approach

Evaluate & document the approach

Results:

Customized reuse approach

Page 33: Variation Management: Efficiency in providing customized ... unique lines (only one variant) Variant Analysis – Result Browsing Distribution diagrams show how the similarity is distributed

© Fraunhofer IESE

61

Specify Variability

Goals: Provide variability model(s) for reuse programme

Activities:

Refine varibility-related information from scoping

Provide overview on variability modeling approaches & tools

Model variability (including interdependencies) in a dedicated variability model

Results:

Variability Model

Tool selection

Page 34: Variation Management: Efficiency in providing customized ... unique lines (only one variant) Variant Analysis – Result Browsing Distribution diagrams show how the similarity is distributed

© Fraunhofer IESE

62

Establishment of VM Infrastructures

Page 35: Variation Management: Efficiency in providing customized ... unique lines (only one variant) Variant Analysis – Result Browsing Distribution diagrams show how the similarity is distributed

© Fraunhofer IESE

63

Variability Improvement Analysis

Analysis Method & Tool to: Provide overview in the Preprocessor Hell

Analyze CPP-statements

Identify variable features / parameters

Identify and interlink variation points

Assess variability realisation

(e.g. Variabilty-Fan-In / -Out)

Identify Improvement Potential

Fast overviewon commonalityand differences

Identification ofvariability managment

issues

Page 36: Variation Management: Efficiency in providing customized ... unique lines (only one variant) Variant Analysis – Result Browsing Distribution diagrams show how the similarity is distributed

© Fraunhofer IESE

65

Evolution of Variability Elements

31 releases along 4 years

The last release contains

834 variabilities

1223 variation point groups

13969 variation points

1322 variability-related files

Excluding 26 generated files

Any improvement in the past?

65

Page 37: Variation Management: Efficiency in providing customized ... unique lines (only one variant) Variant Analysis – Result Browsing Distribution diagrams show how the similarity is distributed

© Fraunhofer IESE

66

Complexity of Variability Files

Visualization of Var Fan-in on File

Rectangular treemap indicates “hot spots”

66

Page 38: Variation Management: Efficiency in providing customized ... unique lines (only one variant) Variant Analysis – Result Browsing Distribution diagrams show how the similarity is distributed

© Fraunhofer IESE

67

Variability Erosion Trend

Predicting Erosion Trend of Var Fan-Out on VPG

Trend := #rises - #falls, indicating probability of future increase of Varfan-out on VPG

E.g., trend of 1st Var = count(7-6, 13-7, 17-13, 18-17) - 0 = Count(1, 6, 4, 1) = 4

Predicted value (version 32) := base value (version 31) + Avg(positive Δs)

E.g., predicted value of 1st Var = 18+ Avg(1, 6, 4, 1) = 18+3 = 21

67

Page 39: Variation Management: Efficiency in providing customized ... unique lines (only one variant) Variant Analysis – Result Browsing Distribution diagrams show how the similarity is distributed

© Fraunhofer IESE

69

Recovery of Variabilty Models

69

Page 40: Variation Management: Efficiency in providing customized ... unique lines (only one variant) Variant Analysis – Result Browsing Distribution diagrams show how the similarity is distributed

© Fraunhofer IESE

71

ReCoVar: Variability Model Renovation

1 #ifdef A2 #if B > 20 && C < 03               Func_1();4       #else5                Func_2();6 #endif7 #else8      Func_3();9  #endif10  ...

Variability Tree

Func_1          Func_2

#ifdef A

Func_3

#if B > 20 && C < 0

Variation Point

1 #define A2 #define B 303 #define C ‐2...

1 #define A2 #define B 103 #define C ‐5...

P1

P2 CoreVariant Element

Variability Code Using CC

Extracting Product Configurations

Extracting Variation Points

Extracting Variability Tree

Page 41: Variation Management: Efficiency in providing customized ... unique lines (only one variant) Variant Analysis – Result Browsing Distribution diagrams show how the similarity is distributed

© Fraunhofer IESE

72

ReCoVar: Mining Feature Correlations

Legend

Configuration Extraction

Data Preparation

Product Configurations

Configuration Matrix

Dataset

CorrelationPruning

CorrelationValidation

FeatureCorrelations

Correlation Mining

Association Rules

Frequent Itemsets

Process

Data

Page 42: Variation Management: Efficiency in providing customized ... unique lines (only one variant) Variant Analysis – Result Browsing Distribution diagrams show how the similarity is distributed

© Fraunhofer IESE

73

Fraunhofer Transformation Engine

General-purpose tool for mass manipulation of XML-based data

• Parsing

• Analyzing

• Refactoring

Page 43: Variation Management: Efficiency in providing customized ... unique lines (only one variant) Variant Analysis – Result Browsing Distribution diagrams show how the similarity is distributed

© Fraunhofer IESE

74

Product Genealogy Approach

Page 44: Variation Management: Efficiency in providing customized ... unique lines (only one variant) Variant Analysis – Result Browsing Distribution diagrams show how the similarity is distributed

© Fraunhofer IESE

75

Variation Management Tool Support

Feature modeling

pure::variants, Big Lever Gears (commercial variant management tool)

CVM, PLUM

Analysis of existing code

Variant analyzer (detection & visualization of similar lines of code in duplicatedproducts or components)

Ifdef analyzer (def-use analysis of #ifdef macros in conditionally compiledcode)

Variability meter (goal-based variability measurement)

Dead variant detector (detection of unused variant modules)

Variability refactoring

Similarity analyzer (incremental detection & consolidation of similar codeelements)

Automated production

Frame processor (advanced preprocessor for consistent & optimized reuse)

Page 45: Variation Management: Efficiency in providing customized ... unique lines (only one variant) Variant Analysis – Result Browsing Distribution diagrams show how the similarity is distributed

© Fraunhofer IESE

76

Train VM Stakeholders

Goals:

Raise necessary understanding of diverse VM stakeholders (e.g. management, engineers)

Activities:

Train stakeholders in respective VM and Product Linie issues, e.g.

VM concepts, scoping, organizational issues, variability modeling, PL Requirements Engineering, PL Architecture Design, PL implementation, PL Quality Assuarance, PL Config. Management

Coach them until VM approach is well established

Results:

Trained stakeholders

«Optional» Training Material

Page 46: Variation Management: Efficiency in providing customized ... unique lines (only one variant) Variant Analysis – Result Browsing Distribution diagrams show how the similarity is distributed

© Fraunhofer IESE

77

Overview on IESE’s Variation Management Services

Integration of VM in Requirements

Assessment  of VM practices

VM Tool Selection

Integration of VM in Architecture

Tool‐based Analysis of Artifacts

Scoping Workshop

Pattern‐based Analysis of Documents

Domain Assessment

Evolve

Continuous Integration

Change Management

Version Management

Do

Plan

Characterize and Understand

Configuration Management

Support for VM Tool Adoption

Product Portfolio Migration PlanInnovation and Evolution Plan

Integration of VM in Code Integration of VM in QA

Page 47: Variation Management: Efficiency in providing customized ... unique lines (only one variant) Variant Analysis – Result Browsing Distribution diagrams show how the similarity is distributed

© Fraunhofer IESE

78

IESE‘s Offering in Your Reuse Program Lifecycle

Initiation Planning Development Testing Operation

Potential Analysis

Scoping Customize Reuse approach

SpecifyVariability

DesignPL Architecture

Guide CoreAssets Dev.

Train VM Stakeholders

PL-ConfigurationManagement

Pilot Development

Reuse Infrastr.Improvements

VariantAnalysis

ImproveReuse approach

Reuse Instrastr.Setup

QA Improvements

Page 48: Variation Management: Efficiency in providing customized ... unique lines (only one variant) Variant Analysis – Result Browsing Distribution diagrams show how the similarity is distributed

© Fraunhofer IESE

80

Continuous variation management

Iterative and incremental adoption/improvement

Holistic approach from development to run-time

Continuous integration of changes and innovation

Variation management not as end-in-itself

Business-oriented decisions

In-depth and efficient analysis of the current infrastructure

Practical guidance

Customer-specific project approach

Comprehensive and integrative

Flexible and scalable

Neutral, experienced, state-of-the-art consulting

Industry-proven methods and best practices

Clear methodological framework

Our USPs in Variation Management

Page 49: Variation Management: Efficiency in providing customized ... unique lines (only one variant) Variant Analysis – Result Browsing Distribution diagrams show how the similarity is distributed

© Fraunhofer IESE

81

Selected IESE Customers

Altas Elektronik

Blaupunkt GmbH

Cassidian

Continental Teves

Daimler

Deutsche Lufthansa AG

Gigaset

Hella KGaA Hueck & Co

Hitachi

John Deere

KEIPER GmbH &Co. KG

Knorr-Bremse

KSB

Ricoh

Robert-Bosch GmbH

Rolls-Royce

Siemens AG

Testo AG

Wikon GmbH

Page 50: Variation Management: Efficiency in providing customized ... unique lines (only one variant) Variant Analysis – Result Browsing Distribution diagrams show how the similarity is distributed

© Fraunhofer IESE

82

Our Network

Software Product Line Community (SPLC)

- Feature Modelling / Configuration Support

- Specific PL Practice Areas

- Industrial PL Experts

- PL-Tool Providers: Pure::Systems, Big Lever, Feature IDE

Reverse Engineering Community

Fraunhofer IUK, Embedded Systems Alliance

TU-KL

Page 51: Variation Management: Efficiency in providing customized ... unique lines (only one variant) Variant Analysis – Result Browsing Distribution diagrams show how the similarity is distributed

© Fraunhofer IESE

83

Contact:

Dr. Martin Becker Fraunhofer-Platz 1Dipl.-Inform. 67663 Kaiserslautern

Telefon +49(631) 6800-2246Department HeadES Development Fax +49(631) 6800-92246

[email protected]

Thank you for your interest in Strategic Reuse!

Thank you for your interest in Strategic Reuse!