No Title

Build your own Software Management Plan template

In a live setting, this exercise is done in groups. Each group will be assigned a software project. The group will then create an SMP template for this project.

Step 1: Choose a software project

Choose a software project for this exercise, preferably one you are familiar with.

If you don't have a project in mind, you can use one of the following:

Find the Practical Guide at tinyurl.com/SMP-guide.

Step 2: Building blocks

  • Print the following figure from the Practical Guide and cut out the various hexagons/requirements.
  • Look at the software repository or page in the Research Software Directory or any other information you can find about your software.
  • Take a fresh sheet of paper and some glue and glue the requirements that you think are relevant to your chosen software. You can also use the physical space on your sheet of paper to group the various requirements together.

For this, use the following considerations (section 5 in the guide):

  1. Purpose. What is the current reason or expected end-use for developing the software?
  2. Reliability. The effect of software failure and/or non-maintenance on:
    • Risk of harm to self or others. This includes injury, privacy violation, bias, and inappropriate content.
    • Reputation. For example to self, institution or other.
    • Research, either your own or of others. This effect could be due to an obvious software failure ("crash") or a hidden one, for example, returning inconsistent numerical results on different operating systems.
  3. Maintenance. The long-term effort needed to maintain the software as long as it might be used as a standalone tool or dependency. This includes maintenance functions that can extend beyond the lifespan of the original development project and includes fixing bugs, dependency management, operating system compatibility, and security issues.

Step 3: Assess your template

  • Assess what level of management (low, medium, high) your custom template matches most.
  • What is different from your custom template and the default management level template? Does this difference make sense?
  • Finally use section 6 (Implementation Examples) from the Practical Guide to Software Management Plans to create the Software Management Plan template with questions that a researcher/developer would have to answer.