Use a software quality checklist
Overview
Teaching: 0 min
Exercises: 0 minQuestions
What is a software checklist?
Why is a software checklist important?
What is a Software Management plan?
What is a Software Sustainability plan?
Objectives
Understand what a software checklist is
Understand why it is good to adhere to a software checklist
Choose a relevant software checklist
Recommendation 5
Use a software quality checklist

Why software checklists are important
Checklists help you write good quality software. What exactly good quality means depends on the specific application of the software, but typically covers things like documenting the source code, using continuous testing, and following standardized code patterns.
Using a checklist
There are many checklists available. We find that the most useful checklist are those that:
- allow for a granular evaluation of a software package, as opposed to just pass or fail.
- explain the rationale behind each item in the checklist.
- explain how to get started with implementing each item in the checklist.
We recommend that you include the checklist as part of the README, for example as
a badge or by including the checklist as a
MarkDown table.
The point is decidedly not to show perfect compliance, but rather to be transparent about
the state of the code while providing the necessary guidance on which aspects could be improved.
Here is a list of some candidate checklists:
- Core Infrastructures Initiative (online, interactive).
- Deutsches Zentrum für Luft- und Raumfahrt Class 1, Class 2, Class 3 (MarkDown).
- Software Sustainability Institute’s software evaluation checklist (Google form).
- CLARIAH checklist (PDF page 38-42).
- EURISE (MarkDown).
Choose a checklist
Have a look at the checklists above and pick two checklists.
- What are the differences?
- What do you think about the questions on the checklist?
- Which checklist seems most relevant for your code?
The limits of a checklist
Are all software that ticked all the boxes of a software checklist high quality software?
Key Points
Checklists help you write good quality software.