Professional Documents
Culture Documents
Product Line Management in Practice
Product Line Management in Practice
net/publication/249665342
CITATIONS READS
0 4,554
3 authors, including:
Dirk Muthig
Lufthansa Systems, Budapest, Hungary
109 PUBLICATIONS 3,456 CITATIONS
SEE PROFILE
Some of the authors of this publication are also working on these related projects:
Refinement and Variability Techniques in Model Transformation of Software Requirements View project
All content following this page was uploaded by Dirk Muthig on 04 August 2014.
BMBF-Project
Authors:
Joachim Bayer
Theresa Lehner
Dirk Muthig
· DaimlerChrysler Inc.
· Delta Software Technology GmbH
· eHotel AG
· Fraunhofer IESE
· Hasso-Plattner-Institute
· University of Leipzig
PESOA is coordinated by
Prof. Dr. Mathias Weske
Prof.-Dr.-Helmert-Str. 2-3
D-14482 Potsdam
www.pesoa.org
Abstract
The goal of the PESOA project is to design and implement a platform for
families of related service-oriented applications. The envisioned platform is
used to manage process variants for families of service-oriented applications
and to enable the process-based instantiation of such service-oriented appli-
cation families.
Product Line Management is used to manage, plan and control the life cycle
of the product line and its members. This report outlines the product line
management, especially the management of product line maintenance and
evolution.
v
Table of Contents
1 Introduction 1
1.1 Project Context 1
1.1.1 Goal 1
1.2 Outline 1
4 Conclusion 15
5 References 16
vii
1 Introduction
1.1.1 Goal
The report presents the management of the product line, especially the
management of the product line maintenance and evolution phase. The re-
sult is one possible realization for the technical component “management
and evolution” in PuLSE (see Figure 1). The technical component is sup-
posed to manage product line development and evolution, thus the complete
product line life cycle. For more detail see [BFK99].
1.2 Outline
1
Deployment Phases Technical Components
Customizing
PuLSE Initialization
Modeling
Product Line
Infrastructure Architecting
Construction
Designing
Coding
Support Components
2
2 Product Line Management in Practice
Investigations show that product line engineering is not profitable until more
than three products are instantiated from the product line infrastructure as
outlined in Figure 2 [WCT99]. Thus, a long life cycle of the product line is
crucial. The product line life cycle ends with the last concrete product devel-
opment that instantiates the product line infrastructure. The infrastructure is
instantiated as long as it provides the required functionality and quality.
Effort
Single System
Development
gs
in
PL Instance S av
1 2 3 4 5 6
# Delivered System
Figure 2 Product Line Effort
3
Product Line Management
Feedback
Product Management
This chapter gives an overview on the product management and product line
management, and their life cycle. The life cycle comprises small subprojects
that all have to be managed.
Product Management
4
As presented in Figure 3, the product management gives feedback to the
product line management. In application engineering as well as in the evolu-
tion and maintenance phase requests to maintain or evolve the product line
infrastructure can be identified. The processing of the request is explained in
section 2.2 and in more detail in chapter 3.
If the organization has decided on product lines, the product line infrastruc-
ture is developed during domain engineering. With the delivery of the infra-
structure the maintenance and evolution phase is initiated. During this phase
different maintenance and evolution projects like servicing, reengineering,
extension, integration, and migration are performed.
The product line manager responsible for managing the life cycle has to plan
the pilot projects, the domain engineering project, as well as the mainte-
nance and evolution projects. For the pilot project the manager has to organ-
ize the contact to the experts and has to schedule the pilot project activities.
For the content and performance of the projects the experts are responsible.
The management of the second phase, the domain engineering project is
described in [BLM04]. The management of the maintenance and evolution
phase is presented in more detail in chapter 3.
5
3 Product Line Maintenance and Evolution
With the delivery of the product line infrastructure the maintenance and evo-
lution phase for the infrastructure is started. The delivered infrastructure has
certain aspects: functionality and quality, especially genericity. Functionality
covers the features realized in the infrastructure. The quality aspects con-
siders here characteristics like reliability, usability, efficiency, maintainability,
and portability, see [ISO01]. Genericity is a product line-specific quality
characteristic. It states the relation between common and variable features
(commonalities and variabilities) in the infrastructure.
The challenge for the product line maintenance and evolution is to correct
and improve the above mentioned aspects of the infrastructure as required
and aimed at. The requests on maintenance or evolution arise on the one
hand during the product life cycle, as mentioned in section 4; on the other
hand in product line management itself for economic reasons or regarding
defined business goals. According to a request a maintenance and evolution
project is selected.
The possible maintenance and evolution projects are presented in this chap-
ter in more detail. The description comprises the requests driving the project,
the project process and the influence on the infrastructure. In section 3.6 the
management strategy for the maintenance and evolution phase is outlined.
3.1 Servicing
A product line infrastructure is the basis for the different products that are
shipped and put in production. For a product at the customers’ sites, a re-
quest to correct defects could arise. Servicing handles the request for the
product line infrastructure.
A servicing project has the purpose to correct the product line infrastructure
in case of defects detected in a derived product. In [SGT05] defects have
been defined as product anomalies not defined in the product requirements.
The input for a servicing project is a description of the defect. The output of
such a project is a product line infrastructure with higher quality.
Figure 6 outlines the different activities that are performed in a servicing pro-
ject. The input for the servicing project is a detailed description of the de-
fects. The description should contain at least the actual and the expected
behavior. Based on the description the defect is classified in the first step.
6
Classified
Defect Change Change
Description Requests Requests
Quality
Product Line
Infrastructure
The last step, defect correction performs first the elimination, and subse-
quently tests all changed artifacts.
3.2 Extension
2. In the roadmap of the organization new product line members and re-
lated new common and variable features are identified and planned.
7
In the first situation the input for an extension project is the list of new prod-
uct features, in the second situation a product description for the new mem-
ber is required. The result of an extension project is a product line infrastruc-
ture with more functionality.
Figure 7 presents the different activities performed in the project and the in-
put/output artifacts. The process corresponds to domain engineering with the
difference that it is uses artifacts already existing in the infrastructure.
Scoping uses the product map already defined in the product line infrastruc-
ture as input. It contains all already identified product line members and their
related features. Introducing new identified features as described in the first
Product Feature
Description List
Functionality
Product Line
Scoping Domain Analysis Domain Design Domain Impl.
Infrastructure
Product Line
Infrastructure
situation, the product map is extended to embrace the new features. To ex-
tend the product line for a new product line member the general scoping is
performed as described in [BFL05].
Based on the extended product map the return of investment (ROI) of the
project can be evaluated. In the first situation the expected reusability of the
new feature is decisive, and in the second the benefit for the product reusing
the product line infrastructure. With the ROI analysis the product line man-
ager can decide on the realization of an extension project.
If the decision for an extension project is made, the project starts with the
domain analysis where the new identified features and their functionality are
8
analyzed, for example using use cases. After the analysis the plan for the
extension project can be defined, the needed extension tasks and their re-
lated effort estimated. The next step in the project is to include the new fea-
tures/functionalities in the domain design [KG04]. Then the new features are
implemented and included in the existing domain implementation.
3.3 Reengineering
Besides functionality the product line infrastructure offers the aspects quality
and genericity, as mentioned above. The challenge of the product line man-
agement is to maintain and to improve the quality during the complete prod-
uct line life cycle. After some performed maintenance or evolution projects
improvement is getting more difficult. In this situation reengineering is a
Expert
Knowledge Current State Target State
Genericity
Quality
Reverse Domain Product Line
Goal Definition
Engineering Engineering Infrastructure
Product Line
Infrastructure
The first step in a reengineering project is to identify the current state of the
quality of the product line infrastructure. For that reverse engineering is used
which measures the quality using for example GQM [Bas92]. The reverse
engineering performs domain engineering reverse and analyzes each arti-
fact. Thus, it starts with the domain implementation and ends up in the do-
main analysis if necessary.
9
Based on the quality analysis, in the process step goal definition the target
quality is specified, and then the needed quality improvement tasks are iden-
tified, estimated and planned.
The last step is the performance of the quality improvement tasks. During
domain engineering each artifact is improved regarding the defined tasks
and quality target.
3.4 Integration
In case of integrating different product lines into a new more efficient product
line the process is more complex. Figure 9 presents the process explained in
the following in more detail for integrating/merging two product lines.
The first step, scoping, is the integration of the product line members and
their features of both product lines (A and B) in one common product map.
The resulting product map reflects the relation between the product lines; for
example, product line A is more mature than B, or both are equal. Based on
10
New Technology
Documentation Experiences
Product Line
Infrastructure
the product line relation two different projects can be selected and executed:
3.5 Migration
The influence of the new technology on the product line infrastructure sets
the activities performed in the migration project. A technology transformation
11
from Java to C++ needs for example only a new implementation. In contrast,
new hardware, e.g. a processor allowing more complex algorithms, forces a
new domain design as well as implementation, and perhaps even a new
domain analysis. Furthermore, the new technology implies new feature
which are realizable with the new technology. Thus, the migration project
could underlay following process as described in Figure 10.
12
3.6 Management Approach
The drivers for maintenance or evolution projects are the requests from the
product management as well as the internal strategy of the product line
management as already mentioned. The responsibility of the product line
manager is to manage, control and plan all different maintenance and evolu-
tion projects. In this section a way to support this management is outlined.
The basic concept therefore is the state of the product line infrastructure
which is defined by its aspects – functionality, quality and genericity. Influ-
ence on the management has now the actual state, the state after perform-
ing a specific maintenance and evolution project, and the state aimed by the
internal product line management strategy.
Functionality
Quality
Genericity
13
Figure 11 and the changes of states achieved by the projects as outlined in
Table 1 the product line manager can manage, plan and control the
maintenance and evolution phase. While planning and managing the man-
ager has to consider the higher prioritization of the product management re-
quests compared to the internal product line management strategy.
Servicing X
Reengineering X X
Extension X
Integration X X X
Migration X X
14
4 Conclusion
To this end, management considers the complete life cycle of a product line.
Product management is responsible for the product life cycle that is for ap-
plication and for maintenance and evolution. Product line management is re-
sponsible for the product line life cycle. Thus, mainly the development and
the maintenance and evolution of the product line infrastructure is managed,
planned and controlled.
15
5 References
[BMM03] Böckle, Günter; Clements, Paul; McGregor, John D.; Muthig, Dirk;
Schmid, Klaus: “A Cost Model for Software Product Lines”, in Pro-
ceedings of the Fifth International Workshop on Product Family
Engineering. Siena, 2003.
[SGT05] Sneed, Harry M.; Hasitschka, Martin; Teichmann, Maria-Therese:
“Software-Produktmanagement : Wartung und Weiterentwicklung
bestehender Anwendungssysteme“, Heidelberg : dpunkt.Verlag,
2005.
[KG04] Knodel, Jens; Girard, Jean-Francois: “Request-driven Reverse
Engineering for Product Lines”. In proceedings of Workshop
Reengineering Prozesse (RePro 2004). Fallstudien, Methoden,
Vorgehen, Werkzeuge, 2004.
[RB00] Rajlich, V; Bennett, K.: „A Staged Model fort he Software Life Cy-
cle“, IEEE Computer, July 2000.
[BLM04] J. Bayer, T. Lehner, and D. Muthig. Product Line Engineering and
Project Management – Base Practices; PESOA-Report No.
11/2004, October 30, 2004.
[BFK99] J. Bayer, O.Flege, P.Knauber, R.Laqua, D. Muthig, K. Schmid, T.
Widen: „PuLSE – Product Line Software Engineering“, IESE-
Report No.020.99/E, July 13, 1999.
[Bas92] Basili, Victor R.; University of Maryland - Dept. of Computer Sci-
ence: Software Modeling and Measurement. The
Goal/Question/Metric Paradigm, 1992.
[BFL05] J.Bayer, T. Forster, T. Lehner, A. Ocampo, J. Weiland, E. Richter,
S. Kiebusch: „Merkmalsmodellierung und Entscheidungsmodelle,
PESOA-Report No xx/2005 July 2005.
[ISO01] International Organization For Standardization/International Elec-
trotechnical Commission (Ed.) Software engineering – Product
Quality – Part 1: Quality Model“, ISO/IEC 9126:2001, Geneva
2001.
[WCT99] Weiss, David M.; Lai, Chi Tau Robert, “Software Product-Line En-
gineering. A Family-Based Software Development Process”, Addi-
son-Wesley, 1999.
16