Software Product Lines
Framework Home
Product Line Essential Activities
Product Line Practice Areas
Software Engineering
Practice Areas
Technical Management
Practice Areas
Organizational Management
Practice Areas
Frequently Asked Questions

A Framework for Software Product Line Practice, Version 5.0

Next Section Table of Contents Previous Section



The process of obtaining products and services via a contract or license.

acquisition strategy

A plan of action for achieving a specific goal or result through contracting or licensing for products and services.

architectural view

A representation of a set of system elements and the relationships among them.

attached process

The process associated with a core asset that tells a product builder how the core asset will be used .in the development of products.

business case

A tool that helps one you make business decisions by predicting how they will affect an organization. Business cases are used among other things to determine if pursuing a product line approach will be beneficial and to determine if a given product line scope makes business sense.


To contract with another party to build a product or provide a service.


A unit of software composition with contractually specified interfaces and explicit context dependencies only. A software component can be deployed independently and is subject to composition by third parties [Szyperski 1998a].

concept of operations

Description of an organization's structure, roles, responsibilities, communication mechanisms, processes, practices, and policies that all detail the way the organization operates.

configuration management

A discipline for evaluating, coordinating, approving or disapproving, and implementing changes in the artifacts that are used to construct and maintain software systems. An artifact can be a piece of hardware or software or documentation.

core asset

A reusable artifact or resource that is used in the production of more than one product in a software product line. A core asset may be an architecture, a software component, a domain model, a requirements statement or specification, a document, a plan, a test case, a process description, or any other useful element of a software production process.

core asset base

The complete set of core assets associated with a given software product line.

customer interface

The description of an organization's connection to its customer(s) including the people involved, the information flow, the communication content, and any applicable polices and procedures.


A generic word used to describe how software comes to be.


An area of knowledge or activity characterized by a set of concepts and terminology understood by practitioners in that area.

domain analysis

A process for capturing and representing information about applications in a domain, specifically common characteristics, variations, and reasons for variation.

domain understanding

Extensive insight and experience in the domains relevant to an organization's software and/or system endeavors.

externally available software

Existing software that can be used free, licensed, or purchased. The options for externally available software include commercial off-the-shelf (COTS) software, open source software, freeware, and Web-based services.

Framework for Software Product Line Practice

An online product line encyclopedia that describes the essential activities and practices in which an organization must be competent in order to reap the maximum benefit from fielding a software product line. The framework was developed and is maintained by the SEI.

market analysis

The systematic research and analysis of the external factors that determine the success of a product in the marketplace.


Finding, analyzing, and rehabilitating a piece of an existing software system to serve in a new system for which it was not originally intended.

organizational management practice areas

Those practice areas necessary for orchestrating the entire software product line effort.


A word some use to mean the software assets in a product line core asset base.

practice area

A body of work or a collection of activities that an organization must master to successfully carry out the essential work of a software product line.


Deployed software-intensive system or software.

product constraints

The set of common and variant features and behavioral attributes associated with the products in the product line scope.

product line

A set of products that share a common, managed set of features satisfying the needs of a particular market segment.

product line adoption

An organization's change to a software product line approach, which involves developing a core asset base, supportive processes, and organizational structures; developing products from that asset base in a way that achieves business goals; and preparing itself to institutionalize product line practices.

product line adoption plan

An organizational plan that describes how product line practices will be rolled out across the organization.

product line approach

The technical and business practices necessary to build a family of products as a software product line.

product line architecture

A core asset that is the software architecture for all the products in a software product line. A product line architecture explicitly provides variation mechanisms that support the diversity among the products in the software product line.

product line scope

A description of the products that will constitute the product line or that the product line is capable of including.

production plan

The guide to how products in the software product line will be constructed from the product line's core assets.

production constraints

Any restrictions on the timing, development environment, processes, or developer skills associated with development of the products in a software product line.

production capability

The core asset base, supportive processes, and tools that enable the development of the products in a software product line.

production method

The overall implementation approach that specifies the models, processes, and tools used in the attached processes across core assets.

production process

The process used for building all products in a software product line. The production process is defined by the set of attached processes with the necessary process "glue" to join them together into a coherent whole.

production strategy

The overall approach for realizing both the core assets and products in a software product line.


A temporary endeavor aimed at creating a unique product or service. Typically a project has its own funding, accounting, and delivery schedule.

requirements engineering

The use of systematic and repeatable techniques to elicit, analyze, specify, verify, and manage system requirements.


Using an item more than once.


An activity that bounds the behaviors and features of a system or set of systems. In a product line approach, scoping is the activity that defines the product line scope.

software architecture

Structure or structures of the system, which comprise software elements, the externally visible properties of those elements, and the relationships among them [Bass 2003a].

software engineering practice areas

Those practice areas necessary for applying the appropriate technology to create and evolve both core assets and products.

software product line

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.

software product line practice pattern

A description of an organization's context, the product line problem it is trying to solve, and how a set of practice areas can be used in concert to solve the problem.

strategic reuse

Planned, systematic reuse that implements tightly connected business and technical strategies.

technical management practice areas

Those practice areas necessary for managing the creation and evolution of the core assets and the products.

technology forecasting

Looking at future technologies that will either support internal software development or affect features or capabilities embedded in an organization's products.


Next Section Table of Contents Previous Section