Managing the Evolution of Product Line Architectures
Louis J. M. Taborda · 2003
The need to adjust software engineering processes to accommodate component-based development (CBD), web services and Product Line Architectures (PLA’s) has been recognized however discovering new development and management patterns that adequately address the complexity inherent in these new paradigms remains an open challenge. This paper reviews the management concerns related to the development and evolution of products or applications that are composed of a configuration of reusable components. It considers these issues from the different perspectives of the supplier and consumer of components. Both these views have to be managed and balanced to get an accurate picture of the risk and dependencies that can affect the success of a reuse program. A representation of the PLA ecosystem is described that attempts to model component reuse across multiple products. The issues identified are related to traditional Configuration Management (CM) and Project Management (PM) principles as they apply in PLA-based environments. The concept of a Release Matrix is introduced as the multidimensional form of a tradition “software release ” plan and captures the two complementary but orthogonal perspectives of component suppliers and consumers. The matrix clearly illustrates the competing concerns of the different views and embodies the stresses and strains that have to be managed and traded-off in the release of solutions based on reusable components.