3  Prepare your proposal

3.1 Incorporate your Software Management Plan

WHY How you are planning to use and create software throughout your project is something you should mention in your data management plan that goes with your Project Proposal, or a separate software management plan (SMP). For example, expectations regarding how long the software should last and what is required to accomplish this. Do you need a software engineer to support your work? Or will you do large (costly) calculations which require High-Performance Computing? With an SMP you can establish a structured way of developing research software and make important decisions explicitly.

WHAT Whether you are writing an analysis script, computational workflow or a standalone tool, there are a few general questions that should be considered and discussed when you are planning your project (and updated during your research):

  • Purpose. What is the current reason or expected end-use for developing the software?
  • Reliability: The effect of software failure and/or non-maintenance on (e.g., risk of harm, reputation damage, etc)
  • Maintenance: The long-term effort (during or after project) needed to maintain the software as long as it might be used as a script, standalone tool or dependency.

More about creating SMPs can be found here. The University is currently formulating more elaborate standardized Software Management Plans. Please reach out if you want to use an SMP to structure the development of your research software.

flowchart LR
  A[Hard edge] --> B(Round edge)
  B --> C{Decision}
  C --> D[Result one]
  C --> E[Result two]

flowchart TB
    c2-->a1
    subgraph Questions
    a1-->a2
    end
    subgraph Core requirement
    c1(Start)-->c2[Risk analysis, version control, purpose, license]
    c2-->c3{Type of software}
    c3--workflow-->c4[deployment docs, user docs]
    c3--tool-->c5[deployment docs, user docs, packaging, citation, support]
    c4-->c6{Multiple developers?}
    c5-->c6
    c6-- Yes -->c7[developer documentation, code quality]
    c6-- No -->c8{Offer support?}
    c7-->c8
    c8-- Yes -->c9[Maintenance]
    c8-- No -->c10(Finished)
    c9-->c10
    end