Gartner predicts that by 2023, over 50% of medium to large enterprises will have adopted a Low-code/No-code application as part of their platform development.
The proliferation of Low-code/No-code tooling can be partially attributed to the COVID-19 pandemic, which has put pressure on businesses around the world to rapidly implement digital solutions. However, adoption of these tools—while indeed accelerated by the pandemic—would have occurred either way.
Even before the pandemic, the largest, richest companies had already formed an oligopsony around the best tech talent and most advanced development tools. Low-Code/No-code, therefore, is an attractive solution for small and mid-sized organizations to level the playing field, and it does so by giving these smaller players the power to do more with their existing resources.
While these benefits are often realized in the short-term, the long-term effect of these tools is often shockingly different. The promise of faster and cheaper delivery is the catch—or lure—inside this organizational mousetrap, whereas backlogs, vendor contracts, technical debts and constant updates are the hammer.
So, what exactly is the No-Code trap, and how can we avoid it?
First, let's make sure we clear up any confusions regarding naming. So far I have referred Low-Code and No-Code as if they were one term. It’s certainly easy to confuse them—even large analyst firms seem to have a hard time differentiating between the two—and in the broader context of this article, both can lead to the same set of development pit-falls.
Under the magnifying glass, however, there are lots of small details and capabilities that differentiate Low-code and No-code solutions. Most of them aren’t apparent at the UI level, leading to much of the confusion between the two comes from.
In this section, I will spend a little bit of time exploring the important differences between those two, but only to show that when it comes to the central premise of this article they are virtually equivalent.
The goal behind Low-Code is to minimize the amount of coding necessary for complex tasks through a visual interface (such as Drag 'N' Drop) that integrates existing blocks of code into a workflow.
Skilled professionals have the potential to work smarter and faster with Low-Code tools because repetitive coding or duplicating work is streamlined. Through this they can spend less time on the 80% of work that builds the foundation and focuses more on optimizing the 20% that makes it different. It therefore takes on the role of an entry-level employee doing the grunt work for more senior developers/engineers.
No-Code has a very similar look and feel to Low-Code, but is different in one very important dimension. Where Low-Code is meant to optimize the productivity of developers or engineers that already know how to code (even if just a little), No-Code is built for business and product managers that may not know any actual programming languages. It is meant to equip non-technical workers with the tools they need to create applications without formal development training.
No-Code applications need to be self-contained and everything the No-Code vendor thinks the user may need is already built into the tool.
As a result, No-Code applications create a lot of restrictions for the long-term in exchange for quick results in the short-term. This is a great example of a "deliberate-prudent" scenario in the context of the Technical Debt Quadrant, but more on this later.
The appeal of both Low-Code and No-Code is pretty obvious. By removing code organizations can remove those that write it—developers—because they are expensive, in short supply, and fundamentally don’t produce things quickly.
The benefits of these two forms of applications in their best forms can be pretty substantial:
- Resources: Human Capital is becoming increasingly scarce—and therefore expensive. This can stop a lot of ambitious projects dead in their tracks. Low-Code and No-Code tools minimize the amount of specialized technical skills needed to get an application of the ground, which means things can get done more quickly and at a lower cost.
- Low Risk/High ROI: Security processes, data integrations, and cross-platform support are all built into Low-Code and No-Code tools, meaning less risk and more time to focus on your business goals.
- Moving to Production: Similarly, for both types of tools a single click is all it takes to send or deploy a model or application you built to production.
So far, we have covered the applications of No-Code in a very general way, but for the rest of this article I would like to focus on data modeling. No-Code tools are prevalent in software development, but have also, in particular, started to take hold in this space, and some applications even claim to be an alternative to SQL and other querying languages (crazy, right?!). My reasons for focusing on this are two-fold:
- Firstly, there is a lot of existing analysis around this problem for software development and very little for data modeling.
- Secondly, this is also the area in which I have the most expertise.
Now let's take a look at some of the vendors that provide No-Code solutions in this space. These in no way constitute a complete list and are, for the most part, not exclusively built for data modeling.
Power BI was created by Microsoft and aims to provide interactive visualizations and business intelligence capabilities to all types of business users. Their simple interface is meant to allow end users to create their own reports and dashboards through a number of features, including data mapping, transformation, and visualization through dashboards. Power BI does support some R coding capabilities for visualization, but when it comes to data modeling, it is a true No-Code tool.
Alteryx is meant make advanced analytics accessible to any data worker. To achieve this, it offers several data analytics solutions. Alteryx specializes in self-service analytics with an intuitive UI. Their offerings can be used as Extract, Transform, Load (ETL) Tools within their own framework. Alteryx allows data workers to organize their data pipelines through their custom features and SQL code-blocks. As such, they are easily identified as a Low-Code solution.
Tableau is a visual analytics platform and a direct competitor to Power BI. They were recently acquired by Salesforce which is now hoping to "transform the way we use data to solve problems—empowering people and organizations to make the most of their data." It is also a pretty obvious No-Code platform that is supposed to appeal to all types of end users. As of now, it offers fewer tools for data modeling than Power BI, but that is likely to change in the future.
Looker is a business intelligence software and big data analytics platform that promises to help you explore, analyze, and share real-time business analytics easily. Very much in line with Tableau and Power BI, it aims to make non-technical end users proficient in a variety of data tasks such as transformation, modeling and visualization.
You might be wondering why I am including so many BI/Visualization platforms when talking about potential alternatives to SQL. After all, these tools are only set up to address an organization's reporting needs, which constitute only one of the use cases for data queries and SQL. This is certainly a valid point, so allow me to clarify my reasoning a bit more.
While it is true that reporting is only one of many potential uses for SQL, it is nevertheless an extremely important one. There is a good reason why there are so many No-Code BI tools in the market—to address heightening demand from enterprises around the world—and therefore, it is worth taking a closer look at their almost-inevitable shortcomings.
There is a nice two word concept, to which I alluded earlier in this piece, that describes the No-Code Trap pretty nicely:
Technical Debt describes the development work that arises when easy short-term solutions are chosen instead of a more robust long-term solution.
Technical Debt, however, fails to address some of the unique aspects that are associated specifically with No-Code solutions.
All No-Code tools promise ease-of-use and simplicity. This is true for both the Low-Code and strict No-Code tools. This siren song is often one of the primary reasons organizations choose to go down this path, and while this might be true in the short-term, it gets completely flipped on its head in the long-term.
Although No-Code is usually great to stand up a quick proof-of-concept, things can get incredibly complicated when it comes to creating a well-rounded product. This is because each feature needs to be matched with a workflow on the No-Code platform, all of which quickly add up. Each workflow adds additional complexity, necessitating further training, and very quickly, enterprises end up spending more time learning about the No-Code platform than learning the development skills needed to implement a better-functioning long-term solution.
On top of that, now your knowledge is focused on only one application instead of honing skills that are useful across the board.
Another selling point for No-Code is the money saved on labor, but this also ends up reversing in the long-term. The monthly cost of No-Code tends to only go up once terms are negotiated, and then additional trainings along with computing costs are added into the mix.
While they are certainly a cheap alternative when it comes to creating a prototype, the long-term costs associated with No-Code tools can be a major pitfall if relied upon to heavily.
The last problem with No-Code is that once you have paid for one of these tools, extricating yourself from it can be exceedingly hard—or even impossible. Vendor contracts often span multiple years, and once reporting workflows are built around them, organizations are forced to either keep paying the rising prices or pay to rebuild the entire system—which will always be even more costly.
There certainly is an appropriate time and place for No-Code solutions.
They offer quick and cheap development of prototypes, which can be used to enable dynamic responses for all sorts of problems that an organization might face. That being said, it is important to keep that specific use-case in mind when selecting tools to complete a project.
Do you want to show a proof-of-concept? Do you want to enable your team to quickly iterate between different solutions? Or do you want to build robust infrastructure for the long-term?
Believing that No-Code can do both is the honey in the No-Code trap.
This article was primarily written to serve as a warning against laying down permanent foundations with No-Code tools, so if what I wrote relates to your personal experience (or the complete opposite), please leave a comment and let me know!
Notably missing from this article is an alternative solution that can address some of the same issues as No-Code tools, making data modeling easier and more accessible to everyone—all without incurring any technical debt. If your company ever finds itself stuck between No-Code and a hard place, SQL editors might just be right for you!
So far, you might have just been using the default editor for whichever flavor of SQL database you are using, but now, there is a better option. A modern SQL editor like Arctype allows for simpler and faster development without any of the pitfalls I described above.
Arctype is building a collaborative SQL editor that allows you to easily share databases, queries, and dashboards with anyone. Join our growing community and try out Arctype today!