Product Line Practice Framework
Challenges:
How can you effectively turn out a family of
software-intensive systems using the software product line approach?
- How do you manage the production and use of core assets across your product family?
- How do you get a handle on the software engineering, technical management, and organizational management issues associated with software product line engineering?
- How do you structure your organization to coordinate the production of core assets and products?
- What are the essential activities involved in fielding a software product line?
- What are the costs and benefits of adopting a product line approach?
Overview:
The Product
Line Practice Framework is a living, web-based document that describes the
essential ingredients of a software product line approach. A software product
line is a set of software-intensive systems that share a common, managed set of
features satisfying a particular market or mission area, and are built from a
common set of core assets in a prescribed way. Producing a set of related
products as a product line, rather than as a series of unrelated or
loosely-related development projects has allowed organizations to achieve
order-of-magnitude improvement in cost, time to market, and productivity, and
has in some cases even allowed organizations to develop systems so efficiently
as to be able to take over a market. But adopting the product line approach can
be difficult, and organizations need a roadmap of the capabilities required.
The Product Line Practice Framework provides exactly that.
Benefits:
The Product Line Practice Framework allows
organizations to work effectively at achieving the full potential of the
product line approach. Pitfalls can be avoided; key organizational capabilities
can be identified and targeted for improvement. The framework can serve as a
roadmap for adopting the approach, and help achieve buy-in from stakeholders.
Who Would Benefit:
Anyone in a decision-making capacity in an
organization that has adopted, or could adopt, the software product line
approach.
Example Use:
An organization is building a series of related
software systems, but not using the product line approach. The project managers
talk to each other, and are frustrated at the amount of repeated work and
wasted effort that is occurring among the projects. They feel there must be a
way they can effectively cooperate to reuse commonly developed software and
other assets such as documentation, designs, requirements engineering,
performance engineering, and test infrastructure. They use the Product Line
Practice Framework to understand the concepts of core assets, and adopt an
organizational structure that provides the means to effectively design, build,
use, distribute, and maintain core assets among their projects. The core assets
are built using the software engineering practice areas described in the
Framework. The managers keep data that will illustrate how much savings they
are realizing, and will use that data to take to company's VP of engineering,
as a way to move the entire company towards the product line paradigm.
Description:
A
Framework for Software Product Line Practice is a web-based, living
document that will aid the software community in software product line
endeavors. Each version represents an incremental attempt to capture
information about successful software product line practices. This information
has been gleaned from the work of the Product Line Practice Initiative,
including 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. We have now defined all of the
practice areas and have rewritten major portions of the framework based upon
our ongoing software product line collaborations and the feedback from the
community. The plan is that future versions will build upon the current
foundation by growing the body of knowledge, by refining what is already there,
and by describing a small number of product line scenarios involving the
development, acquisition, and/or evolution of a software product line.
The Product Line Practice Framework consists of
- An introduction that lays out the fundamental concepts of a software product line, and explains the costs and (potentially enormous) benefits of the product line approach
- A section about the three essential activities of a product line: core asset development, product development using the core assets, and management to orchestrate the whole process.
- A section describing twenty-nine important practice areas involved in product line practice. A practice area is an area of expertise that an organization must have in order to fully realize the potential of product lines. The practice areas are divided into three categories: software engineering, technical management, and organizational management. Most of the practice areas apply to conventional software development projects, and so will be familiar to any software professional: requirements engineering, component development, software architecture definition, data collection and metrics, configuration management, risk management, planning, training, and so forth. But all of these take on a special flavor when applied to product lines. Configuration management, for instance, becomes more complex in a product line environment, and must be carefully managed. Other practice areas are new to product lines. Scoping, for example, is the practice area associated with deciding what products to include in the product line.
- A set of frequently-asked questions, a bibliography, and a glossary of terms.
Availability:
The current version of the Product Line Practice
Framework is available on the SEI's web site. In addition, SEI staff will work
with a customer to apply the framework to his or her organization.
Additional Information:
- Technical details or arranging Framework-related services: Linda Northrop
Related SEI Products and Services:
Product Line
Analysis Tutorial
Product Line Quick
Look (PLQL)
Product Line
Technical Probe (PLTP)
Keywords:
Product line, software product line, core asset,
reuse.


