Adopting Software Product Lines |
* Requires Javascript enabled |
Product line adoption involves moving from some form of developing software-intensive systems with a single-system mentality to developing them as a software product line. A software product line is 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. The adoption objective is to
- have a core asset base, supportive processes, and organizational structures
- develop products from that asset base in a way that achieves business goals
- institute mechanisms to improve and extend the software product line adoption effort as long as it makes sense.
The information necessary for successful software product line adoption is captured in three bodies of work.
The Framework for Software Product Line Practice describes essential activities and practice areas that form a conceptual framework for software product line practice. Core asset development, product development using the core assets, and management define the triad of essential activities necessary for fielding of a product line. A practice area is a body of work or a collection of activities that an organization must master to successfully carry out the essential work of a product line.
Goals of the framework include identifying the foundational concepts underlying software product lines and providing guidance to an organization about how to move to a product line approach for software. Launching and Institutionalizing is an example of a practice area specific to adopting software product lines.
Software Product Lines: Practices and Patterns extends the framework practice areas by introducing patterns to describes how the practice areas can be orchestrated to meet software product line goals and organizational situations. Patterns give common product line problem/solution pairs in which the problems are product line work to be done and the solutions are the group of practice areas to apply in concert to accomplish the work. Software Product Lines: Practices and Patterns provides a collection of 12 patterns to characterize common product line contexts and problem/solution pairs.
The Software Product Line Adoption Roadmap develops a variant of the factory pattern called the adoption factory pattern. The adoption factory pattern provides a generic roadmap to guide a manageable, phased product line adoption strategy. It can be used as a generic product line adoption roadmap for any organization attempting a product line approach for the first time or as the basis for an adoption model for a phased software product line or product line adoption plan.
Read More
-
Northrop, Linda M. Software Product Line Adoption Roadmap (CMU/SEI-2004-TR-022).
-
Clements, P. & Northrop, L. Software Product Lines: Practices and Patterns. Boston, MA: Addison-Wesley, 2002.
Related Web Sites
- A Framework for Software Product Line Practice
- Software Product Line Acquisition: A Companion to A Framework for Software Product Line Practice
- Software Product Line Practice Patterns
- Building a Software Product Line Factory
- Product Line Quick Look
- Product Line Technical Probe
Work With Us
SEI products and services associated with adopting software product lines include
- Software Product Line Curriculum (including the Adopting Software Product Lines Course)
- The Product Line Technical Probe
- Product Line Action Planning Workshop
Adopting Software Product Lines Contact
For more information, contact Linda Northrop.




