Skip to ContentSkip to Navigation
Digital Competence Centre
your one-stop for research IT and data
Digital Competence Centre Data & Software Management Research Software Management

Reproducible Workflow Best Practices

You and your collaborators or people who are interested in using your software should be able to easily access your code, understand what it does and install it anytime. First, you need to understand the difference between reusability and reproducibility. They are very similar concepts with common steps to achieve them.  Reproducibility means that one should be able to get the same results by using your code and following the same steps, whereas reusability only aims to reuse the code for similar or different analysis purposes in a similar or totally different scientific field. But for both cases one needs to adopt the following best practices:

  • Code versioning platform

A code versioning platform such as GitHub, GitLab, Gitea or Mercurial needs to be used to keep the code and monitor the changes and issues.

  • Good documentation

A clear description of the software and steps to be followed to install and how to use it should be documented at least. In addition, the procedure to contribute to the code and contact information of the owner should be included in case the code will be shared with others.

  • Requirements/ environment managers/ containers

Requirements regarding the libraries, modules and versions should be clearly indicated or environment managers such as conda and pipenv or containers such as Docker needs to be used.

  • Clean code

To easily  point out and fix the bugs and errors in the code, as well as to increase its comprehensibility one needs to follow the best practices for clean coding independent of the programming language.

  • Test

If there are mistakes in the code the results may be partly or entirely unreliable. Testing code thoroughly and frequently is vital to ensure reliable, reproducible research.

  • License

In case the software will be open and published  an appropriate license should be included.

  • Citation

In case the software will be open and published, a citation file needs to be included to the code repository informing  the users about how they should refer to the software. For more information about citation file for research software and how to create it, watch our video on the e-learning section.

Last modified:15 February 2023 3.40 p.m.