Another alternative you could consider is to create them as parallel jobs within a single stage, but define each job as requiring a resource (which are essentially just tags) there is only one of. This could be a single static agent which is tagged with a "resource", e.g "load-test-lock", or perhaps an elastic agent profile which has a maximum of a single agent. This will mean only one of the jobs will run at a time, and when the single agent frees up, the next job will be scheduled.
Other than that, with the loss of high level progress/visualisation you could perhaps merge them all into a single stage/job with either
- multiple tasks (and task Run If Condition: Any) - i can't recall off the top of my head how the overall job status is determined in such a case, so you might need to check that
- combine into a single task, and orchestrate it with a script, however you would like. You would aggregate the results at the end and fail the script if any one of the steps fails.
-Chad