The process of software development is characterized by sequences of activities in the phases of design, modularization, implementation, test, integration, and others. Typical activities are the writing of source code, its compilation, test, and integration into a project; finally its freezing as a release, and after that, the localization and correction of errors encountered by testers or customers.
ComPact offers support for some of these activities by maintaining an order of steps, checking preconditions for certain activities, and the integrity of certain products. For example, ComPact ensures that only correctly built packages may be shipped as release, and that packages that import development versions of others packages may never be declared as released.
Furthermore, in the process of fixing bugs, certain versions of packages or ranges of package versions may be marked as broken or buggy (or any other adjective you prefer). Projects in development as well as projects already shipped to customers may be checked for the inclusion of buggy and broken package versions, so that updates may be prepared before damage is done to customer applications and data.
The process of release engineering is greatly facilitated by the ComPact Project Manager program, which handles projects as sets of (related) packages, and is able to build them, check them in, create snapshots and releases and much more.