The Low Code Conundrum
While low code has been a software engineering goal and philosophy for over twenty years (high-level programming languages and frameworks are designed to reduce the lines of code), in the recent past, the media heat-map around “low-code/no-code” has reached stratospheric heights and nearly every software vendor is claiming to have low-code capabilities.
From citizen developer to pro developer, individual productivity apps to apps across enterprises in a conglomerate, low-code platforms have been presented as the new way of building software with agility, democratising software development and accelerating digital transformation in the process.
Every software provider seemingly is a low code provider. RPA is low code, CRM/ERP are low code, core banking system is low code. The aspirations for insurance claims with heavy document and content cases are low code, field agent data collection apps are low code and self-service end-user portal applications are all low code in the literature.
The points to ponder and guide are
- What exactly is Low Code
- When should you use low code?
- For what types of applications is low code better suited?
- Which low code platform is the best?
- How should organisations plan modernisation projects with low code?
- Is good old code dead?
- Should new software projects be done only using low code?
If you have been wondering about these questions with no clear answers, read on. In this article, we will try and cover these vital questions to help you make up your mind.
The fundamental that one must remember that all projects are directed to either one of the following objectives which as a principle must be fulfilled in an easy way. Low code seems to be that magic potion for accelerating digital transformation in an enterprise, via
- Customer Experience
- Operational Excellence
- Business Innovation
What exactly is Low Code
Low code is a fundamental principle originating from the core philosophy of democratising the development of apps and giving the power to the right team to make it happen. Business heavy apps go back to the business users, marketing heavy go to the marketing and integration heavy go to the IT. Of course, none of the apps are as straight jacketed and hence there is a need to build hybrid teams to build these apps. Low Code allows such intrinsic apps to be built on the framework through collaboration of all.
When Should You Use Low Code?
As mentioned earlier, the objective is centred primarily around customer experience, operational excellence, or business innovation to accelerate digital adoption/transformation within an enterprise. Given the nearly 30–60% savings on software development effort & cost, the obvious platform today seems to be Low Code.
If you are a CIO/CDO/CTO evaluating low code platform adoption for your enterprise, you are asking yourself, when do I need to use low code and when can I use my traditional J2EE/Java/JS frameworks for application development.
Any portfolio of legacy apps invariably needs to be modernised. These could be due to need for:
- self-service / portal friendly; multi-channel experience from a customer experience perspective
- cloud compatible, scalable, open APIs and micro-services compatible
- Include better backend operations leading to operational excellence
- Intrinsically build intelligence using AI and ML
The choices are to invest more in the code you are already invested in and simply extend the same for new functionality or re-write the entire application using a low-code platform.
Sometimes to address the bigger long-term objectives we may need to pause and decide. The obvious choice in all these scenarios is to relook at the model where majority of the apps can be rebuilt and deployed on Low Code to give you that competitive advantage.
One key advantage of low code platforms in addition to rapid application development is their ability to significantly reduce time for testing, deployment, cloud-readiness, security considerations and reducing IT workload significantly. This is because the platform is already tested deeply for such use-cases and issues.
In summary, a Low Code application platform may look like a deep investment to start with but has long term future proofing advantage for bringing business agility in such a volatile business environment.
IN the subsequent sections we address further questions of which low code tool to use across your different stakeholders — business users, teams, departmental needs, enterprise needs and even sometimes across enterprises.
i. What types of applications are best suited for low code platform use?
Organisations today are looking at modernising the way they interact or provide services to customers (read customers, vendors, partners, agents etc). They are looking at a suave way of working and interacting via fancy portals and mobile apps. “Do it on the front-end” seems to be the motto for development. Quickly changing, putting it into test, derive data and redeploy makes things even more interesting.
While the front end is great, completeness of experience across channel of choice, backend processes is also an imperative.
The current interest in low code took off as more and more employees have started using digital technologies in their day-to-day work. Today nearly all departments need software to analyse the business metrics, communicate, create new document, and content assets etc. To empower such individual or small team tasks without the burden of professional coders & developers, software vendors created low code tools for quick task definition. This has been called citizen developer enablement in recent literature.
While citizen developer enablement democratises the software development process, the real advantage of low code paradigm can be seen in larger departmental projects or even large enterprise-wide process re-development or new “business product” development type software projects.
When the complexity of the application grows out of the individual and/or group level, and impacts departmental or enterprise level workflows, requires robust content handling and integrations with multiple other systems, decision routing etc., it is best to involve the IT team and pro developers to design, build and maintain the life cycle of such critical projects. Low-code technologies can greatly accelerate application development here too and save significant cost and time as compared to traditional code-based development paradigms.
A perfect example of the same is the Personal Loans process. While the onboarding can be done in a frictionless process, the disbursement, physical documents signing and further money in bank are the key to giving a holistic experience. Low code comes in handy in not just the front-end portal development but also building operational excellence in backend. Both are two separate requirements which need to be fulfilled with agility, speed, and costs.
ii. Low code v/s traditional code / framework-based software development for new applications
Most enterprises are rapidly building new applications as part of their digital transformation initiatives. These could be to reduce physical processes and paper handling / manual interventions that cannot be supported due to remote, hybrid work requirements; and/or new digital first products and services that the organisation is looking at to drive revenue growth.
A couple of years ago, it would have been perfectly normal to start all new software projects using the Java/JS/SQL/No SQL based frameworks. Today, most new enterprise applications are being developed using low code platforms and methodologies.
The ability of low code platforms to define business objects, visually paint and define user interfaces such as forms & reports, describe business rules using simple English like language and build process and workflow graphs visually means that low code platforms can save up to 50–60% of the coding effort of traditional software development. Further, as low code platforms support cloud deployment, packaging for container deployment and in-built CI/CD pipelines, they further improve application and infrastructure monitoring capabilities.
No wonder, leading IT analysts are claiming that nearly 50% of all new enterprise applications are now being developed using low code platforms.
iii. Low code usefulness for modernising existing code-based apps
It is being perceived that going forward Apps of traditional nature would cease to exist, and everything would be broken down into simpler apps which would be published as services which may be consumed by bigger apps to create a logical flow of events.
This basically means that the well-integrated coded apps of the past would mandatorily need to be changed to low code based, easily configurable, orchestrated applications.
Keeping this principle in mind, many organisations are also having to transform and modernise existing code-based applications as part of their digital transformation initiatives. The requirements could be to improve self-service or end-user experiences, make the application cloud ready, integrate the application to new cloud services and business services that eliminate manual steps etc.
If you have a substantial investment in traditional code-based software, is a low code platform approach justified? Can you not simply update the old code base? Can both approaches co-exist for minimal disruption?
OR DO YOU HAVE A CHOICE.
The answer will lie in the specifics of the case. If your existing codebase is fairly old and the application has been in production over 5–10 years, you may be better off developing it anew using low code platforms. The cost of patching such old code base and the risk of testing every patch, the limitations with interfaces to 3rd party and cloud readiness could be too great to meet your modern needs.
If, on the other hand, the codebase is less than a few years old and in-house expertise is available, then upgrading the same may be a viable option. Most low code platforms offer API based services so it should be possible to build new capability/functionality using low code platforms and integrate them to existing applications too. For example, one could re-do the user-onboarding and self-service portal front-end using a low-code platform and use the existing API system to do the back-end operations. Or vice-versa, depending on application complexity and need.
There also may be situations where multiple Low Code platforms get together for attaining objective. A specialist in front end development Low Code may be used for portals and mobile apps, a specialist in back office processing Low Code for designing handover from front end and a specialist in dashboards for the same. All come in tandem with different owners to design and achieve the objective of complete transformation.
iv. Low code to manage application “creep” / adaptive governance
If you are a CIO looking at the digital “sprawl” across your enterprise, as individual or group level applications come up, and deployed without any data/user/application governance, without any lifecycle management roadmap you are wondering how to take responsibility for the regulatory compliances your enterprise is responsible for. This governance “creep’ is challenging for all IT folks who have responsibility for data governance, regulatory compliance,
How can CIOs enable citizen developers and democratise application development and manage IT governance at the same time? A low code platform capable to handle hundreds of applications orchestrated by its engine will be the best solution over time. For now, CIOs should avoid proliferation of too many tools and make 3-to-4 platforms available for needs across users and complexities.
As mentioned in the example in the last point, multiple low code platforms may be required to handle the completeness aspects, and this further leads to the adaptive governance or governance by all with an overarching owner.
Which Low Code Platform Is Right for You
Gartner has predicted that by 2025, most large enterprises may have 3–4 low code platforms in their environment. This is a very sound prediction as different platforms serve different needs — horses for courses.
If your need is primarily to enable your business professionals (non-IT, non-developer persona) with tools so they can meet their individual or small team tasks by themselves, ie data analytics, reporting, dash-boarding, what-if, data collection and desktop task automation etc., then the platform that has high usability, easy UI/UX and orientation towards analytics, forms and reports could be the recommended choice. Usually such platforms support quick development, local deployment, and ad-hoc databases.
If the need is primarily transform existing business applications at group and/or dept. level; or create new applications supporting new revenue growth needs at the enterprise level the stakes are different.
Modern enterprise applications are fairly complex with many components, modules that come together to offer the solution for the business case. We have front-end UI/UX, master data module, process graphs, business rules, reports, dashboards, custom code modules, integrations with 3rd party systems, data exchange needs, logging, observability, cloud deployment etc etc.
When the complexity of the application grows out of the individual and/or group level, and impacts departmental or enterprise level workflows, requires robust content handling and integrations with multiple other systems, complex decision routing, layered business rules etc., it is best to go with a platform that has proven success in building similar applications and running the applications in production at scale.
Such applications are usually built by a medium to large team of multi-disciplinary developers, take between 4–8 calendar months and up to hundreds of man-months. You need tools to support collaborative development, evolution and version management, easy definition and configuration-based design studio, library of available integration adaptors. Visual UI/layout for forms & reports, English like rule definition and process & decision graphs are par for the course.
Further, with cloud deployment gaining ground, choose platforms that offer cloud-ready deployment, packaging for container deployment and in-built CI/CD pipelines. Application and infrastructure monitoring capabilities, and a robust developer ecosystem (GSI/SI, channel partners) is a bonus.
If you are looking at migrating bespoke applications to low code platforms and the application has complex content and workflow integrations with hierarchies of user roles & authorities supporting decision making intent, then having some process discovery capability gives you the ability to analyse the current operations in finer details and build/optimise new process graphs quickly. For content handling, strong capabilities in IDP (Intelligent Document Processing) are recommended for text extraction, doc classification, text analytics, image recognition and NLP type support.
If there are multiple 3rd party integrations including integrations with legacy systems that don’t have good API system, the platform should be capable of supporting large catalog of pre-built integrations. An integrated RPA engine that makes it super east to define 3rd party integrations and data scrubbing off legacy systems. This, together with the ability of the RPA bots to connect with external data crunching AI/ML engines provides the best framework to build hyper-automation capabilities driving operational experience to maximum potential with high unattended processing capabilities.
One key aspect to keep in mind is “enterprise grade” capabilities — scalability across large portfolio of applications, users, volume of transactions / work-items and robust deployment options. Cloud readiness, on-demand compute scalability, top class security and compliance certifications are basic needs for large enterprise grade considerations.
Finally the flexibility of the platform vendor in supporting some specific needs, their customer centricity and culture and expertise in both the platform and enterprise IT space may be considered as differentiating factors.
As low code application development grows into the dominant software development methodology, both the platform and your business will grow, evolve and transform. Choose your partners wisely and choose for the long-term.