2005 | Number 1
 


Improving Defense Software-Intensive Systems Acquisition with CMMI-AM

Enterprise Security Management: Refocusing Security’s Role

University Hubs Help SEI Spread Information Assurance Curricula and Methods

 


An Adoption Roadmap for Software Product Line Practice

 

Read previous
installments of
the news@sei columns

Read previous features
from news@sei

 

If you would like
to be notified
when news@sei
is published,
send a request to
our news-editor.

 

 

An Adoption Roadmap for Software Product Line Practice
PAUL CLEMENTS

Over the past several years, software product line practice has emerged as an important and viable software development paradigm. Instead of building suites of related software-intensive systems separately, companies of all sizes and in all application areas are learning to build them as a family from a common set of core assets in a prescribed way. Software product line practice has resulted in dramatic (sometimes order-of-magnitude) improvements in time to market, flexibility, productivity, and product quality.

The Product Line Practice (PLP) Initiative at the Software Engineering Institute (SEI) exists to help build and nurture a community of practitioners and researchers interested in improving the state of software product line engineering. Members of the initiative are working to make software product line practice a low-risk, high-payoff undertaking for developing families of related systems. To this end, the SEI

  • maintains a comprehensive Framework for Software Product Line Practice, describing 29 key technical and managerial practice areas for successful creation and sustainment of a software product line
  • sponsors a successful series of international Software Product Line Conferences (the most recent of which, SPLC 2004, drew more than 200 attendees from around the world)
  • maintains an active web site where visitors can find and download the latest information about software product lines
  • has defined a number of software product line practice patterns [Clements and Northrop 02], which help organizations carry out practices in a structured, planned, predictable way

But the primary mission of this initiative is to help organizations make the transition to successful software product line practice. An organization that does not know how to go about this transition is unlikely to succeed without great difficulty and cost. To help organizations adopt software product line practices, the SEI recently defined a roadmap based on the Adoption Factory pattern [Northrop 04].   Adoption Factory is a pattern that describes the entire product line organization. It is a composite of eight other patterns, showing how they are orchestrated to accomplish the overall objective of setting up and maintaining a software product line capability:

  • What to Build, which helps organizations decide on the set of products to be included in the product line
  • Each Asset, which shows organizations how to build individual core assets
  • Product Parts, which shows how to supply the core assets from which products will be built
  • Assembly Line, which helps organizations establish the production infrastructure
  • Product Builder, which shows how to produce the individual products in the product line
  • Cold Start, which prepares the organization for its first product line operation
  • In Motion, which shows how to keep the product line organization running
  • Monitor, which shows how to maintain a picture of how well the product line organization is running

Figure 1: Adoption Factory Pattern

Figure 1: Adoption Factory Pattern

These patterns are in turn defined in terms of the Framework practice areas that each one puts into action and shows how those practice areas are used in concert to produce the desired outcome of each pattern. In addition, Adoption Factory appeals to the “Process Definition” practice area directly, to emphasize an organization’s need to define and carry out disciplined processes.

Adoption Factory becomes useful as a roadmap when it is annotated showing

  • temporal phases of product line adoption (“establish the context,” “establish the production capability,” and “operate the product line”)
  • focus areas on which the patterns and practice areas in Adoption Factory operate (products, processes, and the organization itself)
  • the practice areas involved in each part of the pattern
  • the artifacts (such as a production plan, or a concept of operations, or a scope definition) produced in each part of the pattern
  • the organizational roles carrying the primary responsibility for each part of the pattern

For instance, the figure above shows the pattern annotated with phases and focus areas. This can allow a decision-maker to identify where his or her organization currently is with respect to achieving full software product line capability.

At the SEI, Adoption Factory serves as the unifying theme for several products and services; for example,

The PLP Initiative is actively seeking to assist organizations wishing to embrace the software product line approach. A structured, methodical, step-by-step adoption strategy is the cornerstone for a successful transition, and Adoption Factory provides the blueprint.

 

References

[Northrop 04] L. Northrop. Product Line Adoption Roadmap (to be published, CMU/SEI-2004-TN-035). Pittsburgh, PA: Software Engineering Institute, Carnegie Mellon University, 2004.
 

[Clements and Northrop 02] P. Clements and L. Northrop. Software Product Lines: Practices and Patterns, Boston, MA: Addison Wesley Longman, 2002.
 
 

 

For more information, contact—

Linda Northrop

Phone
412-268-7638

Email
lmn@sei.cmu.edu

World Wide Web
www.sei.cmu.edu/productlines/

 

   
 
Copyright © 2005 Carnegie Mellon University. All rights reserved.
 
 

 

 

Credits Editor in Chief:
Janet Rex

Production:
Barbara White

Editorial Staff: Hollen Barmer
Carol Biesecker
Bill Thomas
Barbara White
Editorial Board:
Stephen Blanchette
Lisa Brownsword
Paul Clements
Eileen Forrester
Mindi McDowell
Sally Miller
Bill Pollak