We recommend using development (dev) sites to test any development, including business processes. This approach enables you to identify and resolve potential errors in the developed functionality without impacting the production site, ensuring its stability and uninterrupted operation.
Sure, but assuming you reach a point where there many inter-related things and/or you're asked to add an small thing which could lead you to try every possible route in order to see if anything breaks, it takes time. So I as wondering if there is some kind of approach people take.
I was thinking of the possibility of using other business processes to simulate the actions of an user for unit testing. I haven't thought of it deeply, but an inmediate doubt that came to my mind was how could I recopile for example the results of a related process that was triggered by the testing process, or in general the results of a group of tests in a custom section
I don't know if another person has already done it
1- Is there any set of practices to optimize Bussiness Processes ?
Ex- I already know that for 'Read Elements' we should only choose to read the fields we use through the process., and NOT all the fields of the Object.
2- Is it a good practice that for processes that are used often and that consume a lot of time, to replace the low code elements 'Add Data' od 'Modify Data' with user tasks ( C#) ?
There are indeed several practices that can help optimize business processes:
- Minimize unnecessary actions: Similar to your example of reading only the required fields, it's a good practice to minimize unnecessary actions within a process. This includes reducing unnecessary data queries, calculations, or validations that may not contribute to the outcome.
- Use conditional branching wisely: Avoid excessive or complex branching conditions within a process, as it can make the process harder to understand and maintain. Simplify the logic by using conditions that are essential to the process flow.
- Optimize data retrieval: When retrieving data from external systems or databases, consider using filters and conditions to retrieve only the necessary data. This can improve the performance of the process and reduce unnecessary data processing.
- Monitor and measure process performance: Regularly monitor and measure the performance of your business processes. Use the built-in analytics tools to identify bottlenecks, areas for improvement, and opportunities for optimization.
There are indeed several practices that can help optimize business processes:
- Minimize unnecessary actions: Similar to your example of reading only the required fields, it's a good practice to minimize unnecessary actions within a process. This includes reducing unnecessary data queries, calculations, or validations that may not contribute to the outcome.
- Use conditional branching wisely: Avoid excessive or complex branching conditions within a process, as it can make the process harder to understand and maintain. Simplify the logic by using conditions that are essential to the process flow.
- Optimize data retrieval: When retrieving data from external systems or databases, consider using filters and conditions to retrieve only the necessary data. This can improve the performance of the process and reduce unnecessary data processing.
- Monitor and measure process performance: Regularly monitor and measure the performance of your business processes. Use the built-in analytics tools to identify bottlenecks, areas for improvement, and opportunities for optimization.
It is generally recommended to use low-code elements like "Add Data" or "Modify Data" within processes whenever possible. These elements are designed to work efficiently with the platform's data structures and provide a simplified way to interact with the database.
Replacing low-code elements with custom user tasks using C# should be considered when there are specific requirements or complex business logic that cannot be achieved using the standard functionality. However, using custom user tasks introduces additional complexity, development effort, and maintenance overhead. It's important to carefully evaluate the trade-offs and assess whether the benefits of using custom code outweigh the potential drawbacks.