Exploitation of new market opportunities requires short time-to-market. It needs a different approach in the enterprise application space: multi-speeds and development continuums. Customer-facing front-end applications – either mobile or web-based – are subject to radical and continuous evolution. The change cycles are short – days instead of months. The DevOps way of working is leading. The governance is task-force like with focus on business outcome, customer experience and new revenue.
Today we see a number of low-code platforms rising as an alternative to traditional programming platforms to speed up application development and delivery. They support the development and revision of the organization’s differentiating and innovative systems. Early adopters have created a competitive advantage by rapid digital front-end innovation.
Forrester defines low-code platforms as: “platforms that enables rapid application delivery with a minimum of hand-code, and quick setup and deployment, for systems of engagement.”
Low-code platforms are based on a model-driven development approach and they generate code from models and business rules. The approach is not new; in the late 1980’s this approach was embraced in some 4GL code generators. These tools supported prototyping of applications as propagated in Rapid Application Development (James Martin, 1991). The approach found a scientific flavor when it was adopted by the Object Management Group: Model Driven Architecture.
The main characteristics of platforms that generate software from models are:
– A pure 3-schema architecture
– The possibility of inserting logical data models
– The possibility of defining business rules (business logic)
– An active or dynamic repository (active: the business rules are translated into source code; dynamic: the business rules are interpreted at runtime)
– Predefined event types at conceptual and external schema level
– The ability to generate applications for different platforms.
A model-driven approach supported by low-code platforms achieves considerable productivity and quality improvements in developing software. This approach has also a streamlining effect on the analysis and specification of business applications by prototyping. The software engineer can concentrate his efforts on the functionality needed and has to bother less with the complexity and technical details of the software platform. It also shows that the maintenance of these applications can be done in a similar productive and qualitative way. In fact, the model is the application.
Model-driven development becomes even more attractive when models are shared: application templates or designware. A working application can be generated from these. Reference (business) models like industry specific blueprints can be the basis of the application template. The working application can also act as a prototype and can easily be adapted to specific, local requirements and needs. And again, the application can be generated for different platforms, e.g., iOS, Amazon, Azure. Using application templates boosts speed of delivery by shortening the analysis and specification phase.
For long time, the doctrine was to prefer packaged-based solutions above custom-made software development. Low-code platforms may change this, in particular for the organization’s differentiating and innovative systems.