During a presentation of the ROM2, the importance of good process construction, proper testing and continuous service improvements was frequently highlighted without going into the detail of how this was achieved.
Thus, when developing BluePrism processes, it is critical to invest in increasing process quality and an efficient testing process in terms of both cost and time investment.
When it comes to process development, there are a number of important factors to consider. One of the most important factors is process quality. This refers to the extent to which the process meets the specified requirements and has the ability to function safely and reliably. Another important factor is process complexity. The more complex the process, the more chance of errors and problems and the more difficult to test. When complexity increases the possibility for introducing errors and the difficulty to test escalates. It is important to reduce implementation complexity by choosing simple workflows, using business logic and reducing redundant actions. A general rule adopted is that the more paths through a piece of code, the more complex it is.
To my opinion, BluePrism implementations also have cyclomatic complexity that depend on the size and complexity of the processes, sub-processes and object actions and the amount of decision points in these components. A BluePrism implementation with high cyclomatic complexity can lead to problems such as poor performance, higher costs and errors. That is why It is important to reduce cyclomatic complexity to ensure the quality of the implementation. Several scientific papers have shown that there is a positive correlation between cyclomatic complexity and the probability of errors in software programs (e.g., Jones, 1986). Another study has shown that reduced cyclomatic complexity contributes to improved readability, maintainability and testability of software programs (e.g., McCabe, 1976). Cyclomatic complexity is a also an important factor in the quality of a BluePrism RPA implementation. Reducing complexity can prevent problems and ensure the quality of the implementation.
Cyclomatic complexity could be an indicator of the quality of BluePrism process / object implementations. This indicator aims to measure and quantify the complexity of a process. The higher the cyclomatic complexity, the more difficult it is to understand and maintain the process. McCabe's Cyclomatic Complexity can also identify the points that generate the complexity. These points are also called "cyclomatic paths" and can be found by analyzing the graphical representation. Each decision point (decision stage, choice stage, loops, etc.) potentially generates a new cyclomatic path, increasing the complexity of the flow in the process and/or object. By identifying these cyclomatic paths, the flow can be optimized to reduce complexity and improve readability and maintainability.
Some studies that can help in this regard are the following:
In addition to cyclomatic complexity, there are other measurable factors that can affect the quality of BluePrism RPA implementations.
Some important factors are:
Process testing does not stop at one test. It is important to conduct regular regression testing to ensure that any changes to the process and environment do not have unexpected side effects. Test suites with associated test data that ensure high coverage can be used to detect regressions in advance. This also helps to detect any errors and problems quickly and efficiently.
There is also the continuous service improvement component which is an important aspect of process development. This means that continuous improvements are made to increase efficiency and improve quality. This is achieved by constantly monitoring the performance of the process and addressing problems immediately. Efficiency is essential in process testing. Efficiency means using minimal time and resources to complete the testing process without compromising the quality of the tests. By having proper test suites, test coverage, regression testing and continuous improvement, you can ensure that the processes and objects are of high quality and tested efficiently.
It is important to consider these factors when designing and implementing BluePrism processes and/or objects. Scientific articles that offer more information on these topics include "The Relationship Between Cyclomatic Complexity Metrics and Software Quality: A Controlled Experiment" by D.R. Kuhn and "Agile vs Traditional Methods: A Meta-Analysis of The State of The Art" by A. Subramanian et al.
Perhaps a study topic for a graduate student to measure the quality of BluePrism processes and objects?
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.