A Framework for Software Product Line Practice, Version 5.0
A Framework for Software Product Line Practice is a Web-based, living document that aids the software community in software product line endeavors. Each version represents an incremental attempt to capture the latest information about successful software product line practices. This information has been gleaned from studies of organizations that have built product lines, from direct collaborations on software product lines with customer organizations, and from leading practitioners in software product lines.
In addition to this framework, other resources are available from the Software Engineering Institute (SEI) including
the book Software Product Lines: Practices and Patterns [Clements 2002c], that contains a previous version of this framework, plus three comprehensive case studies of product line organizations and a rich set of product line practice patterns to aid in the adoption of software product line practice
the SEI's product line practice Web site, where you can download the latest publications and more product line case studies and learn about upcoming events
a five-course Software Product Line Curriculum, with courses based on extensive SEI and community experience in developing, acquiring, and fielding software product lines. The curriculum equips software professionals with state-of-the-art practices, so they can efficiently use proven product line practices to achieve their strategic reuse and other business goals.
There are significant changes in Version 5.0 that reflect current prevalent trends in software engineering (the open source movement, globally distributed development, service-oriented architectures, model-driven development, and agile development), as well as a wave of new product line experiences that have surfaced new practices and references. The resultant changes to the framework include
- a discussion of contextual factors that influence core asset development. Product constraints, production constraints, production strategy, and preexisting assets are no longer rigid "inputs" but rather contextual factors.
- more in-depth coverage of the production plan concept
- new FAQs
- significant modifications to the following practice areas:
- "COTS Utilization" was changed to "Using Externally Available Software" and expanded to include open source software and services as prominent software choices.
- "Mining Existing Assets" was expanded to include externally available software as a mining source.
- "Software System Integration" was expanded to discuss continuous, iterative integration, and closer ties have been made to production planning.
- "Testing" now includes more detailed descriptions of guidelines and test artifacts.
- "Data Collection, Measurement, and Tracking" was changed to "Measurement and Tracking" and rewritten to emphasize the goals of measurement rather than the mechanics.
- "Process Definition" was changed to "Process Discipline" and rewritten to emphasize the need for process discipline throughout, which exceeds the ability to merely define processes. This practice area was also expanded to include a treatment of agile approaches and the production process and production method for the product line.
- "Technical Planning" was expanded to provide more coverage of production planning.
- "Tool Support" was expanded to discuss tools for automating product derivation.
- "Building a Business Case" now includes an expanded discussion of using the business case to weigh alternative strategies and coverage of Boehm's COPLIMO economic model for product lines.
- "Customer Interface Management" now includes a discussion of customer identification.
- "Developing an Acquisition Strategy" now covers the acquisition of services and other externally available software, as well as acquisition in a global development environment.
- "Launching and Institutionalizing" now includes a discussion of the SEI Adoption Factory pattern and more coverage of institutionalization.
- "Operations" now considers a product line concept of operations (CONOPS) to be essential.
- "Structuring the Organization" now has a clarified relationship with the "Operations" practice area.
- "Training" includes added sources of product line training.
Future versions will build on the current foundation by growing the body of knowledge and refining what is already there.
The document is extensively hyperlinked to facilitate rapid navigation. A bibliographic reference appears like this: [Smith 2006a], where the link Smith 2006a takes you to the entry for this reference in the framework's bibliography.
We welcome and value your feedback and contributions. Please email any comments to email@example.com.
A Framework for Software Product Line Practice, Version 5.0
Linda M. Northrop, Paul C. Clements
with Felix Bachmann, John Bergey, Gary Chastek, Sholom Cohen, Patrick Donohoe, Lawrence Jones, Robert Krut, Reed Little, John McGregor, Liam O'Brien
Product Line Practice Initiative
The principal team of authors of Version 5.0 thank the many others who also directly contributed. The following individuals were on the author teams of earlier versions: Len Bass, Joe Batman, Lisa Brownsword, Grady Campbell, Matthew Fisher, Brian Gallagher, Dennis Smith, Albert Soule, Scott Tilley, Nelson Weiderman, Steven Woods, and Dave Zubrow. Pennie Walters was the primary editor, Bob Fantazier and Daniel Pipitone created the illustrations, and Robert Krut formatted this framework for the Web.
SEI Trademarks & Service Marks
Architecture Tradeoff Analysis Method, ATAM, Capability Maturity Model, Capability Maturity Modeling, Carnegie Mellon, CMM, and CMMI are registered in the U.S. Patent and Trademark Office by Carnegie Mellon University.
CMM Integration, EPIC, Evolutionary Process for Integrating COTS-Based Systems, Framework for Software Product Line Practice, IDEAL, OAR, Options Analysis for Reengineering, Personal Software Process, PLTP, Product Line Technical Probe, PSP, and SEPG are service marks of Carnegie Mellon University.
Table of Contents Version 5.0
We have provided three methods to traverse the information. Each content page will provide
The third method to traverse the information is the sidebar navigation links. The links will expand based on the section currently being viewed.
- Product Line Essential Activities
- Product Line Practice Areas
- Software Engineering Practice Areas
- Technical Management Practice Areas
- Organizational Management Practice Areas
- Frequently Asked Questions