Low-code application development is aimed at reducing development effort and complexity. Since its introduction by Forrester around 2014, the “low-code” terminology has been widely in use.
Most often, “low-code” refers to business application development: the creation of a business application from scratch using as many prebuilt tools and capabilities as possible.
A similar process — “low-code configuration” — focuses on tailoring the existing core functionality to specific use cases and business needs. While the main goals are the same: minimizing resource and time spend to roll the application out, the practices are different. The tools used for low-code configuration and low-code development are different, and so are the target types of systems — such as Core versus Edge applications.
To establish the terminology, Core Systems are systems that contain all the core data and relationships essential for the business as well as core workflows and processes. They are essentially similar across different companies and businesses operating on the same market (e.g., communications & media), or supporting a certain function in an organization, e.g., Customer Information Management for Sales & Customer Success Organizations. They are also referred to as Systems of Record.
Edge Systems are used by businesses primarily to interact with their customers or their partners. As such, they aim to significantly differ across businesses as they drive up the completive edge. They may also be referred to as Systems of Innovation & Differentiation.
Low-Code Development for Edge Systems
Low-code development is most often recommended for the development of Edge Systems that are outward-focused and mainly provide interactions with customers and partners. Edge Systems are optimized and customized for specific interactions, down to the level of taking advantage of native UI platforms to make them more attractive to end customers (e.g., using native iOS or Android capabilities).
Low-Code Development implies starting off with a development platform, using these essential components:
- Data Modeling that provides the ability to easily model and store the data needed to support your intended application.
- UI/UX Development to delivers the ability to design and develop a compelling UI/UX experience that supports key user stories/cases on the platform of choice (web/mobile/native).
- Automation Tools are used to model automated activities that would cover specific functions or the necessary processes and workflows.
- Integration Capabilities that allow custom developed applications to pass data and instructions to external systems and platforms, since stand-alone applications are rare.
The core minimum viable functionality for Edge Systems is relatively limited, especially compared with that of Core Systems, and therefore they can truly benefit from using a low-code development approach in order to achieve the best possible customer experience.
Essential requirements for low-code application development for Edge Systems include: user interface and interaction customization, strong integration and application programming interfaces, and the ability to transform data that is captured across multiple sources.
Low-Code Configuration for Core Systems
Modern Core Systems, such as Business Support Systems (BSS), Customer Relationship Management (CRM), and Enterprise Resource Planning (ERP) are built to support repetitive use cases that are common across specific industries. Examples include managing customer accounts, products, support cases, and order fulfillment processes.
Core Systems are usually feature-rich and employ complex logic and integrations, making them expensive to build as a purely proprietary application. Low-code configuration is the preferred approach for setting up and adapting such systems to business-specific requirements.
While low-code configuration also aims at reducing cost and resource spend, it is mainly done as a way to easily adjust the behavior of an existing, feature-rich application without breaking the application logic or the code base. In a way, the set of functions required for low-code application configuration is similar to low-code development. However, the main difference is that there are not only abilities to add new functions, but most importantly the ability to adjust the existing capabilities.
Low-code application configuration components include:
- Data Expansion & Adjustment, for the extension of or changes to the existing data models without breaking the application functionality, UI/UX, and the integrations.
- UI/UX Configuration is needed for the ability to adjust the interface, from a simple look & feel all the way through the presentation of new capabilities.
- Automation Adjustments: an ability to both add new automations (processes, business rules, etc.) and to adjust existing automations.
- Integration Additions: an ability to re-use and adjust the existing integrations as well as to add new integrations without breaking the existing functionality or causing backward compatibility issues.
For example, in a typical BSS configuration, the following activities should always be done via the low-code approach: extending core data entities such as Customer Accounts and the Product Catalog, adjusting the CSR workplace to enable common case management for Sales and Support/Customer Success, and configuration of automated processes and workflows to handle company-specific business processes and the application environment.
Low-Code Platforms Going Forward
Low-code development platforms have proven to be most efficient for developing Edge Systems aimed at enabling unique capabilities — supporting unique use cases, complex non-trivial business processes, providing specialized UI.
In turn, development of Core Systems remains highly LOE intensive and costly, and currently there are no alternatives to commercial systems like BSS, CRM, and ERP that come with further system configuration and customization in order to meet telco’s specific business needs. Yet the ultimate focus remains on simplifying and expediting the adaptation process leveraging low-code configuration.