The software has become a fundamental element of modern scientific research. Scientists often create their own solutions for data analysis and visualisation, but their approach to documentation, versioning, and code sharing can be unsystematic. Software Management Plans (SMPs) emerged as a response to the need to organise this process.

A Software Management Plan contains general and technical information about the software being used and developed. This may include quality assurance, release and public availability, as well as legal and ethical issues affecting the software being developed. An SMP compiles and summarises everything related to the creation, documentation, storage, versioning, licensing, archiving, and publishing of software created or used in a project. It should also describe the hardware and other necessary resources, including related applications and software libraries, text publications, and other data.

By monitoring software-related aspects, the SMP aims to extend the period of its usefulness (both for direct application and further processing) while facilitating user support and simultaneously serving quality assurance.

What should be included in a SMP:
  • general and technical information about the project,
  • code quality assurance principles,
  • publication and availability strategy,
  • legal and ethical aspects,
  • long-term storage plans,
  • links to other digital resources.
Available platforms and templates:
 

Access: https://dmponline.dcc.ac.uk/

  • oldest and most basic template
  • focus on future code utilisation
  • 38 key questions
 

Access: https://ds-wizard.org/

  • advanced support for FAIR principles
  • use of controlled vocabularies
  • oriented towards life sciences
 

Access: https://dmp.opidor.fr/

  • most comprehensive template (98 questions)
  • detailed metadata
  • comprehensive management approach
 

Access: https://rdmorganiser.github.io/

  • dedicated to scientist-programmers
  • practical approach to documentation
  • integrated with RDMO
 

Access: https://ug.zib.de/doc/html/index.php

  • focused on software development
  • strong emphasis on documentation
  • integration with GitLab/Wiki

 

Technical aspects and standards:
 

The FAIR4RS principles evolved as an extension of the original FAIR principles (Findable, Accessible, Interoperable, Reusable), specifically adapted to the unique requirements of scientific software. Unlike static research data, the software is dynamic - it evolves over time, requires updates, and has complex dependencies on other components.

These principles help ensure that scientific software will be discoverable by other researchers, accessible through standard protocols, able to work with other tools, and suitable for reuse. For example, software should have a unique identifier (e.g., DOI), be accompanied by rich descriptive metadata, and have clearly defined licensing terms and technical documentation.

 

In the scientific software world, there are two main metadata standards:

  • Bioschemas
  • CodeMeta

Bioschemas was designed with life sciences in mind and offers an extensive system for describing computational tools. It allows a detailed description of functionality, technical requirements, and connections with other resources.

CodeMeta, on the other hand, represents a more minimalist approach, focusing on basic source code information. Both standards are based on Schema.org and enable integration with the broader scientific ecosystem. Thanks to these standards, search engines and catalogue systems can more easily discover the software.

 

Machine-actionable SMPs (maSMPs) represent the next step in the evolution of software management plans. Their main goal is to enable the automatic processing of information contained in the SMP by various IT systems.

For example, a well-constructed maSMP can automatically generate technical documentation based on code and metadata, monitor compliance with adopted standards and good practices, track dependencies between different software versions, and integrate with version control systems and code repositories.

 

Effective scientific software management requires smooth communication between different systems and tools. That's why using standard communication protocols and data formats is so important.

In practice, this means using the following:

  • REST-based APIs,
  • standard formats like JSON or XML for data exchange,
  • common metadata schemas,
  • standardized resource identifiers.

These systems must also work with broader research infrastructure, including institutional repositories and publishing platforms. Integration with research data management systems is crucial, as software often constitutes a key element in data processing and analysis.

 

Development Perspectives

Although no funding agency currently formally requires an SMP, we observe a growing interest in this concept. For example, the Volkswagen Foundation already includes software management aspects in its Open Science policy, and other institutions are likely to follow this path.


This text was based on an article: Grossmann, Y.V., Lanza, G., Biernacka, K., Hasler, T. and Helbig, K. (2024) Software Management Plans – Current Concepts, Tools, and Application. Data Science Journal, 23:43, 1-16. DOI: https://doi.org/10.5334/dsj-2024-043.