madness and courage or “write and cut” in development?

Low-code vs. Pro-code: how are they different and why are they needed?

First, you need to separate the concepts of low-code tools and their Pro-code counterparts.

Low-code tools are understood as platforms that allow you to implement a product or part of it using ready-made forms and operations with parameters or using an internal DSL (domain-specific programming language).

Such services can usually be extended by adding your own templates using an existing programming language.

For example, this approach can be used to create and update landing pages. Developed by the front-end team, the design can be configured in a content management system (CMS) such as WordPress or Joomla, allowing the business marketer to create and modify pages within a few hours.

Pro-code tools are lower-level platforms or libraries that help developers perform fundamental operations and provide functionality that is not related to business logic, but is no less important and allows the developer to focus on the business requirements themselves. Such tools usually require good architectural training and the presence of experts in both the programming language and the tool itself.

For example, Camunda, which greatly simplifies the implementation of tasks with many steps in business processes. This tool allows you to solve thread synchronization issues, provides functionality to improve fault tolerance, monitoring and much more so that developers can focus on customer requirements.

Risks and pitfalls of low-code when used in large projects

But no matter how simple and convenient development using “low-code” may seem, you need to understand that the very implementation in large projects requires very serious preliminary work. When creating a template that will be used in many different places, you need to take into account the features of the platform and how it will be used in the future. What devices will the template be used on – just the website or also Android/iOS devices, tablets, etc.? In what databases will the information be stored and in what volume? And many other questions. If such things are overlooked, problems may arise when changing it or applying it in cases other than the initial launch.

In addition, challenges that may arise when designing an architecture for client processes using a low-code platform include limited functionality, scaling, stability, security, cost, site dependency, and a limited market of experts.

Also, in the case of upgrading or scaling a project implemented using only such a designer, you will first need specialists with a deep immersion in the device and the capabilities of the platform, who, when analyzing changes, can make a couple of amendments to the process, due to the characteristics of the selected low-code system. Then there are scaling issues, which can become costly even with microservices. Writing autotests will take longer due to the lack of tools and the presence of internal platform logic. All this plus the cost of licenses and support from the vendor will become a big burden on the budget in the long run.

Our experience in using low- and pro-code

Of course, our holding does not lose sight of the benefits that such tools can provide and applies both approaches where possible.

In the Svoy Bank project, we use Camunda to work with complex processes for blocking customer transactions. These processes involve processing multiple systems and multiple objects where errors are not tolerated. Camunda allows us to focus on integrations and scenarios, providing out-of-the-box capabilities for re-executing steps in case of errors or failures of any service. In addition, it offers a convenient interface for monitoring and debugging processes, which are presented in an understandable notation for both business and IT specialists.

Also, the Web Development (Marketing) team uses a low-code system of ready-made components (based on the AFC Pro plugin for WordPress). A business marketer assembles a page from elements, chooses their order, filling each with content, text and images.

To do this, the front-end team created a simple system in which the component is a group of fields in the admin panel. Such objects can be placed one after another from top to bottom. However, at the moment it is not possible to place them in the same row, for example, on the left or on the right. To do this, you will need to make changes to the main module. Additionally, in the production launch processes there is testing of each delivery and experts are included.

Collaboration of pro-code and low-code tools

In my opinion, the collaboration of pro-code and low-code tools looks very promising. It allows you to make the transition from local automation or MVP to business critical operations as seamless as possible. This requires core functionality to be developed by a business-focused expert using both platforms. After testing the hypothesis, if scaling is required, the development team is included in the process. It refines the functionality using pro-code tools, covers it with autotests and migrates from a simplified solution to a more suitable one for a specific case. Let's hope that such implementations will appear in the near future.

Where to implement low-code so that it doesn't hurt?

An example of the optimal use of low-code would be the implementation of a simple page for filling out answers to questions within a product using a CMS tool pre-configured for your design. This allows you to minimize development costs and optimize the release date of the MVP part of the project with a new product. But at the start, you immediately need to plan a full-fledged version of your own development. This is due to the need for integration into a complex process (which must remain unchanged or better in quality and speed for the client) using additional systems, such as scoring platforms or full-fledged ABS systems, with increased safety requirements.

Another niche is local/intra-team process maintenance, where the frequency of changes and their criticality do not have a big impact on the final product. At the same time, the customer often does not have enough resources for full automation. For example, a small service with a reminder of (un)submitted reports, a duty schedule, the home page of a microservice or team.

This way you can significantly reduce the costs of related processes and development and make life easier for employees, which will ultimately have a positive impact on the business. But even with such opportunities, it is necessary to ensure that the low-code tool complies with the company’s architectural stack and make sure that in a stressful moment there will be no impact on business-critical processes and there will be an opportunity to intervene to quickly resolve problems.

Thus, when using low-code tools in large projects, it is necessary to have a team of professionals who will prepare the architecture, framework and change delivery process. Under their control, such tools become effective. Additionally, they will become a barrier against misuse of such platforms. In this case, the speed of testing hypotheses and internal processes of the company increases significantly, without the cost of expensive and scarce development resources.

Similar Posts

Leave a Reply

Your email address will not be published. Required fields are marked *