Implementing software configuration management (SCM) in an organization raises various integration problems. We present the Incremental Configuration Environment (ICE), a novel SCM system providing smooth integration with both the software process and the development environment. ICE is based on the version set model, where versions, components, and aggregates are grouped into sets according to their features, using feature logic as a formal base to denote sets and operations and to deduce consistency. Version sets generalize well-known SCM concepts such as components, repositories, workspaces, aggregates, or configurations and allow for flexibility in combining these concepts. For integration in software development environments, ICE provides a featured file system (FFS), where version sets are represented as files and directories. In the FFS, arbitrary programs can incrementally access and explore version sets. Using the well-known C preprocessor (CPP) representation, users can view and edit multiple versions simultaneously, while still only the differences between version sets are stored. Facilities for multi-version merging or deductive program construction care for effective work coordination and automatic reuse of derived objects.