4.4. Have a plan and stick to it

Standard theory in software engineering teaches that during the development you iterate through the phases of requirement analysis, design, implementation, component test, integration, global test, release, error analysis and correction, etc. In industrial practice, this works fine as long as the release date is far away. The nearer you get to release, the more you can observe the tendency to skip necessary and approved procedures. Common sense and experience seems to vanish during the last stages of software projects. This often proves fatal.

ComPact is a tool that reminds you kindly of the necessity of some standard procedures. For example, it will not let you ship your latest development version of your package to a globally accessible pool of packages unless you have made a release. It will not ship any package at all that has not been correctly built (including all the test programs). The ComPact Project Manager will not allow you to create a release of your whole project if there is any development version of a package included. These are necessary preconditions for the guarantee that all your work can be reproduced at any time.

While there are other situations in which ComPact might remind you of the correct sequence of actions, it tries not to be too restrictive and hinder you in your work. Its emphasis is on the avoidance of errors during your everyday work, rather than on prescribing the organization and the schedule of your projects. One reason for this is that it is virtually impossible to automate the planning of projects, while it is relatively easy and effective to check the consistency and guarantee the reproducibility of your software. This might be disappointing, but life is hard!