Module: softwaremanagementplans

Assess your software

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 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: Assess the management level needed

  • Look at the software repository or page in the Research Software Directory
  • Assess what level of management the software needs: low, medium, or high.

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.

This may not be a clear-cut decision, but that is fine. The goal is to get a sense of the level of management needed. Discuss with your group and come to a consensus.

Step 3: Fill in the SMP template

From the assessment made in Step 1, get the requirements that match the level of management needed.

Copy a template, and fill it in for your software project.