Development, maintenance and troubleshooting of software take up a considerable proportion of the scientific work. If programming is subject to any rules, arises primarily in the scientific field and, for larger projects quickly the code becomes sunmanageable, not maintainable, and reusable. This code is often only excecuteable by the developers themselves. The development and maintenance of software must therefore - made ??according to certain rules - regardless of programming language. In the long term a standard should be developed that describes the stages of software development (analysis, structuring, design development, coding, documentation, testing, etc.) and recommends measures for quality assurance of software.
As an increasing extent is software development work in groups, are mechanisms for versioning of program modules (eg SVN) to apply and to lay the highest emphasis on the documentation of the software. Program code should be described by internal comments (doxygen like), but also be supplemented by external information documents (manuals, descriptions of algorithms). These measures should achieve a high quality standard for the program development, avoiding duplication of efforts and make programs more maintainable.