Home Introduction Getting Started Benefits Successes Perspectives Resources
What's New?

Transition to a Software Product Line Approach

There are a variety of approaches for transitioning to, or adopting, a new software product line approach. Some case studies have reported transition efforts of 5 years while others have reported making the transition in as little as 2 months. This section outlines some of the characteristics that influence this surprising diversity in transition profiles.

Source of Software Asset Inputs

The software asset inputs for a software product line might come from a variety of sources, including reusable artifacts from an existing library, wrapped or re-engineered artifacts from an existing product, or artifacts developed from scratch. Considerable time and effort can be saved if assets can be reused or extracted from existing products, existing repositories, commercial libraries, and so forth, rather than creating the software assets from scratch.

New versus Enhancement

Another distinguishing characteristic in the transition approach for software product lines is whether it is a brand new product line or whether it is a transition from an existing product line to a more effective approach. Note that if the initial state has multiple products, managed with even the most primitive, ad hoc, conventional techniques such as clone-and-own or #ifdefs, it is still a product line. Existing products, assets (including requirements, architecture, source, and so forth), decision models, and production mechanisms can often be reused and re-engineered when enhancing a software product line approach in order to save time and effort.

Lightweight Approaches

Early case studies of software product line transitions reported typical adoption times of 2 to 5 years. For most organizations, this time and effort represents a significant barrier to adopting a product line approach, regardless of the potential benefits. Recently, advances have been made in lightweight approaches that lower the required transition effort, with some case studies reporting adoption efforts as low as 2 months. Lightweight techniques employed include:

  • minimize differences between single-system and product line engineering in order to minimize impact on organization, processes, software, and infrastructure
  • utilize an incremental adoption strategy to initially transition a small subset of assets, products, subsystems or people
  • offer off-the-shelf software product line tools and technology
  • use reactive approaches to defer product development and deployment efforts
  • structure production to minimize the need for complex and costly merging, feedback, and product-specific configuration management overhead

Next Section >

Discussion Board
Development Tools
and Methods for
Software Product Lines

Special Seminar

from Telelogic and
BigLever Software.
MDD for Software Product Lines