institut experimentelles software engineering fraunhofer iese klaus schmid [email protected]...

14
Institut Experimentelles Software Engineering Fraunhofer IESE Klaus Schmid [email protected] Relating Product Line Adoption Relating Product Line Adoption Mode and Transition Process Mode and Transition Process PLEES Workshop PLEES Workshop 23. September, 2003 23. September, 2003

Upload: everett-stafford

Post on 27-Dec-2015

213 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Institut Experimentelles Software Engineering Fraunhofer IESE Klaus Schmid schmid@iese.fhg.de Relating Product Line Adoption Mode and Transition Process

InstitutExperimentellesSoftware Engineering

Fraunhofer

IESE

Klaus Schmid

[email protected]

Relating Product Line Adoption Mode and Relating Product Line Adoption Mode and Transition ProcessTransition Process

PLEES WorkshopPLEES Workshop

23. September, 200323. September, 2003

Page 2: Institut Experimentelles Software Engineering Fraunhofer IESE Klaus Schmid schmid@iese.fhg.de Relating Product Line Adoption Mode and Transition Process

Slide 2

Copyright © Fraunhofer IESE 2003

Relating Product Line Adoption Mode and Transition ProcessErfurt, 2003

IESE Overview

1. Product Line Adoption Situations

2. Adoption Strategies

– Adoption Patterns

– Resulting Economic Patterns

3. Product Line Planning Techniques– PL Planning and its Relation to Adoption and Evolution

4. An Economic Model to Optimize Product Line Adoption

5. Summary

Page 3: Institut Experimentelles Software Engineering Fraunhofer IESE Klaus Schmid schmid@iese.fhg.de Relating Product Line Adoption Mode and Transition Process

Slide 3

Copyright © Fraunhofer IESE 2003

Relating Product Line Adoption Mode and Transition ProcessErfurt, 2003

IESE Product Line Adoption Situations

Independent• No previous systems• Entering a new market / domain / sub-domain• Willingness to develop systems from scratch

Project-Integrating• Systems exist• System-Development needs to continue

Reengineering-Driven• Systems exist - but no basis for PL

• Knowledge is insufficient / other means are too costly

Leveraged — characteristics of previous ones• Product Line in Place

• Entering a new market / domain / sub-domain

How to introduceproduct lines?

Mar

ket

2

Market 1

Page 4: Institut Experimentelles Software Engineering Fraunhofer IESE Klaus Schmid schmid@iese.fhg.de Relating Product Line Adoption Mode and Transition Process

Slide 4

Copyright © Fraunhofer IESE 2003

Relating Product Line Adoption Mode and Transition ProcessErfurt, 2003

IESE Product Line Adoption Patterns

Big Bang• You plan it — You do it.

Number of Products

Eff

ort

Product Line Development

Inve

stm

ent

IncrementalProduct Line development

Incremental• You build it on your way• Dimensions of Incrementality:

• products • functional areas (sub-domains)

Page 5: Institut Experimentelles Software Engineering Fraunhofer IESE Klaus Schmid schmid@iese.fhg.de Relating Product Line Adoption Mode and Transition Process

Slide 5

Copyright © Fraunhofer IESE 2003

Relating Product Line Adoption Mode and Transition ProcessErfurt, 2003

IESE Product Line Adoption Economics

Big Bang Incremental• Jumps in incremental

– correspond to investments in migrating to product line assets

– total sum higher than in big bang

• Lines– correspond to products built with partial

infrastructureNumber of Products

Eff

ort Optimal Curves

• Angle– reduced in each investment – final angle still steeper– go for best ROI first (if risk controllable) — best reduction of angle

• Endpoint– higher for incremental

Why to go for incremental anyway?• Risk control!!

Page 6: Institut Experimentelles Software Engineering Fraunhofer IESE Klaus Schmid schmid@iese.fhg.de Relating Product Line Adoption Mode and Transition Process

Slide 6

Copyright © Fraunhofer IESE 2003

Relating Product Line Adoption Mode and Transition ProcessErfurt, 2003

IESE How Do I Plan For Product Line Adoption?

Adoption Situation

PL Planning Look-Ahead

Approach

Independent Broad Portfolio of Future Systems

Big Bang

Project-Integrating

Medium-Size Portfolio of Future Systems

Incremental (by functional area or component) may be combined with Incremental (by product)

Reengineering- Driven

Broad Portfolio of Future Systems and Legacy Products

Incremental (by functional area or component) or Big Bang (packaging legacy as a whole)

Leveraged Broad Portfolio of Future Systems

Big Bang

Page 7: Institut Experimentelles Software Engineering Fraunhofer IESE Klaus Schmid schmid@iese.fhg.de Relating Product Line Adoption Mode and Transition Process

Slide 9

Copyright © Fraunhofer IESE 2003

Relating Product Line Adoption Mode and Transition ProcessErfurt, 2003

IESE Product Line Planning Techniques

Product Portfolio Planning• Define what the products are• Interface with product management / Market concerns• Typically workshops

Domain Potential Analysis• Identify benefits and risks

related them to functional sub-domains

• Assessment Approaches (e.g., PuLSE-B&R)

Reuse Infrastructure Scoping• Identify parts that should be packaged as reusable assets

( architecture impact)

• Rather fine-grained analysis

• Closest to implementation

Page 8: Institut Experimentelles Software Engineering Fraunhofer IESE Klaus Schmid schmid@iese.fhg.de Relating Product Line Adoption Mode and Transition Process

Slide 10

Copyright © Fraunhofer IESE 2003

Relating Product Line Adoption Mode and Transition ProcessErfurt, 2003

IESEPL Planning and Its Relation to Adoption

Mode of PL Extension

Portfolio Definition

Domain Potential Analysis

Reuse Infra-structure Scoping

Partial Big Bang / Evolution by Product Group

Very important Recommended but mainly for risk analysis

Recommended to support architecture definition

By (single) product

Not necessary Only needed if extension requires restructuring

Only needed if the extension requires restructuring

By component or functional area

Should be performed

Key for identifying the next component for product line extension

Should be applied to support architecture definition

Page 9: Institut Experimentelles Software Engineering Fraunhofer IESE Klaus Schmid schmid@iese.fhg.de Relating Product Line Adoption Mode and Transition Process

Slide 11

Copyright © Fraunhofer IESE 2003

Relating Product Line Adoption Mode and Transition ProcessErfurt, 2003

IESEValue-Based Adoption and the Architecture

Impact of product characteristics on the architecture: • How often will we need a certain variation?• How certain is it, we will need it?• What are the costs of variation mechanisms?

Assumptions:• Adding variabilities costs effort

(variability mechanism + effort capability)• More generic code is more complex, thus more costly to maintain• Late implementation is more costly than if it was planned right

away• The less „places“ a change impacts, the less costly• Architecting for a functionality reduces the number of impacted

positions

• Discounted Cash-Flow Analysis

Page 10: Institut Experimentelles Software Engineering Fraunhofer IESE Klaus Schmid schmid@iese.fhg.de Relating Product Line Adoption Mode and Transition Process

Slide 12

Copyright © Fraunhofer IESE 2003

Relating Product Line Adoption Mode and Transition ProcessErfurt, 2003

IESEValue-Based Adoption and the Architecture

Example• Some functionality (in our case distribution support) can be

required:– We are not sure– The support is costly to build– It can not always be present

• What to do?

• The numbers are taken from the example, but the basic characteristics of the functions relate only to their structure

Page 11: Institut Experimentelles Software Engineering Fraunhofer IESE Klaus Schmid schmid@iese.fhg.de Relating Product Line Adoption Mode and Transition Process

Slide 13

Copyright © Fraunhofer IESE 2003

Relating Product Line Adoption Mode and Transition ProcessErfurt, 2003

IESE

Dependency of Total Variability Costs on Time of Variability Introduction

0

5

10

15

20

25

1 2 3 4 5 6 7 8 9 10

Number of Systems (1 per half-year)

Exp

ecte

d C

osts

Number of VIPs (vip=1)

Number of VIPs (vip=4)

Number of VIPs (vip=9)

Value-Based Adoption and the Architecture

Is up-front introduction of variability better?

– The number of impacted positions (i.e., the architecture) is key to answer this question!

VIP = variability

impact point

There is a gap between up-front

and later introduction

Page 12: Institut Experimentelles Software Engineering Fraunhofer IESE Klaus Schmid schmid@iese.fhg.de Relating Product Line Adoption Mode and Transition Process

Slide 14

Copyright © Fraunhofer IESE 2003

Relating Product Line Adoption Mode and Transition ProcessErfurt, 2003

IESEValue-Based Adoption and the Architecture

The effect of probability

– Only for very low probabilities the total costs are reduced

Dependency of Expected Costs on Probability

0

2

4

6

8

10

12

14

16

18

20

0 0,1 0,2 0,3 0,4 0,5 0,6 0,7 0,8 0,9 1

Probability

Co

sts VIP = 9

VIP = 4

Page 13: Institut Experimentelles Software Engineering Fraunhofer IESE Klaus Schmid schmid@iese.fhg.de Relating Product Line Adoption Mode and Transition Process

Slide 15

Copyright © Fraunhofer IESE 2003

Relating Product Line Adoption Mode and Transition ProcessErfurt, 2003

IESE

Variability Cost vs. Variability Impact Points

11

11,5

12

12,5

13

13,5

14

14,5

15

1 2 3 4 5 6 7

Number of VIPs

Exp

ecte

d C

osts

ImmediateInclusion ofVariability

Probability =0,2

Value-Based Adoption and the Architecture

Changing the architecture changes the approach

– Up-front architecting might be appropriate even if up-front implementation is not!!

Architectureadvantage

Page 14: Institut Experimentelles Software Engineering Fraunhofer IESE Klaus Schmid schmid@iese.fhg.de Relating Product Line Adoption Mode and Transition Process

Slide 16

Copyright © Fraunhofer IESE 2003

Relating Product Line Adoption Mode and Transition ProcessErfurt, 2003

IESE Conclusion and Further Work

Conclusions• Categorizations of product line adoption situations were given and

different approaches for dealing with them were discussed

• Detailed recommendations for product line planning were given– Planning Look-Ahead

– Relative Importance of Scoping Techniques

• A quantitative model was proposed that allows to derive more detailed guidelines

– Amount of effort required for variability

– Probability that it is needed

– Characteristics of underlying development process(e.g., change effort)