Guides to making research software reproducible, citable, and well-documented

Computational research workflow diagram

Preserving and maintaining research software is a challenge to researchers and academic libraries. In my role as a CLIR postdoctoral fellow in software curation, I recently discussed the technical challenges of preserving and maintaining research software in a UC Berkeley Library Update, Research Software in Practice, posted in May. The post highlights the need for developing curricula to teach researchers how to manage their data and software generated as part of the research process, in order to ensure the integrity and reproducibility of scholarly activity. 

The post provides a set of tutorials to help researchers manage their code and make their research reproducible.

Here are guides on managing research software:

A guide to a reproducible research

This guide presents best practices in documenting scientific research process to make the research reproducible. The guide teaches researchers how to manage the main entities of the scientific research and how to effectively provide documentation for these entities. It also lists best practices to make their research reproducible and suggests tools for managing data and software


A guide to researchers on how to share and cite research software
This guide focuses on helping researchers to learn why and how to publish their code and make it citable. It walks researchers step by step through the methodology of publishing code on Github and archiving code using the data and code archiving platform Zenodo. The guide also shows researchers how to get a DOI (Digital Object Identifier) to their code.

A guide on how to write a good documentation

This guide helps researchers to prepare their code for publishing through writing good documentation. It provides best practices for writing good documentation in addition to tools that allow researchers to document their code.