Software Quality Checklist¶
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?