Sergey Nivens - Fotolia
The appeal of low-code and no-code tools is simple; individuals and teams that lack software savviness can create complete software, and not need to write thousands -- or even tens of thousands -- of lines of code. The low-code development process typically involves a visual drag-and-drop interface that enables users to delineate high-level ideas, and then they simply let the routines and libraries within the platform compose the actual codebase.
Yes, it's a software development shortcut, but the concept of code shortcuts is hardly new. For years, IDEs and automated development tools have accelerated software building and testing. Similarly, developers make use of open source software to shave precious time from hectic development schedules and create products faster. Ultimately, the goal is to eliminate mundane and redundant steps from the SDLC.
Although low-code platforms have considerable benefits, they also carry potential issues to consider before adoption. Let's take a closer look at low-code platform pros and cons.
Low-code platform advantages
Low-code platforms provide some noteworthy perks. Perhaps the most immediate and recognizable benefit of low code is improved development speed and agility. It takes a lot of time to compose individual lines of code, as well as correct syntax and command formation.
Low-code platforms provide a means to express tasks as high-level ideas. Once the user arranges those ideas, the platform uses a combination of libraries and algorithms to generate much of the actual application codebase. However, keep in mind that the application might require some additional hand coding to perform certain integrations, such as accessing older or preexisting applications and creating specific reporting. Not only do low-code platforms enable faster software development, they can also accelerate updates and changes to the product.
Low-code platforms can reduce the risks caused by unsanctioned or rogue programming, like shadow IT. With low-code platforms, non-programmers can participate productively in the software development process. Individual users or organizational departments can effectively create their own applications to meet specific needs or timelines with little -- if any -- direct work from the core software team. Still, the platform's ability to impose standards and track code provides a common and auditable environment. Developers can access the various projects and intervene when an application needs fixes, optimizations and other support.
Also, businesses that lack skilled developers can use low-code platforms to overcome possible skills gaps. All that a low-code user really needs is a clear understanding of proper business workflows. So, essentially, a business can boost development productivity from a broader group of everyday employees without the need to hire more -- or, at least, as many -- developers.
A low-code platform can also improve business governance. The central risk of shadow IT is the loss of common control over the development process -- different programming languages, coding styles, open source licensing issues and many other concerns could potentially put compliance and governance at risk. Low-code users can impose a set of common controls over the rules sets and preferences the platform uses to compose the actual code, and how team members use the tool. It's also possible to track users and changes to create auditable activity and change logs.
A low-code platform can also boost application analytics and lifecycle support via tools that can instrument the software. Users can gather data for the business and development team to determine the practical performance of the resulting application over time. With this information, teams can measure the application's performance against other in-house apps, determine when it's appropriate to update or patch the application, and even help determine when the low-code app might need developer intervention to resolve complex concerns.
Keep your options open
There are more than 60 vendors in the low-code development market. Some platforms are general-purpose, while others specialize in areas such as databases or business applications. Some vendors cater specifically to non-programmers, while others are suitable for professional programmers that seek to accelerate their everyday workloads.
One size does not fit all. Just as one programming language might not be appropriate for every development project, each low-code platform's pros and cons will inform how teams use it. Evaluate and test different low-code platforms, and then gauge the particular benefits against specific project or business requirements before adoption.
In these two product comparisons, we pit prominent low-code vendors against one another:
Low-code platform disadvantages
Although the advantages are compelling, there are some potential drawbacks and risks of low-code tools that every organization should evaluate. The biggest potential drawbacks involve the constraints of the platform itself; no two platforms, nor their respective limitations, are alike.
First, low-code users might experience reduced code optimization. Programmers understand that there are lots of ways to accomplish various tasks, and hand coding provides a simple, elegant answer for many coding problems. Hand-coded initiatives can create functionality in the shortest, most efficient way possible, which reduces the overall size of the finished application and can substantially enhance performance substantially.
The challenge with low code platforms is that they typically express higher-level tasks in the form of libraries with canned code. Those code libraries must handle as many tasks and conditions as possible to satisfy a wide range of low-code uses, which results in larger code bases than most actual applications require. Similar issues occur with the use of any established libraries, such as open source software components; when you use someone else's code, it might not be as tight or efficient as you would like.
Low-code users don't know how the underlying code works -- how it's written and whether the code is compromised; this means the low-code platform can pose security and compliance risks for the business. Skilled developers can determine what each line of code does in a hand-written application, and they can code in accordance with best practices to avoid common oversights that lead to vulnerabilities, such as careless error handling. A strong security posture is a core component of an organization's compliance strategy, particularly within highly regulated industries.
Test for known vulnerabilities to identify possible security flaws in the codebase, though the underlying risks could still be too serious for some organizations and compliance officers to ignore. In this case, the use of a low code platform to produce code that does not adhere to established best practices could violate the organization's compliance standards, even if the resulting application is indeed secure.
Remember that low-code platforms limit versatility or use cases, as they basically translate higher level workflows and ideas into application code. Thus, the platform is only as good as its ability to translate. Depending on the platform, some app functionality might be difficult, or even impossible, to implement. If a platform can't generate the necessary code for a task, a skilled developer might have to create a module, library or other customized code to implement it.
Low-code tools can also impose integration and interoperability concerns. Modern enterprise applications routinely integrate with other tools via a common means of communication, such as an established API. There is no guarantee that a low-code platform can support APIs or other forms of integration needed for the software project. Again, a professional developer might need to craft and manage APIs or other interfaces to facilitate integrations.
Finally, weigh the possible implications of vendor lock-in. When teams use a low-code platform for things like prototyping or testing and programmers write and optimize code for the actual production app, the lock-in risks are lower. But, for teams that use low code to create apps, vendor lock-in can sometimes generate convoluted or poorly documented -- even undocumented -- code that is difficult to maintain outside of the platform. In extreme cases, the code might even be inaccessible outside of the specific platform. Evaluate the ability to export, access and edit code using other vendors' editors and software development tools.