A software development environment supports a complex network of items of at least the following major types: people, policies, laws, resources, processes, and results. For various predictable and unpredictable reasons, such items may need to be changed on an on-going basis. This problem of change, however, has not as yet been surmountable, and is therefore currently of fundamental importance in software environment research. In an attempt to overcome this problem, we have designed in the Prism project a model of changes and its supporting two change-related environment infrastructures with the following key or unique features: (i) separation of changes to the described items from the changes to the environmental facilities encapsulating these items; (ii) a facility, called the Dependency Structure, for describing various items and their interdependencies, and for identifying the items affected by a given change; (iii) a facility, called the Change Structure, for classifying, recording, and analyzing change-related data, and for making qualitative judgments of the consequences of a change; (iv) identification of the many distinct properties of a change; and (v) a built-in mechanism for providing feedback. This paper describes our approach to the problem of change and gives a rationale for the design of the model of changes as well as that of the two change-related environment infrastructures.