Software Product Lines
A software product line (SPL) is a set of software-intensive systems sharing a common, managed set of features that satisfy the specific needs of a particular market segment or mission and that are developed from a common set of core assets in a prescribed way. (Clements and Northrop, 2002)
Developing a product line can be much more complex and challenging than developing individual products. The set of core assets must be developed and evolved. And the individual products must manage to use the assets whenever appropriate - and not use them when they are inappropriate.
Product Line Engineering: State of the Practice
Software product lines (SPL) are a powerful concept for ensuring quality, economic efficiency, and manageability of families of software systems. SPL are relevant to large industrial enterprises that want to manage the development of their software-intensive systems well. It can also provide small start-ups with unique and striking business models. SPL is important for many companies in the software business. However, it is also a challenging technology, which is not always easy to implement and maintain.
Over a period of two years and a half, a workgroup of the German Computer Society (Gesellschaft für Informatik, GI) has investigated and compared the SPL practices of five participating organizations. The results have been published in two journal articles and a report:
Andreas Birk, Gerald Heller, Isabel John, Thomas von der Maßen, Klaus Müller, and Klaus Schmid: Product Line Engineering: The State of the Practice. IEEE Software, Vol. 20, No. 6, pp. 52-60, November/December 2003.
Thomas von der Maßen, Andreas Birk, Gerald Heller, Isabel John und Klaus Schmid. Herausforderungen bei industriellen Produktlinien-Entwicklungen. Objektspektrum, No. 5, September 2004.
Andreas Birk, Gerald Heller, Isabel John, Stefan Joos, Klaus Müller, Klaus Schmid, and Thomas von der Maßen. Report of the GI Work Group 'Requirements Engineering for Product Lines'. Fraunhofer IESE Report IESE-121_03/E, Fraunhofer IESE, Nov 2003.
Software Product Lines Resources
The SEI Product Line Homepage contains a wide spectrum of resources with special emphasis on material from the US.
The homepage of the GI Workgroup on Requirements Engineering for Product Lines contains links to further SPL resources in Europe and the US.
Fraunhofer IESE maintains a bibliography on product lines. The website also contains additional material on SPL and the PULSE method.
A GI Workgroup on Product Line Tools has been established in early 2004. It is surveying and evaluating available tool support for SPL.
Software Product Lines Literature
David M. Weiss and Chi Tau Robert Lai. Software Product-Line Engineering: A Family-Based Software Development Process. Addison Wesley, Reading, MA, 1999.
Paul Clements, Linda M. Northrop. Software Product Lines: Practices and Patterns. Addison Wesley, Upper Saddle River, NJ, 2002.
Günter Böckle, Peter Knauber, Klaus Pohl, Klaus Schmid (Eds.). Software-Produktlinien: Methoden, Einführung und Praxis. dpunkt., Heidelberg, Germany, 2004.