Code Organization Guidelines

Implement a configuration management strategy. This will generally mean making use of a dedicated build team who will solely be responsible for promoting code between environments. This will also require 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, subversion, and so on.

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

All deliveries should be based on scripted deployments built directly against a tagged set of artifacts in the SC system on a machine which is used for that purpose.

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

Source controlling dependent jars should 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.