NEWS AT SEI
This article was originally published in News at SEI on: January 1, 2008
The purpose of the SEI’s Product Line Practice initiative is to make software product line development and acquisition a low-risk, high-return proposition for all organizations. By software product line, we mean a set of software-intensive systems that share a common, managed set of features satisfying 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 [Clements & Northrop 2002]. Organizations of all sizes, government and commercial, are achieving order-of-magnitude improvements in cost, quality, and time to market using the software product line approach—improvements the scale of which the field has not seen since the advent of high-level programming languages decades ago.
The Product Line Practice initiative has a broad selection of products and services available to help organizations cross barriers and hurdles between their current state and the successful development of a software product line. However, there a number of things that an organization can do for itself, with the help of the SEI website for software product lines, www.sei.cmu.edu/productlines. On the “Getting Started” page you can find the following list of familiarization steps, each pointing directly to the most appropriate resource:
Reading case studies and experience reports may be particularly helpful, and to this end there is a new resource. The SEI has recently compiled a list of 42 examples of software product lines that have been described in the open scientific literature. The catalog is available at www.sei.cmu.edu/productlines/plp_catalog.html. Each entry gives the name of the organization or organizations involved (except one case where the publication kept the name confidential), describes the product line, lists the best publications for more information about it, and summarizes the benefits experienced from the product line approach.
All 14 current member of the Software Product Line Hall of Fame are listed (www.sei.cmu.edu/productlines/plp_hof.html). The Hall of Fame is maintained by the yearly international Software Product Line Conference (SPLC) (www.splc.net) to reward excellence in software product lines and to provide exemplars for others to emulate. Hall of Fame members include examples from Hewlett Packard, Nokia, Boeing, Lucent Technologies and Bell Labs, Philips, Ericsson, General Motors, LSI Logic, and Bosch.
Also listed in the catalog are the comprehensive case studies performed by the SEI. These include in-depth examination of the successful software product lines at CelsiusTech, Salion, the U.S. National Reconnaissance Office, MarketMaker, and Cummins.
The catalog and the other getting-started steps listed on the web site are intended to help organizations become knowledgeable about software product lines and help them gain insight about where they stand relative to the organizations that have made the product-line journey successfully.
[Clements and Northrop 02]
Clements, P. & Northrop, L. Software Product Lines: Practices and Patterns. Boston, MA: Addison-Wesley, 2002.
About the Author
Paul Clements is a senior member of the technical staff at the SEI, where he has worked for 10 years leading or co-leading projects in software product line engineering and software architecture design, documentation, and analysis. Clements is the co-author of three practitioner-oriented books about software architecture: Software Architecture in Practice (1998; second edition, 2003), Evaluating Software Architectures: Methods and Case Studies (2001), and Documenting Software Architectures: View and Beyond (2002). He also co-wrote Software Product Lines: Practices and Patterns (2001), and was co-author and editor of Constructing Superior Software (1999). In addition, Clements has also written dozens of papers in software engineering reflecting his long-standing interest in the design and specification of challenging software systems. He received a BS in mathematical sciences in 1977 and an MS in computer science in 1980, both from the University of North Carolina at Chapel Hill. He received a PhD in computer sciences from the University of Texas at Austin in 1994.
The views expressed in this article are the author's only and do not represent directly or imply any official position or view of the Software Engineering Institute or Carnegie Mellon University. This article is intended to stimulate further discussion about this topic.