Code Organization Guidelines

Implement a configuration management strategy. This means making use of a dedicated build team who solely be responsible for promoting code between environments. This requires locking down access to environments after development so that only appropriate configuration management staff has access.

Use a source code control system, such as cvs and subversion.

No developer workstation might be master of any code delivered to production.

All deliveries might be based on scripted deployments built directly against a tagged set of artifacts in the source code control system on a machine that is used for that purpose.

Typically configuration files, SQL scripts, and generated wars all are source controlled.

Source-controlling dependent jars might be considered, so that version dependency failures are avoided.

Configuration files for development environments can also usefully be centrally maintained to reduce environment set up overheads.