This document provides guidelines to be used when new GAMS and GEMPACK code is written and documented in the BATModel project. It details, for instance, how folders should be organized, how parameters, variables and equations should be named, how code should be structured and documented, and how meta-data should be handled. These rules have not been defined from scratch, but are based on existing good practises established by the modelling team involved in WP7.
The main aim of defining these guidelines is to ensure that the code of a module developed in BATModel can be easily understood by another GAMS/GEMPACK programmer, and that it can be successfully maintained and updated, even after the lifetime of BATModel. Developing these guidelines reflects that typical industry software projects report about 80% of costs related to maintenance, far more than costs of the original development effort. Modules developed in BATModel shall be distributed to third parties, and well-structured and clearly documented code is a key success factor to make this is a meaningful exercise.