Skip to article frontmatterSkip to article content

Introduction

A Software Management Plan (SMP), similar to a Data Management Plan, is a document that describes how your software will be generated, used and shared during and after your project. And similar to a DMP, an SMP is a living document, which should be updated throughout the research project as needed.

According to Grossmann et al., 2024, a SMP is:

an instrument to collect ideas and information necessary for [researchers] programming activity, which helps [researchers] gain awareness and provide for the necessary resources. Such an instrument can be an SMP, which aims to collect all information relevant for the software development in a scientific context to support a structured approach or help distributed teams to adhere to (self-) defined standards.

A Software Management Plan (SMP) contains general and technical information about the software project, information on quality assurance, release and public availability as well as legal and ethical aspects that affect the software. The SMP summarises information that adequately describes and documents the creation, documentation, storage, versioning, licensing, archiving and/or publication of the software created or used in a project. Associated hardware and other necessary resources, as well as other associated software and software libraries, text and data publications must also be described and are a special feature of the SMP. The purpose of an SMP is initially to support the traceability and, if necessary, the longterm usability of the software (for direct application as well as for further processing) and to facilitate user support in the event of queries. The SMP therefore also serves the purpose of quality assurance. The SMP can be linked to one or more DMPs if the software is used for data generation or processing. SMP and DMP can be summarised as output plans.

One important thing to say in this context is that software includes a wide range of things: from analysis code used by only one researcher to software libraries with many users. See What software to manage? for more details.

Here is a good introduction to SMPs.

What is it?

An SMP is a document which describes how a specific software project will be developed and maintained, and over what period of time. It describes, for example, how the software will manage version control, how it will be licensed, how it will manage license compatibility, and so on.

More than a document, a SMP should be a way for developers of research software to reflect on their process, their choices more explicit, and consider what options are available to them. Ideally, this reflection should happen early on in the development process, and should be revised and updated on a regular basis.

How can they benefit your research?

An SMP can help the developers of research software make explicit their intentions and choices on how they will manage their software project. If you plan on sharing your code, it will help you ensure that your code is reusable by others.

What software to manage?

Some researchers say they do not create any software, they only write one-off scripts to analyse data. These scripts, short as they may be, are still software. The Australian National Agenda for Research Software proposes different categories of research software: analysis code, prototype tools, infrastructure software. The key point is that SMPs apply to research software across this spectrum, although it may apply differently depending on the needs of the software.

Defining the roles of research software (Version 2) provides a different view of the different categories of research software. The common thread with these different interpretations is that not all software is created under the same circumstances. The context of the software is important to understand how it should be managed.

The Practical guide to Software Management Plans provides a collection of optional requirements to be included in an SMP. From these requirements “Purpose” is recommended as a starting point, and should always be there: software should always be made with a purpose in mind, and its purpose determines its management level.

When to write an SMP?

Ideally, a SMP should be drafted during the planning phase of your research project, alongside your DMP. Some funders (for example NWO, ZonMw, the Netherlands eScience Center) require an SMP as part of your grant application.

An SMP is a living document. As such, it should be updated on a regular basis. For example, when you release major versions of your software.

Existing SMP templates

SMP tools

Additional Resources

References
  1. Grossmann, Y. V., Lanza, G., Biernacka, K., Hasler, T., & Helbig, K. (2024). Software Management Plans – Current Concepts, Tools, and Application. Data Science Journal. 10.5334/dsj-2024-043
  2. Nieuwpoort, R. van, & Katz, D. S. (2024). Defining the roles of research software (Version 2). 10.54900/xdh2x-kj281
  3. Martinez-Ortiz, C., Martinez Lavanchy, P., Sesink, L., Olivier, B. G., Meakin, J., de Jong, M., & Cruz, M. (2023). Practical guide to Software Management Plans. Zenodo. 10.5281/ZENODO.7038280
  4. Institute, T. S. S. (2018). Checklist for a Software Management Plan. 10.5281/ZENODO.1422656
  5. Spaaks, J. H., & Maassen, J. (2018). Netherlands Escience Center Software Sustainability Protocol. Zenodo. 10.5281/ZENODO.1451750
  6. Alves, R., Bampalikis, D., Castro, L. J., Fernández, J. M., Harrow, J., Kuzak, M., Martin, E., Psomopoulos, F. E., & Via, A. (2021). ELIXIR Software Management Plan for Life Sciences. 10.37044/osf.io/k8znb
  7. de Koning-van Nieuwamerongen, D., Verhagen, I., & Albers, J. (2024). WUR Software Management Plan template and guidance. Zenodo. 10.5281/ZENODO.10473646
  8. Saenen, B. (2025). Developing and Aligning Policies on Research Software: Recommendations for Research Funding and Research Performing Organisations. Zenodo. 10.5281/ZENODO.13740998