'''Manage Configuration Backwards''' This pattern is one of the SetupPatterns . '''Problem''' Producing an installation program can be a very complex task. '''Context''' Planning and requirements gathering for the installation program should take place early in the development process, preferably before coding begins. '''Forces''' *All the right files need to be installed into all the right places. *There may be hundreds of interdependent files installed. *Mapping the files from their current locations to their installed locations may be a difficult task, especially when the configuration of the customer's system is not known until most of the code has been developed. * It's not clear how to structure the installation until after the product has been developed. '''Solution''' Start with a vision or architecture which describes the anticipated components and where they will be installed on the customer's system. Work backwards from the desired result to map the files from the Target Directory on customer's system, through the installation, and build directories, up to the repository. '''Rationale''' Producing a correct list of what files and resources are required and where they get installed is the primary task for an installation developer. Managing the configuration backwards, from the target directory to the repository, makes it easier to build and install the product. This happens because the path that files will take as they flow through the system has been prepared in advance. The key to managing the complexity of the installation program is reducing the number of distinct paths. '''Author(s)''' KentSchnaith '''Date(s)''' 09-Jun-97