wiki:SoftwareDevelopment/ProjectGuidelines

Version 1 (modified by Twan Goosen, 8 years ago) (diff)

Page outline

Guidelines for software development in projects

This documents describes some guidelines for software development within CLARIN projects. Since such projects generally have a limited temporal scope, and the original developer(s) will often not be available for support outside the context of the project, additional care has to be taken with respect to a number of aspects that factor into the 'sustainability' of a software projects. Please note that obviously all aspects of this guideline will apply in all circumstances, and that these guidelines can be taken as best practices for any software projects.

Documentation

  • Description of requirements
  • Functional description (design document)
  • Architecture (e.g. UML)
  • In-code documentation
  • API documentation
  • Bundled documents
    • Readme (brief project description)
    • Installation (setup and configuration)
    • Licence
  • Wiki page?
  • Issue tracking
    • Known issues
    • Potential enhancements
    • Milestones/priority!

Implementation choices

  • Programming language(s)
  • Frameworks

Quality and integrity

  • Unit tests
  • Code review

Portability

  • Maven
  • Continous integration
  • Docker

Resources