Software checklist
This section contains a list of items which are required to help software reach a sufficient quality standard. The following list of items links to explanation in other sections of this chapter.
The checklist matrix provides an indication of which items are important at different development stages.
Version control
- version control from the beginning of the project
- use git as version control system (vcs)
- choose one branching model
- public vcs repository
- meaningful commit messages
Releases
- semantic versioning
- tagged releases
- CHANGELOG.md
- one command install
- package in package manager
- discuss release cycle with coordinator
- release quick-scan by other engineer
- Dissemination
Licensing
Communication
Code Quality
Testing
Documentation
- README.md
- well defined functionality
- source code documentation
- usage documentation
- documented development setup
- contribution guidelines
- code of conduct
- documented code style
- how to file a bug report
- explained meaning of issue labels
- DOI or PID
- CITATION.cff file
- print software version