Product line analysis (PLA) is early requirements engineering for a product line; it is the link between the recognition of a business opportunity and the design of a product line architecture. It incorporates the views of multiple product line stakeholders in a preliminary requirements model that includes the functional features of products and the software quality attributes (e.g., performance, modifiability) of both the products and their development. The stakeholders include marketers, managers, customer representatives, and architects. The requirements model created by product line analysis identifies common requirements across the product line and their allowed variants.
A product line succeeds because the commonalities shared by the software products can be exploited to achieve economies of production. Once an initial business case, market analysis, and scope have been established for the product line, you should consider the following:
PLA systematically identifies opportunities for large-grained reuse across the product line. The modeling process incorporates the organization's business goals and constraints, clarifies and refines assumptions about the product line scope, and provides early feedback on the technical feasibility of the product line.
Beneficiaries of PLA include managers seeking to minimize the risk of adopting software product lines, and asset developers (including architects) who need usable AND useful representations of requirements.
A joint SEI-customer team used an early version of product line analysis to define the requirements for a product line of automotive software. The requirements model captured common requirements and variation points and allowed early exploration of the product line architecture to proceed in parallel with detailed requirements engineering.
Product line analysis identifies opportunities for large-grained reuse across a product line; hence, it is not concerned with all the requirements. It is an iterative, incremental process of eliciting, analyzing, specifying, and verifying the early requirements for a product line, based on an initial business case and market analysis. The output of the process is a requirements model comprising four interrelated work products. The work products are based on object modeling, use case modeling, and feature-modeling techniques:
Together these work products form the basis of a systematic method for capturing and refining requirements for current products, future envisioned products, stakeholder needs and expectations, and associated rationales and tradeoffs. Use cases and features drive the elicitation of the product line requirements. Features and objects are analyzed for commonalities and variabilities, consistency, quality, interactions, and priority. The product line stakeholders verify the accuracy and completeness of the requirements.
SEI staff is available to conduct a workshop or tutorial on product line analysis. Contact us using the link in the For more information box at the bottom of this page.
Software Product Lines: Practices and Patterns
Find Us Here
For more information