Prosperity Heights Software

Tutorial: Process Improvement for Software Product Lines

Presentation: Reuse-driven Process Improvement


Goals. The goal of this tutorial is to present a systematic process improvement method that organizations can follow to adopt a product line approach to software development. Starting with an organization's business objectives and technical expertise, this method helps adopters evaluate the viability of a product line approach, improve process and reuse maturity to an acceptable level, target a beneficial and cost-effective level of reuse capability, and implement a strategy for instituting corresponding product line practices.

Intended audience. This tutorial is targeted to experienced engineers and managers whose organizations repeatedly build similar products and want to achieve substantial improvements in software productivity and product quality. Tutorial attendees should be familiar with the principles and use of a conventional process improvement method such as the SEI Capability Maturity Model approach.

Motivation. Domain-specific Engineering (DsE) is a leading methodology, based on the concept of product families, for systematic reuse in software product lines. To apply DsE, organizations need a systematic approach to adopting and improving a DsE process. This tutorial presents the Reuse-driven Process Improvement (PIr) method which was created for this purpose. Although conceived specifically as an enabler of DsE, the PIr process and tools provide a systematic framework that can aid transition to any product line approach. Originally based on the Software Productivity Consortium Reuse Adoption method, PIr has been refined based on experience with a leading corporate reuse initiative.

The goal of PIr is to account for issues that are specific to instituting reuse in a way that complements and reinforces the aims and actions of an organization’s existing or planned process improvement efforts. PIr is specifically designed to encompass and augment a generic process improvement method such as that of the Software Engineering Institute's Capability Maturity Model. A product line organization, having targeted a market consisting of customers needing a line of similar products, institutes a DsE process as a way to achieve substantial improvements in productivity and product quality for these products. They apply PIr in order to systematize and smooth their transition to a DsE process and its resulting benefits.

PIr differs from generic approaches to process improvement (PI) in that:

PIr Concepts.

PIr is motivated by four objectives. Together these objectives define an essential foundation for any product line approach to software engineering:

These objectives are achieved with the aid of five tools defined by detailed guidelines and procedures. These tools are based on and were refined through extensive industrial experience:

PIr organizes the use of these tools into a systematic iterative process (Figure 1) consisting of five steps:

Figure 1. The PIr Process