HI @OllyL
I have to give you the worse answer possible. "It depends." :).
Here are some things that you can considering while planning for your development, but overall I would always advise the following:
- Keep your Flows as small as possible. Easier to maintain and easier to debug in case something happens.
- Keep everyday tasks in sub-flows. For example, if you have multiple Flows that have to act on a document, isolate that action on another Flow and then use the "Run Child Flow" to achieve it. Again we keep the Flows small and manageable and minimize where we need to change things.
- One Flow does one thing. A good rule of thumb is that if you can't write what the Flow is for in one sentence, you need to break it down. For example, if you have a flow with five steps of approvals, develop 5 Flows that call each other once finished. I detail "Long-running Flows," but the main idea is to break things into small pieces.
So my opinion is to go short and fast. By separating and isolating things, you'll be able to better deal with maintenance, bugs, and more.
Finally, regarding the race conditions, you can't define how the Flows are triggered or in what order, but you can control them by thinking about the triggers. For example, if you have multiple chances to perform when something happens, put that trigger on one Flow. Then use sub-Flows to deal with the different cases. The Flow will be small and delegates a lot of functionality to other Flows.
It's a super interesting question, but there's a lot here. I hope that more people chime in, but this is all about strategy and how you want to deal with things. Both approaches have tradeoffs, and all I mentioned is my personal opinion.
I hope it helps you!
Cheers
Manuel
------------------------------------------------------------------
If I have answered your question, please mark it as "Accept as Solution." It will help other members find the solution faster. If you like my response, please give it a Thumbs Up. ?
Otherwise, reply to it, and the community will do its best to help you.