ENCOMPASS is an integrated environment constructed by the SAGA project to support incremental software development in a manner similar to the Vienna Development Method. In this paper, we describe the architecture of ENCOMPASS and give an example of software development in the environment. In ENCOMPASS, software is modeled as entities that may have relationships between them. These entities can be structured into complex hierarchies that may be seen through different views. The configuration management system stores and structures the components developed and used in a project, as well as providing a mechanism for controlling access. The project management system implements a milestone-based policy using the mechanism provided. In ENCOMPASS, software is first specified using a combination of natural language and PLEASE, a wide-spectrum, executable specification and design language. Components specified in PLEASE are then incrementally refined into components written in Ada®; ∗ this process can be viewed as the construction of a proof in the Hoare calculus. Each refinement is verified before another is applied; therefore, the final components produced by the development satisfy the original specification. PLEASE specifications may be used in formal proofs of correctness; they may also be transformed into executable prototypes that can be used in the validation and design processes. ENCOMPASS provides automated support for all aspects of software development using PLEASE. We believe the use of ENCOMPASS will enhance the software-development process.