Skip to content
This repository has been archived by the owner on Nov 8, 2021. It is now read-only.

Software Quality Checklist

Maurits Kok edited this page Jul 30, 2021 · 4 revisions

This Software Quality Checklist is taken from: https://github.com/eurise-network/technical-reference/blob/v0.1/quality/software-checklist.rst

General

  • Does the software have a descriptive name?
  • Is there a short high-level description of the software?
  • Is the purpose of the software clear?
  • Is the targeted audience of the software clear?
  • Does it (and its dependencies) use OSI approved licenses?
  • Is the software under version control?
  • Is there a website for the software?
  • Does the software have a release mechanism?
  • Is the software available in packaged format or only sources?
  • Are maintainer and development status clear, including contact information?
  • Are the requirements listed and up to date?
  • Is the interface responsive and accessible?
  • Is copyright and authorship clear?
  • Is there a contribution guide?

Documentation

  • Is there an accessible getting started guide?
  • Is there an accessible user guide?
  • Is there a full user documentation?
  • Does the user interface link to held references?
  • Are there examples, FAQs and tutorials?
  • Are known issues documented?

Development

  • Is the development setup documented?
  • Is the build mechanism documented?
  • Does the build mechanism use a common single-command system (i.e. Maven)?
  • Is the software API documented?
  • Are all appropriate config options externalised and documented?
  • Does the code allow internationalisation (i18n)?
  • Is the software localised (l10n)? English is mandatory.
  • Is there a test suite?
  • Is test coverage above 80%?

Interoperability

  • Are file formats standard compliant and documented?
  • Is the API standard compliant?
  • Does it provide a monitoring endpoint?
  • Does it adhere to an interface style guide?
  • Does it use existing authentication systems (OAuth2/eduGain)?

Administration

  • Are software requirements such as operating system, required libraries and dependencies specified including versions?
  • Are hardware requirements for CPU, RAM, HDD, Network specified?
  • Are there deployment instructions?
  • Is there a comprehensive and fully documented example configuration?
  • Is a start-up script provided?
  • Are there troubleshooting guides?