ABSTRACT

The notion of a software product family forms one of the most successful approaches to component-based development, as can be judged by its increasingly wide adoption in the software industry. The organizational aspects of product family development require analysis. Most authors focus on the technical and process aspects, while assuming an organizational model consisting of a domain engineering unit and several application engineering units. In our cooperation with several software development organizations applying software product family principles, we have identified several other organizational models that are successfully employed as well. We present a number of organizational alternatives, organized around four main models: development department, business units, domain engineering unit, and hierarchical domain engineering units. For each model, its characteristics, applicability, advantages, and disadvantages and the mapping of core product family processes to organizational units are discussed and exemplified. Based on an analysis of these models, we present three factors in the choice of the organizational model. These factors are product family assets, the responsibility levels, and the type of organizational units.