Low-code (LC) and no-code (NC) platforms are rapidly growing tools worth having in our belt. But like every tool, they could be very useful in some situations, such as:
- Marketing landing pages
- Non-crucial business process automation
Alternatively, NC and LC platforms could be useless or even harmful in some situations, such as our primary business domain, where IT should be our competitive advantage and have contact with sensitive data like IP, R&D, customers, ML models, etc.
Before deciding, you should analyze your business to clarify which systems are in your main domain (it would be wise to develop them internally) and which aren't (LC/NC could help here).
If you have limited resources or want to test some business assumptions, you could build crucial parts of your IT infrastructure with NC or LC tools and use a SaaS app. Just remember that sooner or later, when your business grows, you'll likely have to invest in some custom-built applications.
Market share and forecasts
According to Verified Market Research, the Low-Code (LC) Development Platform Market size was valued at USD 12.43 Billion in 2020. They are forecasting a 44% annual growth rate by 2028.
According to a small (741 responses) but fascinating survey held by .bubble, low-coders themselves estimate that LC helps them work 4.6x faster on average. Respondents were mostly from startups and small companies, highlighting the main target demographic for LC/NC tools. Yet, according to Capgemini, there are also indications that enterprise-level development could be 5-7 times faster with Low/No-Code.
What are low-code and no-code (LC/NC) tools?
Both LC and NC aim to make the development of applications or automation of business processes faster and cheaper, but they are not the same.
Low-code platforms require some engineering and coding knowledge and help developers work faster by reducing repetitive tasks. LC is similar to frameworks but with more "out of the box" features. Also, LC platforms usually have Graphic User Interface (GUI) instead of or along with Command-Line Interface (CLI). Many of them use block programming (similar to Skratch or MS MakeCode).
No-code platforms allow non-technical users (AKA, citizen developers) to make almost everything with Graphic User Interface (GUI) by point-n-click, drag-n-drop, and selecting elements. Theoretically, you don't need to know any programming language to use them. However, you need some technical knowledge to understand what you are doing, plan overall system architecture, and use more code-reliant advanced customizations.
How are low-code and no-code different from SaaS?
We should also differentiate Low/No-code from SaaS. Most LC/NC platforms are sold in the Software as a Service (SaaS) business model, but there are also Open Source tools:
- Headless CMS - Strapi, Keystone
- Web Apps - WordPress, Saltcorn
- Business Apps - Budibase, Rintagi, Eclipse OSBP
- Automation - n8n, Huginn
- Internet of Things (IoT) - Node-RED
- Machine Learning - PyCaret
The main feature differentiating LC/NC platforms from other SaaS or traditional software is the level of possible customization, which is much lower for the latter. But even LC/NC platforms have some constraints which can only be circumvented with custom software development.
Pros of low-code & no-code platforms
There are many benefits to using low-code and no-code platforms. The statistics below reference the results of the No-Code Census 2020 survey in brackets.
45% of respondents to the Consensus indicate that it's much cheaper to start with low-code or no-code tools and platforms in the short term. You don't have to hire a whole team of expensive high-end developers and managers. Sometimes you can do everything by yourself or delegate to somebody without specialized knowledge. Other platforms require an experienced specialist, but one person can do a job usually handled by a team of 3-6 developers.
71% of Consensus respondents said it would usually be much faster to develop something that works and provides value for your business or customers.
For example, you can create a nice-looking landing page with tools like Landingi.com or HubSpot within less than one hour and start collecting leads. Nowadays, both delivery speed and Time to Value are integral and could be a deciding factor.
Easier to learn by non-engineers
66% of No-Code Consensus respondents highlighted that a lack of skilled developers is no longer a barrier to overcome.
If you are struggling with recruitment, you can still start prototyping and testing your assumptions with your current team, even if they don't have vast experience in IT. In many cases, solutions made by "citizen developers" will be good enough, especially for non-critical apps.
Have your plans changed? Not a problem! Just a few clicks, and you can easily change the whole interface, create a new landing page, add new automation, etc.
Do you need a new feature not available on your current platform? Just find a new platform, register, and learn how to use it. In many cases, you can even connect both platforms with tools like Zapier. There is no need to hire new developers, create detailed Requirement Documentation, make complicated analyses, and make architectural decisions.
Ok, if you work for a big enterprise, you'll probably run into some red tape, even for NC/LC.
Due to the lower investment of time and money, even if what you build is not what your users (customers or teammates) want, it's not a big problem. You haven't lost millions of dollars and months of development; you can start from scratch without tears.
Most LC/NC platforms are hosted in the cloud or have a built-in deployment process with DevOps and CI/CD tools for simplified deployment.
Do you need to connect a few tools or get data from your in-house CRM? There are big chances that your platform has export/import capabilities and API for custom integrations. With tools like Zapier, sometimes you don't even need engineers for this!
Cons of low-code & no-code platforms
While there are many advantages to low-code and no-code platforms, there are also disadvantages to keep in mind while choosing the best approach.
Costs (yes, again)
In the long term— usually in 1-3 years— you could realize that what was cheap in the beginning starts to be very expensive.
If you use proprietary no/low-code tools, you probably have to pay every month, usually per user, per GB, per usage, or a combination— pricing policy can vary a lot between tools. When your business grows, your expenses also grow (bigger expectations and a higher tier balance out small per-user discounts). Within a few years, costs could accumulate to amounts that exceed the cost of building a custom application.
Even if you use open-source software tools (OSS), at some point, you will have to build some parts of your IT infrastructure on-premises with custom code. That means new expenses on the development team, in addition to money already paid for the implementation of the no/low-code tool.
OSS isn't totally free: somebody has to configure and customize everything and usually won't do it for free. You can do it yourself, but your time is probably even more expensive than a developer's time if you are a director or a founder.
Keep in mind that your "old" no/low-code platform will become a legacy program; you'll have to manage the process of switching from legacy to new parts of your system. Furthermore, some types of no/low-code platforms integrate with almost every aspect of your business.
Switching will take time and a lot of effort in re-training the team, redesigning business processes, and maintaining both the new platform and old platform in the meantime.
Customization is harder
No-code and low-code platforms are built to serve different businesses, so they have to be generic. It's not possible to suit all needs in every situation. As such, you'll have to customize some parts, which is usually much harder than when you refactor your own code: that means time and money.
In the situation where a vital feature isn't available on a generic platform, and you'll have to write your custom code or abandon the platform entirely.
I had this problem with one popular Headless CMS. The more extensive and complicated our custom Next.js application became, the harder it was to customize the CMS. It goes without saying that the quality of documentation is crucial when you want to customize or integrate the platform of your choice. In my experience, bad documentation causes tons of wasted time.
Cybersecurity and data protection
Even if you use platforms from well-known companies, your data could be at risk. Here are some of the issues you could experience with your data at some point when using an NC or LC platform.
Stolen or breached
Large platforms usually hire IT security specialists and consultants. Yet, the more popular platform, the more attractive to hackers - you breach it once and get millions of records. If you use a lesser-known platform, maybe from some new startup, how do you know how secure their system is?
Used maliciously or without permission
The latest example of this risk happened to GitHub when Microsoft used whole public repositories to teach Github Copilot ML models without asking users for permission. Even more, are you sure that the platform you use will not become your competitor? Or be bought by your competitor? How will they use your data?
Subject to compliance changes
Compliance is constantly changing— consider GDPR in the EU. When you manage sensitive data, such as medical or financial information, you should analyze if regulators are planning changes. Those changes could put you at risk of non-compliance when using an external platform. For example, there are some arguments for AI and ML regulation. You must also confirm that you can use an external platform without violating existing regulations.
Lacking documentation, community, or customer support
Finding answers or solutions to your issues/bugs can take up hours of your precious time and lead to frustration. With many lesser-known Open Source projects, you can't always expect somebody to help you via chat, and there aren't enough resources on the net. Even on SaaS platforms, when you use the low-end plan without such a luxury as quick, direct support, it could take hours or days before you get an answer.
I once had a situation in which I had to deal with a chatbot first, then explained my problem to two people in different departments, and finally, after two days, I got a negative answer to my question. That's why you should pay close attention to documentation quality before making a decision. Detailed documentation will save you time.
Restrictions and compromises
Each generic platform has limitations. It could be a limit of items fetched in one query, limited sorting or filtering options, the poor performance of some specific operation you need, bad image optimization, etc. Each time you have to make a decision: are you going to accept some compromise or write this part with custom code?
For one big eCommerce project, I had to integrate with two different CMS and CRM platforms. One tool's API limited queries to an unfathomable 100 per minute. To reduce the number of HTTP requests and integrate data from two sources, we wrote our own GraphQL server with Apollo and Redis for caching.
Whenever we needed some functionality not provided by one of the tools, we had to write our own custom code. Documentation covered maybe 50% of endpoints. When we realized that the image optimization on CRM was terrible, we had to write our own integration with external CDN. At such moments you start to think, "maybe it would be faster and better to connect Apollo Server directly to a Database and use some FE Admin template?"
Pay attention when using an external low/no-code platform to create an innovation, maybe building an MVP (Minimum Viable Product) or RAT (Riskiest Assumption Test) or creating an ML model. Have you read terms and services carefully? Are you sure that your IP is really yours? Do you really want some external company to have full access to core information about your innovation?
NC/LC platforms are great in fast prototyping and testing at a low cost, but you should protect your IP as soon as possible.
Even if your platform is well-known, in such a young, dynamic, and fragmented market, every project— commercial or Open Source— could be closed. And you will be left with a problem. In the best-case scenario, you will know upfront and have time to move all your data to another platform or develop a custom solution. In the worst case, you could be informed after the fact and lose all your data.
Culture change and learning process
Low and no-code platforms are still relatively new. It will take time for your team to learn how to use them. Some are very complicated, especially enterprise level.
First, you'll have to convince them that they should learn them- and this could be the most challenging part of all. Engineers could feel underappreciated if they want to grow their coding skills, not use point-and-click GUI, or even be threatened by job insecurity.
On the other hand, for non-technical users, it could be hard to learn some technical skills needed to use NC/LC. Don't believe the marketing; it's not as easy as they say.
Not one to rule them all?
The bigger your company is, the more platforms you could have to use. There is no universal solution for everything. Zapier may help to organize and connect some platforms, but it might not be enough. Imagine managing 30, 50, or 100 applications used by your employees— if you have an IT security background, you know it's a nightmare.
When many of your employees use a platform for a long time, change will be difficult. You've invested plenty of time money to customize a platform, teach a team, pay monthly fees, etc. As such, it will be much harder for you to switch to another platform. This obstacle is often called the "Concorde effect" or sunk cost fallacy.
When to use low-code and no-code tools
You definitely should try LC/NC platform if you are:
- A small startup at an early stage - LC/NC platforms are ideal when you're looking for ideas, validating hypotheses, and creating MVPs, especially when you are bootstrapping and your finances are limited. Even if you are a developer, LC/NC will be cheaper and faster at the beginning. LC and NC will also allow you to pivot frequently without stress about sunk costs— which stops many entrepreneurs from pivoting when they should.
- A small company with limited resources - for many entrepreneurs, LC/NC could be the only possible way forward due to the costs of hiring IT specialists and the high complexity of modern software development.
- Testing hypotheses - the reasons are the same as for startups, emphasizing agility and the sunk costs bias if you work in a big corporation. As soon as you know that you've found the Next Big Thing, you should stop using the LC/NC platform, backup all data, delete your account, and start in-house development.
- Developing internal apps or automating internal business processes - (especially not mission-critical) when automating your HR process or BI analysis, you should try to use an LC/NC platform first before asking IT guys for help. This approach will save time and stress for both sides.
- Building a landing page or email template - when creating collateral for a new marketing campaign, use an LC or NC platform.
When to use custom code instead
You should definitely not use an LC/NC platform for:
- Mission-critical apps and automation - when a possible error, performance issue, or data leak could cost you a lot of money, stress, and lost clients/reputation.
- RnD / critical data - when your top priority is the security of intellectual property or your customers' sensitive data.
- Big scales - when your system will be very complicated or serve millions of users, it's wise to invest in custom code upfront to save time and money on future migration, which is inevitable.
- Unique use cases - when your system will be very specific, and generic platforms would require many customizations (which isn't always possible).
Are no-code and low-code platforms a threat for developers?
No, at least not yet, and not for everyone!
Most platforms require at least some technical knowledge and understanding of the architectural decisions, especially when the platform is only a part of the broader IT infrastructure. All platforms require knowledge of your Business Domain.
The development of AI/ML is progressing, and no-code platforms could become intelligent enough to be a substitute for carbon-based developers. Still, for now, treat them as a developer's best friend, not a foe. We should use them as an extension of our capabilities, multiplication of our efforts.
We live in a time of cyborgs, without direct human-computer interfaces but with the ability to benefit from our synergy.
So don't be afraid of NC/LC platforms but use them wisely instead!
Contact us if you want to discuss how developers & engineers can meet your Custom App Development needs.