How have low-code/BPM platforms changed over the past years? What are the directions of their development?
About 10-15 years ago, application development and business process modeling were conducted with the use of Workflow tools. Simple flow diagrams were created in this manner, for processes that did not change frequently. In addition to modeling and designing processes in a visual way, developers could still use tools that allowed them to:
- design and configure user interface,
- configure simple decision rules, such as decision tables, decision trees, and logical expressions,
- create reports,
- configure integration interfaces,
- apply security rules.
What has changed since then? A lot!
Today, modern low-code/BPM platforms are complex and sophisticated solutions that support the digital transformation of organizations. They have been enriched with functionalities and elements essential to building complex, modern, and robust applications in today’s world. Below, I have briefly discussed those that I thought were key.
Tools for citizen developers
A citizen developer is an individual working in a business department, who develops business applications, for their own use or to meet the needs of others, with the use of development environments that do not conflict with the standards of IT and security departments.
Tools intended for citizen developers enable more users across the organization to identify, build, and deploy the applications they need. Visual tools, wizards, and libraries of ready-to-use components allow people outside of IT to create or change applications. Of course, the level of “independence” from IT depends on the functionality offered by the platform and the organization strategy. In my opinion, for the time being, IT’s role still remains crucial, but there will undoubtedly be more and more functionalities providing greater autonomy to citizen developers.
Adaptive process management
As the industry evolved, low-code/BPM system providers have realized that many processes do not always run precisely in the same way. The flow of a given process may vary, depending on the context of execution, and the final order of steps may differ from the one assumed at the beginning. For that reason, adaptive process management takes into account the appearance of specific factors which reveal themselves in the course of the process.
Nowadays, most users can’t imagine a lack of social media integration. Integration with Twitter, Youtube, or Facebook is natural, which is why low-code/BPM platforms are also equipped with functionalities allowing for social media integration.
More and more business applications developed for companies need to be available on mobile devices. Therefore, many platform providers have invested in this area. The result are mobile application development frameworks/modules that allow developers to create mobile applications, often without the knowledge of tools and programming languages dedicated to Android or IOS.
Decisioning and AI
Decisioning has extended the platform’s functionality, to include the possibility to employ statistical models (predictive and adaptive) and artificial intelligence. These models can be used, for example, in determining how a given process should be conducted and in creating Next Best Action strategies for customers.
In the last few years, managing application skins and generating an interface compliant with HTML5 and CSS3 standards have become essential tasks. The increasing user interface requirements have forced platform vendors to develop also this area. Nowadays, some platforms make it possible to create custom components (e.g., in the React technology) and integrate them easily with the generated interface.
Bots and text analysis with the use of Natural Language Processing
Nowadays, it is possible to, e.g., define a bot that will monitor and process incoming emails and perform appropriate actions, based on the analysis of their content.
Robotics is an area which deserves a separate article. It is worth noting, however, that some platforms now allow robots to be launched in the course of the process. Such a step is defined as an automation step, configuring the launch of a robot created earlier in the Robotic Studio.
DevOps and automated testing
This area is crucial to the entire software development process. Fast, errorless, and automated releases are vital aspects of IT implementations. Platforms support this area by providing a Deployment Manager, thanks to which it is possible to define Release Pipelines (configuration of the path for the transition of an application from the development environment to the production environment) and automate the entire process of production deployment of an application. It is also possible to make use of external tools, such as Jenkins, Gradle, Maven, JFrog,
When it comes to automated tests, in addition to creating unit tests, it is also possible to record test scenarios, as one goes through the application, and then run them automatically, at any time.
Will building applications soon no longer require IT’s involvement? What are the perspectives for the development of these platforms? What are the further possibilities for using AI in the platforms? Or will these solutions become so vast and complex that they will need to be refactored and split into several smaller tools?
Given the development dynamics in this area, we will learn the answers to these questions sooner than anyone might expect.