Software product lines (SPLs) were introduced over the last two decades as a mechanism for dealing with the complexities of software systems' ever-increasing size by exploiting the commonalities among the company's different products or systems. By standardizing the software components sourced from the outside and sharing domain specific software assets the company develops among different product teams, you can significantly reduce the per-product R&D cost, which improves the company's competitive position. This can be achieved through a richer product portfolio, a harmonized look-and-feel across the product portfolio, or a significantly higher degree of customer configurability. Companies that successfully deploy SPL technology can achieve order-of magnitude growth over a decade and reach major business milestones.
[1]
Mary Poppendieck,et al.
Lean Software Development: An Agile Toolkit
,
2003
.
[2]
Jan Bosch,et al.
Design and use of software architectures - adopting and evolving a product-line approach
,
2000
.
[3]
Paul Clements,et al.
Software product lines - practices and patterns
,
2001,
SEI series in software engineering.
[4]
Jan Bosch.
The challenges of broadening the scope of software product families
,
2006,
CACM.
[5]
Kent L. Beck,et al.
Extreme programming explained - embrace change
,
1990
.
[6]
David G. Messerschmitt,et al.
Software Ecosystem: Understanding an Indispensable Technology and Industry
,
2003
.
[7]
H. Bradbury,et al.
Handbook of action research
,
2006
.