Allow client to select executor backend
Summary
A client wants to choose from multiple possible executor backends, e.g. between specific servers (possibly different implementations, such as SLURM, LSF, or Kubernetes, or TES).
Details
Risks
What to write here?
Try to estimate the overall risk associated with the change. If necessary, ask the stakeholders to fill out this section!
Classify the risk according to the scale: critical > normal > minor.
The higher the risks, the more important it is to have a detailed risk analysis.
You could approach this by asking at least the following questions:
- Would an implementation error/bug potentially result in incorrect workflow analysis results?
- Can user input result in incorrect workflow analyses results? (e.g., confusing read R1 and R2)
Think of, for instance:
- Algorithm misconfiguration
- Hardware malfunction
- e.g., network failure and incomplete input/output data
- Data loss
- e.g., if files are deleted by our code
- Data corruption
- e.g., if files are written incorrectly, or results are incorrectly combined
- Correct results are interpreted incorrectly
- e.g., ambiguous labels, visually bad plots
- Security
- e.g., evaluation user input (such as shell injection attack)
- Data privacy
- e.g., sending data to a remote server
For each risk, you may
- suggest immediate measures
- e.g., runtime-assertions, deep code depth, minimum unit-test coverage, minimum integration-test coverage, dedicated validations
- suggest long-term measures
- e.g. create another issue in the board to cope with the problem in code where it is more appropriate.
- Critical:
- Normal:
- Minor:
Verification & Validations
What to write here?
What needs to be tested during verification and validation of the new change?
Verifications usually check that the requirements are correctly implemented. They can usually be implemented with unit or integration tests.
Focus on tests related to the previously identified risks!
Important Stakeholders
What to write here?
List expert stakeholders to contact in case of questions.
Without this information, it may be impossible to refine the requirements to a level, that the issue can actually be made S.M.A.R.T.!
Implementation Suggestions (optional)
What to write here ...
Put here all information related to the actual implementation, such as important information about the codebase, dependencies, etc., and suggestions for the implementation.
Think of the present issue as a "requirement" that is really focused on the stakeholder needs, which usually have nothing to do with implementation details. Therefore, keep it simple here!