Simplifying Processes with Subprocesses
As with any software, integrations evolve. You need to modify how data is processed when the source or destination system evolves or you need to create new functionality in Frends Processes due to new requirements for the integration. Over time, Processes keep evolving, getting more and more complex, and at some point Processes are starting to lose reliability and maintainability due to complexity. To mitigate the increase of complexity, you should consider moving steps of Processes to Subprocesses. This way you can keep the big picture as simple as possible and split the complexity into smaller pieces.
When you have a big Process, you can usually see different scopes in the Process, such as data retrieval, data processing and the sending of data. Each of these scopes can be a complex solution itself, and chaining these scopes together in one Process might make it hard to understand how the big picture works. In addition, there is a risk that changing something in one scope will break something in another. To make this kind of Process simpler, you should consider moving these different scopes into Subprocesses and then call those Subprocesses in the original Process. This way you can keep the main Process simple and clean, and easily differentiate between steps which are necessary to complete the whole Process. You will also eliminate the risk of dependencies between Subprocesses unless you call other Subprocesses in one Subprocess.
The next article is Best practices on Load balancing with Subprocesses