Creating tools for workflows
Workflows bring together multiple tools, which have often been created to be used as stand-alone tools rather than as part of a workflow.
So to help you consider what is required to make a tool workflow ready, Brack et al. (2021) wrote ’10 simple rules for making a software tool workflow-ready’:7
- Make sure a workflow engine can talk to your software easily – consider the format of input and output data of your tool.
- Make your tool simple to install – reducing the time and effort required to install your tool will likely increase its use.
- Document your tool – users will need to know what the tool is for and how it works, so documentation is essential.
- Make your tool maintainable – sustainability can be a challenge for software, especially those developed as a result of research funding, however for workflows to be usable, their components need to be sustained over time.
- Follow the principle of least surprise – if tools don’t act as users expect it can limit their use.
- Make your tool parallelisable – many tools are designed to run on locally on a single computer and so it may be necessary to re-engineer tools before they can become part of a workflow.
- Make your workflow tool a good citizen – create software in a way that won’t cause problems for others when they run it, such as being unnecessarily resource heavy.
- Make output reproducible – many factors can affect reproducibility, however given the importance of reproducibility to research, it is vital to consider whether your tool allows for reproducibility.
- Carefully consider human interaction – workflows are designed for automation of analyses, however sometimes it is necessary for humans to make decisions as part of an analysis.
- A software tool should just do one thing – if your tool does multiple things, it may be worth breaking it down into multiple tools so that each could be included in a workflow individually.
Read more about these ‘10 simple rules for making a software tool workflow-ready‘.7