Options
2003
Report
Title
Product line engineering industrial nuts and bolts
Abstract
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. This article sheds light on SPL practices in today's software industry. Members from five different organizations have formed a workgroup that over a period of two years and a half have investigated and compared their SPL practices. The companies are as different as a global IT vendor (Hewlett-Packard), a leading supplier of automotive electronics (Robert Bosch GmbH), a large supplier of industrial energy solutions (represented by RWTH), a small company that develops software for the on-line management of stock market information (Market Maker Software AG, this knowledge was provided by Fraunhofer IESE, a longstanding cooperation partner of the company) and a renowned software house (sd&m AG). Moreover, most workgroup members have contributed experience from more than one product family or business department allowing a rather broad overview of the state of software product line development in industrial practice. In the remainder of the article, company references are omitted to preserve anonymity of sensitive information. Clements and Northrop [4] define a software product line (SPL) as 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. The workgroup, which met under the umbrella of the German Computer Society (GI, a sister organization of IEEE), set out to understand better how software organizations can successfully set up and manage SPL. Key practice areas identified were: Organization and Support Practices, Practices of Balancing Platform versus Client Interests, Requirements Engineering Practices, Architectural Practices. For each area, the workgroup identified and compared the various practices found in their organizations. They also contrasted them with published reports of SPL practices. The result, which is reported in this article, provides a detailed look on the SPL state of practice.
Publishing Place
Kaiserslautern