1. A method for managing environments associated with software projects, the method comprising: providing an interface that enables a user to declaratively specify the lifecycle of an environment; receiving input via the interface; and generating a definition file indicative of the lifecycle of an environment based on the input.