Date of Original Version
Abstract or Description
Change is a natural, although not always welcome, part of product line development. The changes may be initiated to correct, improve, or extend assets or products. Since no asset is independent of all other assets, changes to one asset often require corresponding changes in other assets. And changes to assets propagate to affect all the products using those assets. Many of the practices of a successful product line initiate, manage, or consume these changes. Both conceptual techniques and software tools are available to assist in the management of these changes.
The focus of this technical report is how evolutionary changes affect the various types of assets in a software product line. Change can be anticipated and managed, or it can be unanticipated and potentially disruptive. This technical report defines a few basic evolution concepts and then discusses those product line practices that initiate, anticipate, control, and direct the evolution. Conceptual and automated techniques that support these practices are also presented.