Skip to content

SMP introduction


What is SMP

A Software Management Plan (SMP) is a living document that outlines how research software will be developed, maintained, shared, and preserved throughout its lifecycle. It covers key aspects such as technical decisions, roles and responsibilities, licensing, documentation, and long-term sustainability. As the project evolves, the SMP can be updated to reflect changes in goals, technologies, or team members. By creating and maintaining an SMP, researchers can ensure that their software is well-organized, easily accessible, and adaptable for future use, contributing to its long-term impact and alignment with best practices, including the FAIR principles.


Why write it

An SMP may sound like an extra administrative task, but it is a powerful tool for planning, organizing, and future-proofing your research software. Here's why:

  • Avoid future headaches: Plan early for software maintenance and updates, so you’re not caught off guard when environments or dependencies change.
  • Clear roles and responsibilities: Define early who handles maintenance, releases, and post-project support.
  • Informed technical decisions: Make key choices about tools, programming languages, and resources up front, preventing costly changes later.

Additionally, an SMP is immensely helpful in aligning your software with the FAIR principles:

  • An SMP encourages you to think about how your software will be documented, cited, and made available in appropriate repositories and registries with metadata, making it easier for others to find. → Findability: It motivates assigning unique identifiers (like DOIs) and creating rich metadata.

  • By considering how your software and metadata will be stored and accessed, an SMP helps you plan for long-term availability, even as technologies or team members change. → Accessibility: Planning for software storage and retrieval ensures long-term accessibility for users.

  • An SMP encourages you to adopt standards and formats that allow your software to work well with other research tools, datasets, or systems. → Interoperability: This improves the software’s ability to communicate and integrate with other tools, supporting interoperability.

  • Planning for clear documentation, proper licensing, and explaining how the software can be used or adapted ensures that others can build on your work in future projects. → Reusability: Your software will be easier to modify, extend, and apply in different contexts.

Read more about the reasons, motivations, and considerations associated with writing and using a software management plan here.


SMP resources

Resource Description
eScience Center Practical guide to Software Management Plans (latest version) Provides guidance to create a Software Management Plan (SMP) template
Software Management Wizard (SM Wizard) by ELIXIR ELIXIR Tool for creating SMP in different formats and connecting it to FAIR evaluator