48 I E E E S O F T W A R E P u b l i s h e d b y t h e I E E E C o m p u t e r S o c i e t y 0 74 0 - 74 5 9 / 1 0 / $ 2 6 . 0 0 © 2 0 1 0 I E E
focus
In a dynamic market environment with strin-
gent time-to-market constraints, software devel-
opment organizations need agility in handling
changes. Agile development methods are increas-
ingly used for this purpose. Agile methods such
as extreme programming (XP) promote iterative
development, frequent interaction with the cus-
tomer, small and frequent releases, and rigorously
tested code. The most important characteristic of
agile development is its adaptive, responsive ap-
proach to requirements changes.
2
Although much of the literature and industry
practices have focused on applying either SPLE
or agile methods in isolation, few studies have
examined whether these two seemingly contra-
dictory methods can be integrated. Most SPLE
practices relate to a product family’s long-term
strategic objectives, whereas agile practices focus
on short-term tactical objectives of developing a
single product.
3
Integrating both practices bal-
ances the ability to quickly handle changes and
maximize product variety.
SPLE and Agile Methods
A software product line is a set of software-in-
tensive systems sharing a common, managed set
of features,
1
developed from reusable core assets
and incorporating variations to derive product
variants. This involves identifying commonality
and variability in the product family and imple-
menting shared artifacts while preserving the
ability to implement required variability.
1
Soft-
ware development organizations that recognize
market opportunities for products that share a
signiicant number of common elements, but that
also exhibit variations, can reap signiicant eco-
nomic beneits with SPLE. For example, Cum-
mins builds a variety of software systems for its
C
an software product line engineering (SPLE) be agile? This article prese
successful practices that integrate SPLE and agile methods. SPLE has g
considerable attention in research and practice by addressing diverse
needs while controlling costs through planned reuse.
1
It typically follows a
mature process involving domain and application engineering. Although SPLE ca
duce cycle time in developing product variants, it involves signiicant up-front co
ment in developing a lexible product platform.
Top management,
project managers,
and developers
in software
development
organizations can
implement successful
practices to integrate
software product
line engineering and
agile development
methods.
Kannan Mohan, Baruch College
Balasubramaniam Ramesh, Georgia State University
Vijayan Sugumaran, Oakland University
Integrating Software
Product Line Engineering
and Agile Development
s o f t war e pr o duc t line s