Planning is an important method in self-adaptive systems. Existing approaches emphasize the functional properties of the systems but do not consider possible alternative adaptations resulting in system functionality with different grades of quality. In compositional adaptation, the adaptation process should identify not only a feasible system configuration, but a good one. In safety-critical systems such as cars, the adaptation process has to fulfill special requirements. The sequence of reconfiguration activities has to maintain constraints over the entire state trajectory defined by the adaptation process, e.g., that certain processes are always running or even a minimal number of redundant instances. At the same time, in modern cars, many optional processes, such as learning of the engine model or optimization of control processes, improve the performance of the car. Possible optimization objectives are fuel consumption, driving comfort, and wear. Thus, this paper introduces a model of a self-adaptation process by reconfiguration, which considers the quality of alternative configurations. Furthermore, a planning process is introduced that generates a sequence of reconfiguration activities, which result in good configuration. The introduced process can be used to maintain the basic system functionality and also to select the currently most appropriate task implementations and optional tasks to run in a recovered system, e.g. after hardware failures.