Software Engineering Institute Carnegie Mellon

Software Product Lines
Latest Updates

TECHNOLOGIES

Acquisition Organizations
and Product Lines
Architectures for SPLs
Business Case
Diagnostic Instruments
Economic Model
Factory
Framework for SPL Practice
PLP Patterns
Product Line Analysis
Production Plan
Products and Services

LEARNING

Getting Started
Adopting Software
Product Lines
Bibliography
Curriculum
Glossary
Pedagogical Product Line
Presentations
Publications
(by type and date)
Publications
(by topic)
Success Stories

COMMUNITY

Conferences and Workshops
Hall of Fame
Related Web Sites
Upcoming Events
Software Architecture
Predictable Assembly from
Certifiable Components
Product Line Systems Program

Product Line Practice (PLP) Initiative

* Requires Javascript enabled

This page describes the Product Line Practice (PLP) Initiative, one of the SEI's sponsored projects to help organizations and individuals to improve their software engineering practices.

To explore the body of work carried out under this initiative, visit the software product line pages.

 – Where the PLP Initiative is going
 – Where the PLP Initiative has been

In Brief

Community Problem:

PLP Goal:
There is widespread use of effective software product line practices within acquirer and developer communities.

“Axioms” Guiding Our Work

Where the PLP Initiative is going

Purpose
The purpose of the Product Line Practice Initiative is to make product line development and acquisition a low-risk, high-return proposition for all organizations. We want to mature technical, business, and acquisition techniques to address known deficiencies in current product line efforts for efficiently producing and sustaining systems from a core asset base that includes requirements, an architecture, models, process descriptions, documentation, test plans, test cases, work plans, schedules, budgets, and other reusable artifacts. We want to mature adoption and acquisition strategies to bootstrap organizations that otherwise would find a product line approach prohibitive. We are working to package and transition techniques that support product line adoption and sustainment. Finally, we are working to train developers, acquirers, and educators to use effective software product line principles and practices.

Vision
Our vision is that product line practice is key to fielding families of software-intensive systems that meet mission and market requirements in a timely, cost-effective manner. No software-intensive product or product acquisition is launched without first considering product line options. Organizations produce and sustain systems in a software product line for a fraction of the cost and in a fraction of the time needed for single-system approaches, without the need to hire additional staff. Quality and customer satisfaction are all predictably high through the life of the products. Initiating and operating a software product line organization is a low-risk, predictable process that results in little or no organizational upheaval. Technical and managerial methods and practices, and well-proven patterns for their use, are readily available and easily assimilated. The benefits of a product line approach begin accruing immediately. Organizations use a standard diagnostic instrument to measure and improve product line operations. Product line organizations, their operations, and their products are sustainable; they endure and readily evolve to meet changing mission or market requirements. Third-party vendors provide tools and services that support software product lines. The market for product line consultancy and training thrives. Influential industry analysts promote software product lines as a critical technology. Purveyors of dominant software engineering methodologies incorporate software product lines in their methodologies. Software engineering education and textbooks include product line precepts that become part of the background of all well-trained software engineers. Government acquisition mangers are well educated about software product lines. The DoD routinely acquires systems built using product line practices. Statements of objectives (SOOs), statements of work (SOWs), requests for proposals (RFPs), and requests for system engineering technical assistance (SETA) routinely specify the use of software product line practices. Industry proposals respond in kind, and product-line-specific guidelines exist to help acquirers and developers.

Tasks
The Product Line Practice Initiative accomplishes its work through two primary tasks:

  1. Mature Product Line Practices: This task is focused on codifying practices in areas that are still not well understood but that are critical for both the sustained product line success of individual organizations and the practicability of software product lines for the widespread community of developers and acquirers. These areas of focus include practical strategies and techniques to do the following: support product derivation, effectively sustain software product lines, affordably adopt and acquire software product lines. Application of the developed strategies and techniques is included in the task and vital to the codification process.

  2. Enable Adoption of Product Line Practice: This task helps developers and acquirers successfully adopt a software product line approach by providing an online software product line knowledge repository, books, case studies, collaboration opportunities, and a software product line curriculum. This task also establishes a transition infrastructure that includes certificate programs, Train the Trainer courses and course licensing, published articles and reports, workshops, conferences, and participation in community product line transition efforts.

Where the PLP Initiative has been

Organizations of all types and sizes are discovering that a product line strategy, when skillfully implemented, can improve productivity, quality, and time to market. Making the move to product lines, however, is a business and technical decision, and requires considerable changes in the way organizations practice software engineering, technical management, and organizational management.

During the last five years, the SEI has become an recognized international leader in software product lines and has developed the momentum and the knowledge base necessary to effect in the coming years the widespread transition of effective product line practices. Organizations have turned to the SEI and its product line resources to launch and perfect their product line efforts. In particular, the SEI developed

The SEI has also established through publications, books, workshops, and conferences, the basis for a software product line community infrastructure. The book Software Product Lines: Practices and Patterns was published and to date has sold over 4,000 copies, and has been translated into both Japanese and Chinese. The first product line course, entitled Software Product Lines, was developed in 2003, was delivered to 245 individuals representing over 50 organizations, and represents the first course in a Software Product Line Curriculum now in early development. The SEI has organized more than ten product line workshops as well as the first three international software product line conferences (SPLC 1 (2000), SPLC 2 (2002), and SPLC 2004.

The SEI has also successfully piloted its practices and methods with select early adopter organizations.

The Army Technology Applications Program Office (TAPO) and their prime contractor Rockwell Collins report that their product line for the Army's special operations helicopters supports easy insertion of new technology (e.g., multi-function displays and other line replacement units [LRUs], and accommodates integration of subsystems by third-party developers. As a result, their product line will now be used to support a more extensive fleet of Army utility and cargo helicopters. TAPO was supported in their efforts by the SEI.

The Army "after-action" reports following the recent wars in Iraq and Afghanistan underscored the results of the exhaustive architecture study that the SEI performed on the Force XXI Battle Command Brigade and Below (FBCB2) system–the principal tactical digital command-and-control system for the U.S. Army. The SEI is engaged in a multi-year effort working directly with the FBCB2 Program Office and its prime contractor (Northrop Grumman) to re-architect FBCB2 as a software product line that will better meet modifiability, scalability, performance, reliability, usability, and security needs, as well as correct flaws identified during the SEI's evaluation and FBCB2's recent operational use. This new software product line will enable FBCB2 to be used efficiently and cost effectively across the force on platforms in addition to the 40 that it currently supports. SEI product line and architecture methods are being adopted by Northrop Grumman and are being applied directly to the FBCB2 system. Assistant Secretary of the Army Claude Bolton personally endorsed the re-architecting of FBCB2 to a product line architecture.

Five other Army programs (FBCB2, Army Training Support Center [ATSC], FCS, Advanced Multiplex Test System [AMTS], and Agile Commander) are in the early stages of adopting a product line approach for their software-intensive systems. All are being supported in their efforts by the SEI. The Navy's Rangeware software product line produced by NUWC continues to improve its practices (with SEI assistance) and provide quantifiable benefits to the Navy.

Using software product line practices, the tractor manufacturer John Deere went from producing one software system in ten years to producing two software systems in one year. Argon Engineering, a defense contractor that develops communication systems that search, identify, and capture signals, uses SEI-defined product line practices to develop and deploy many of its systems. The company reports increased customer satisfaction, shorter development cycles, and decreased costs. Austin Info Systems (AIS), one of only two major subcontractors on the Army Future Combat Systems (FCS) Program, is also using SEI practices and resources to achieve its business goals through software product lines. Agilent (an international telecom company) and National Cash Register (NCR) are both using the product line practice patterns developed by the SEI to roll out their company-wide software product line initiatives.

In 2003, Robert Bosch, the world's second leading supplier of automotive technology, announced a company-wide software product line initiative that directly embraces SEI product line methods. The SEI helped Bosch develop a corporate-wide product line adoption plan that includes use of the SEI Product Line Technical Probe, as well as product line practice patterns and adoption strategies. The company has now mandated that each of its business units initiate a product line over the next few years, and anticipates that using SEI product line practice methods will enable it to maintain its competitive edge and high-quality products in a cost-effective way. Bosch already reports substantial advantages in piloting the framework for embedded software; such as, 1/3 savings in memory resource consumption and slightly better timing behavior while providing the same features in core assets; and higher reuse potential than with the former reuse approach.

Through contacts with the SEI, both IBM and Microsoft have become interested in software product lines. IBM Research included software product lines in its internationally respected Global Technology Outlook for 2003 and specifically referenced the SEI work. Microsoft is using software product lines as the underlying motivator for its software factories tool environment to be released in 2004.

A special issue of IEEE Software dedicated to software product lines was published in 2002. Two SEI staff members were coeditors and three authored articles that appeared in the issue. A second issue in 2004 featured an article on a product line business model that was co-authored by two members from the PLP team.

The organizational interest in software product line has grown tremendously over the last five years. Given the necessary community nurturing the potential payoff for software development is enormous.

The SEI's work in software product lines is notably unique in its