Being a tech start-up founder means constantly looking for ways to improve your processes. You start by optimizing marketing, sales, and finances and finally arrive at the biggest pain point to optimize – software development. Then you remember that you have read a blog post about a way to solve all your coding problems and the solution is the omnipresent and trending low-code app development.
Advantages of low code app development
The Microsoft article enumerates all the advantages of the low code platforms, among which you can find:
- Price effectiveness
- Low entry level for the developers
- Rapid development cycles
- Development accomplished directly by the business
- Improvement in employee satisfaction
Although these statements are all true, they do not show the whole picture. In fact, they hide the complexity of a software product throughout its entire lifespan. But before understanding the risks of using such solutions, we should define what it is.
What is low code development?
Low code or no code development is not a new concept. The term dates back to 2014 when it was first introduced by Forrester Research, but in reality, it is even older. The idea standing behind the aforementioned term is democratization of software development. The software development club, previously owned by geeks and nerds, was supposed to be opened to the public allowing everyone to create bespoke software.
The Best low code development platforms offer end users the opportunity to drag and drop software components (databases, APIs, algorithms etc.), combining them into fully functional solutions. Their highly intuitive UI makes the entry-level fairly low, even for non-technical people. All in all their goal is to allow software development to non-coders and to cut the costs of product development. Sounds good, but it doesn’t work.
Avoid low code at “almost” all costs
When creating software using a low code/no code platform you need to choose among a multiplicity of solutions. This is a crucial decision that will drive your development process from day one. You also need to get it right the first time as once you are in the development stage, turning back might really be difficult. There are several things that can go bad depending on your choice:
The flexibility of no code solutions
The no code platforms give you only the ability to develop components that were previously thought through by the platform creators. This is perfect for common use cases and will most likely take your start-up through the MVP. There will, however, be a point in the software life span, where custom development is required. On such occasions you have three options:
- Ask the creators to add this feature to their development pipeline (and hope they will take it into consideration)
- Let go of the requirements
- Re-write the application in another platform
Choosing any of these options is not a position anyone should be forced to be in.
Since low code platforms are developed with full reusability in mind, most of the graphical components and layouts are already there. This has an obvious advantage of being able to build apps that are generally perceived as intuitive. On the other hand, this means the developers have only a set of components at their disposal. This leads to the point where all applications, developed on the same platform, feel generic and lack their own identity.
Number of specialists in low code development
When choosing the right technology for your system, it is essential to consider the availability of specialists in that domain. A stable team is usually the prerequisite to success, but it might not always be achievable. The fewer specialists on the market, the lower probability of hiring a rockstar that fits into the team. You have a much higher chance of hiring the right developer specializing in the top rated programming languages rather than a specific low code platform. Not to mention that imbalance between demand and supply might cause the prices to fluctuate.
Hosting low code platforms
As low code platforms are usually bound to a specific ecosystem, choosing a tool also means choosing the hosting. This directly impacts your ability to react to infrastructure challenges. For some low code platforms, transferring the application to a different environment might be extremely difficult or even impossible. This means that once the decision is made you are sentenced to the hosting choice of platform owners.
Platform life span
Programming trends come and go, and it is no different for low code solutions. Selecting a platform means committing to a specific vendor. What if they go out of business and the whole ecosystem is shut down? If you are lucky, you will know that beforehand and have time to prepare for re-writing your application using another platform. There might however be occasions where you are left without a solution with just a week of notice.
Most of the low code platforms have good compliance teams that observe different jurisdictions to comply with various laws and regulations. However, they cannot incorporate all guidelines into the software. Even if at first all of your use cases are covered, this might not be the case in the future. Regulations are constantly changing, and at one point in time, you might find yourself in a situation where for example your regulatory board requires you to keep data in a specific geo-location which is not supported by the platform.
Hidden low code costs
Every platform has its costs that you should definitely take into consideration. The pricing plans might differ depending on the number of developers, the scale of your application or the number of used features. Even if at the beginning it seems that you understand the financial forecast, at one point it might change. Your developers might reach a blocker that can only be solved by a feature that is available in the highest-tier pricing plan. Not to mention a simple price increase that the platform of choice might introduce.
What if you choose wrong? What if any one or more of these scenarios happens to you? In that case, there is unfortunately only one way out, and this is re-writing your application using a real-world programming language.
Customizing your software development mitigates low code development risks. It is flexible as you can do pretty much anything at any time. You have a multiplicity of specialists to choose from so that you can assemble a team of rockstars. Most importantly, however, you truly own your system. You can migrate to another hosting provider, move data to a different data centre and scale it up or down whenever there is a need.
What are the few use cases where you can apply low code solutions?
It is, however, not all that bad. If you are a tech startup founder, you most likely are familiar with the common reasons leading startups to failure. You understand that before doing any real coding, you need to test if there is a market need. You can achieve this in several ways among which a software prototype is one that is most commonly used. This is the moment where no code platforms come into play. By developing your prototype using such platforms you use rapid, and most importantly cheaper, development cycles.
Short development cycles allow you to get your idea faster to potential users and test if there is a market for it. At this point in your startup, you do not need an elaborate software development life cycle because what counts is the time to the user. However, it is essential that when planning your next moves you start thinking about the professionalization of the development because, as discussed before, it might have catastrophic consequences for your startup.
Be careful before falling into the low code trap
To summarize, it is essential to understand that, although not in the beginning, a proper system design might be a difference between the life and death of your start-up. The poorly selected methodology might impede your ability to grow or pivot. Before rushing into supposedly, cost-effective low code developments, understand and consider their advantages and shortcomings. Although such platforms seem to have an edge over traditional custom software development in the short term, they begin to fall short for large systems with growing complexity.
Low code app development is a great way to test the market, allowing you to deliver things fast. However, applying to the real-world productive system might stand in the way of your success.