Definition of Low-code Development Platforms
For a half century, the IT industry has been looking for ways to create solutions that are more efficient than writing programs line by line. When GUIs came up, GUI builders allowed building GUIs by dragging elements on a canvas. In the 1980s, Rapid Application Development and Management (RAD) tools emerged in the market. Business Process and Rule Management Systems (BPMS/BRMS) are a business-friendly way to turn business requirements into running software. Many more examples can be found.
The objectives were and are still similar:
- Be more efficient
- Be more agile: efficiency is a prerequisite for being able to embrace change.
- Allow ‘citizen development’/improve business interaction: good developers are scarce resources. The objectives are to use resources with less IT skills and to empower business analysts to create a new breed called citizen developers. Even if separate IT and business stakeholders are still involved, such platforms narrow the ‘business-IT gap’.
This very old topic has renewed interest because important advances in some areas have a strong impact on low-code platforms:
- Mobile technologies allow the rapid creation of multi-experience UI solutions (Mobile, tablet, PC, …) for employees/customers at their place of work (‘frontline workers’). Swiping on the mobile and issuing voice commands etc. replace sitting in front of a PC. This generates strong incentives to rapidly create solutions for the ‘last mile’ to the employee/customer, often replacing still manual processes.
- Creating a functionally correct solution is one challenge. Creating and operating an industry-strength solution that is robust, scalable, and secure etc. is quite another. In the past, many ‘citizen-developed’ solutions were dismissed because they lacked ‘industry strength’ for professional operation. Cloud and container technologies drastically simplify meeting the required nonfunctional requirements.
- Memory is so inexpensive that storage cost is typically not a significant factor. Equally mature and inexpensive are storage systems like data lakes or RDBMSs. Not just memory, but information persistence is a commodity today. Even citizen developers can handle data on a professional scale with ease.
200+ low-code platform vendors see the opportunity to leverage these advances. Therefore, despite the long history, ‘low-code’ has many characteristics of an emerging technology.
The offerings are very diverse. One way to categorize them is (some platforms covering more than one category):
- Data-driven platforms put data at the beginning of the development process. They generate a default UI just from a data source. They excel in data display, slicing/dicing, reporting, filtering, and CRUD operations on data.
- Process-driven platforms are coming from the legacy of traditional Business Process Management Systems (BPMSs). They put business processes and/or human workflows in front. Visual process modeling, data mapping, consumption of available APIs etc. are important.
- Declaration/rules-driven platforms focus on an easy way for businesses to describe their rules and requirements in a declarative way. They may combine a classic BRMS with advanced UI features.
- Service and legacy enablement-driven platforms focus on building solutions on top of existing applications, interfacing with them by either APIs or via UI (screen scraping). What's central are usability improvements, availability improvements, automation etc.
- UI driven platforms allow the very simple generation of (multi-experience) UIs. Instead of being fully featured but complex, they focus on building UIs in a very simple manner that appeals to business stakeholders, and automate decisions that would normally be made by qualified UI designers.
The list of categories shows: the term ‘low-code development platform’ is almost too broad to be useful. ‘Low-code’ is more an attribute of a platform than a separate type of platform. This neither questions the value of the platforms nor denies it the current momentum. It just says that two products with the ‘low-code’ label are not necessarily comparable. For example, Software AG’s webMethods.io Integration has all attributes of a process-driven low-code platform but is not comparable with the UI-driven AgileApps since they address different requirements. However, combining the power of the two platforms provides a true low-code and rapid application development platform that narrows the business-IT gap.
While industry Analyst Forrester Research has played a central role in coining the term and defining the market, their ‘vendor inclusion criteria’ are not fully convincing.
Market - Current Adoption and Outlook
Due to the diversity, giving a general outlook makes little sense. Software is going to be easier to produce and understand for business. This is a mega-trend, spanning decades. The slowness with which this happens is an indicator of the inherent difficulty.
There is no silver bullet, but current advances will accelerate progress. Leveraging them and offering low-code capabilities will be essential for most software offerings. In contrast to dedicated low-code platforms, what we see is a successful adoption of low-code principles by Cloud Applications. For example, the issue tracker “JIRA” nowadays has extensive low-code configuration features including extending the data model and defining business processes. Software AG has ‘low-code’ in its genes; examples beyond the mentioned wm.IO integration and AgileApps include Cumulocity IoT - Cockpit application and the Apama Analytics builder.
How to adopt
- Do not try to find and standardize on the ‘perfect tool’. Pick the right tool for the task at hand. Be aware that you are (still/again!) in a young, emerging market.
- Don’t just think in the extremes ‘IT developed’ versus ‘business/citizen developer developed’. That is silo thinking in itself. IT will not vanish, but low-code apps will change its role and will improve the interaction between business and IT. Define agile development processes, roles etc. around that.
- Focus on data governance. The ease with which many tools can define and maintain data is a chance, but also a risk. In the end, IT is about managing data, and keeping that data correct, consistent, redundancy-free etc. is a core IT duty that will only grow with these platforms. Corollary: of course, this includes dealing with data security.