Get the right mix of low-code and pro code to modernize your enterprise applications
- Summary:
- Low-code development is all the rage, but you need to mix it with pro code for best results with enterprise applications, writes Neptune Software's Christoph Garms
Low-code and no-code development tools are all the rage at the moment, but it’s not always obvious how they can help modernize core enterprise applications. While low-code has its place, many of these established systems are highly complex. Some professional development (pro code) is also required. Businesses eager to press ahead with digital transformation need to find the right balance between the two approaches.
What’s the big deal about low-code?
The idea behind low-code development is that it makes it possible to create business applications just by point-and-click configuration rather than having to deal directly with the source code. It’s a similar concept to ‘model-driven development’, which was the popular term for this kind of approach a decade ago. The focus is on graphical development tools and reusable building blocks. The platform includes pre-built components that embody the necessary data models, the various process steps including business logic and workflows, and the user interface. This means that complex applications can be easily developed using more of a ‘drag-and-drop’ approach.
All of this dramatically shortens the development time for creating an application, allowing companies to make progress with digitalization projects that would otherwise sit on the shelf due to competing demands on IT resources. This is true even in large enterprises with extensive internal developer resources, because of the efficiency gains that are possible. For smaller companies, there is no need to resort to scarce IT specialist personnel or become dependent on external service providers. After a short training period, internal developer resources can become proactive without the need for specific programming knowledge or years of experience and training. With a small investment, SMBs can achieve the same diverse possibilities of digitally advancing processes, products or services as Fortune 500 companies.
What you can and can’t do with low-code
A modern form of rapid application development (RAD), low-code platforms are ideal for quickly adapting off-the-shelf applications to individual requirements, whether on desktop or mobile devices. As a rule of thumb, low-code applications can be developed up to ten times faster than building code from scratch or adapting endless libraries of ‘boilerplate’ code. This means that digital processes and applications can be developed in a few days or even within a few hours. Whereas in the past, small changes required intensive familiarity with the respective code, this is no longer the case when leveraging a low-code platform.
The problem comes when a low-code application needs to do something that hasn’t been included in the pre-built components. Sooner or later this is bound to happen. There simply is no logical pattern that covers every scenario to make a drag-and-drop component out if it — otherwise, low-code platforms would quickly become as complex as doing it the traditional way!
This is particularly true when connecting into enterprise applications such as ERP systems, legacy applications or other systems. Even while low-code development platforms do support the specification of automated workflows and usually offer various service integrations with ERP and other systems, the business logic that can be captured in such applications is quite limited.
Consider a purchasing process. In this use case, the data model, workflows, and user interface of an application that lets salespeople procure and tailor products for their clients is relatively straightforward. Yet the business logic that defines the product itself is highly complicated. The ERP pricing calculation alone usually is a massively complex rule-based system.
Many low-code platform vendors would recommend falling back on regular full-stack coding to capture this complex business logic, and to tie it into the system via external APIs. Yet, with this method, the business logic, which forms the core of a business, remains inaccessible to citizen developers, making it insufficient. Hence, there are clear limits to the pure low-code concept.
Add pro code alongside low-code to deliver results
It’s far from ideal to limit low code to simple, single-purpose apps or to restrict low-code use to front-end design. This puts up a divide between cross-functional teams and is far from agile. A better way to solve these low-code challenges is to extend the low-code platform’s capabilities and bring citizen developers and full stack software engineers together on one digital experience platform, enabling a seamless two-way collaboration between low-code and pro code.
The key is not to tie the data from existing business logic systems such as ERP, CRM, or TM, directly into low-code applications on the front-end. Instead, it makes sense to have full-stack software engineers create an intermediate layer of microservices that expose the key functionality as APIs and thus make the data more readily consumable from within the low-code platform.
This approach positions your low code development platform as a central part of your application infrastructure. It lets full-stack developers and IT architects consume data from any business system or database and refurbish the data streams by creating system-agnostic business logic across the IT landscape. This includes direct integration with the low code application configuration by creating visual models of the data, the process logic and flows, and the user interface.
In this way, the core of the business domain is lifted above the individual systems and innovation and agility can be applied cross-team — business and IT — in the most useful manner.
Pro code unlocks the power of low-code
It is the ability to infuse pro code that ultimately unlocks the power of low-code. Bridging the two approaches of low-code and pro code realizes the full potential of having cross-functional teams configure the front-end applications for various user groups in an easy-to-use, model-driven, low-code designer tool. With a platform that can fulfill both spectrums, every end-user group along the process can be equipped with the right digital product to get the job done.
In a connected digital world, intelligent technologies have paved the way for the development of new products and data-based services. Digital customer communication via social media, responsive order formats or simplified payment processes open up new avenues for all departments to ensure long-term growth. Many of these targets can be quickly met with low-code and integrated into the enterprise’s own IT landscape. If agile procedures and cross-functional teams are used at the same time, the low code platform of choice becomes a bridge between business and IT, and a competitive advantage.