Only necessary units in project file
A project file can be regarded as any other unit in the sense that it only needs to use units that are needed within the project file. However, the IDE of Delphi somewhat evokes that other units are placed within the project file whenever a new unit is created. Adding unnecessary units to a project should be avoided.
AllUnits.dpr
AllUnits.dpr is the only special project within the code base that allows unit references that are not needed by the project. In fact, this project is created and kept up-to-date with references to all units in the code base in order to allow the Delphi IDE to support its refactor tools. Unfortunately the Delphi IDE seems to need a unit to be present in the project file in order for the refactor tools to work properly with that unit.
When adding a unit to the code base using the Delphi IDE one can add it to AllUnits.dpr.
Production and development projects
The version of the Delphi IDE that is currently used at Charta Software does not support multiple build configurations within the same project. Having multiple build configurations would allow one project to be built as a development version or a production version with different configurations.
As multiple build configurations are currently not supported the code base contains a separate project for each build configuration. The production project is assigned an ordinary name and a development project is assigned the projection name plus the suffix .Development.