If you’re confused about no-code/low-code (nc/lc) application development, you can take some comfort knowing you’re not alone. Although some of the underlying concepts of nc/lc application development have been around for some time (use of drag and drop, templates, etc.), the marketing and packaging of these platforms is relatively new. What is also new is the high rate at which they are being adopted and used.
According to Gartner, the revenue generated by low-code application platforms, currently the largest component of the low-code technology market, will grow from $3.5 billion in 2019 to $5.8 billion in 2021. Forrester Research predicts that by the end of 2021 75% of application development will use low-code platforms (up from 44% in 2020). There are many reasons for the widespread and aggressive use of the technology one of the chief being the shortage of software programmers. In 2020 the US Bureau of Labor Statistics (BLS) anticipated 1.4 million open computer science jobs – but only 400,000 computer science grads. Many organizations can’t afford to get caught up in bidding wars for the programmers that are available.
No-Code, Low-Code? How do they differ?
Gartner might offer the best way to think about nc/lc tools and how they differ. They insist that the term no-code is nothing more than a marketing term – that there is no such thing as no-code. Their point is that all applications have code running somewhere even if it’s hidden from whoever is developing it. Perhaps the best way to think of the nc/lc comparison is to envision a scale of app development that runs from no programming experience to some higher degree of technical sophistication – even if it doesn’t require coding experience. Custom programming starts where this scale ends at which point the developer is writing most if not all the code.
Even the simplest of the no-code platforms still require the user to learn how to use the tool. These platforms are best suited to individuals who are experts in their business disciplines committed to learn how to use these types of tools. Development skills aren’t needed but logical thinking is. Excel users offer an appropriate model. A basic user can put values into spreadsheet cells and perform simple calculations, but it takes someone with more in-depth Excel know-how to add forms, pivot tables and macros to more fully leverage the application’s power. The table below offers a comparison of nc/lc characteristics:
As indicated earlier, the shortage of programmers in this era of high demand is partially responsible for the rapid growth of nc/lc platforms; however, there are other issues at play as well. Some of these issues further spur the adoption of these tools, but there are some red flags as well.
Advantages and Disadvantages of Using No-code/Low-code platforms
For many organizations, the advantages of using nc/lc tools vastly outweigh the disadvantages – but it’s better to go in with your eyes wide open. Some applications are better suited to traditional coding methods; however, when no coders are available and businesspeople with the necessary insight and motivation are, the nc/lc is preferable. The size of the project should also be considered. For example, many insurance companies use the Guidewire suite of industry-specific applications. Using a nc/lc platform to replicate the functionality of this software package is infeasible but extending the software’s functionality by interfacing with a Word document or a web service might be a fitting use of a nc/lc platform.
Below is a summary of some of the most important advantages and disadvantages of nc/lc offerings:
High ROI – one of the most important metrics associated with application development is “speed to value.” No-code/low-code techniques shorten the time to create and deploy applications. A study conducted by Capgemini found that developing an application using a nc/lc platform to be more than five times faster than developing the same application using a traditional development approach. This time savings offers organizations a shorter time to market or the ability to reduce costs more quickly. Additionally, it’s more economical than using a team of developers to custom write an application.
Leverages user insights – these platforms are often used by business users who understand the existing processes and can apply their knowledge and experience to create an application that more precisely fulfills their needs.
Reduce the development burden on IT – IT departments are often overwhelmed with user requests. If applications can be developed without extensive IT resources, it allows IT to focus on core business initiatives.
Scalability – because for the most part, nc/lc are cloud-based platforms, as applications demands increase there is no corresponding increase in the need for new hardware or people who would have to manage it. Clearly understanding how scaling affects costs is complex but probably less complex than sizing new equipment.
Access to widespread support/knowledge base – with platforms that are widely used there is usually a community of users available to offer help and insight to non-programmers who need it.
Ease of updating – because of the nature of these platforms they are easier to update than having to update an application consisting of perhaps hundreds of thousands of lines of code. This can help shorten release cycles which can offer a competitive advantage to organizations that license their application(s).
Creation of unruly apps – as noted in the comparison table, governance of both no-code and low-code applications can be vexed by unruly apps. An unruly app is any application that doesn’t perform as intended. This can mean anything from creating conflicts with other applications or opening the door to malware to a gradual degradation in performance over time. Unruly apps originating with nc/lc platforms can throw a monkey wrench into application governance as IT personnel might have had little or no involvement in its development and lack insight into how to fix it. Unruly apps reflect the lack of discipline and framework experienced software developers apply in the form of development best practices. No-code/low-code platforms are relatively recent arrivals in the application development scene and lack the maturity of more established development approaches. All software development tools offer users multiple options – this requires the user have the knowledge and discipline to make the right choices for the situation.
Vendor dependence – if users become comfortable with one platform provider and that provider either goes belly-up or increases prices users can be trapped.
Security vulnerabilities – security related to nc/lc platforms can be a double-edged sword. Because most of the nc/lc platforms are cloud-based they can enhance an organization’s security as they often adhere to more stringent standards than that used for on-premises applications. While their security features generally provide adequate protection for say a ransomware attack, they do not cover all security concerns. Cloud providers do a good job of covering authentication – who can get to the application. Additional consideration and work need to be done to address authorization. Authorization is a security measure that determines access levels and user privileges associated to system elements such as files, computer programs, services, data, etc. Just because someone is allowed to get into the application (authentication) doesn’t mean they should be able to see all the data that’s in the application (authorization). There are a number of instances where a company’s employees could see their co-workers’ salaries due to poor authorization practices. Also, most of the business power users who will be creating the nc/lc apps have no security-related experience for these web-hosted apps. Alternatively, if a platform provider’s security is less rigorous the users’ organizations could be more vulnerable to breaches. It can be difficult for organizations to assess the risks associated with a provider’s platform. Internal data governance is part of security and requires diligence.
Inadequate functionality – these platforms can’t do everything and if a needed function is unavailable the user might have to turn to a developer to add custom code (which could be costly) or might be out of luck.
Integration with existing applications – although the ability to integrate nc/lc apps with existing resources can be beneficial it’s important to remember that integrating these applications with existing custom-coded applications, especially those in which the degree of customization is high, could prove challenging, costly, or infeasible.
This is only a partial list of the advantages/disadvantages related to nc/lc platforms. It’s important to do the necessary homework regarding the specific application and platform to be used prior to deciding whether to proceed or not.
How can no-code/low-code apps affect the IT department?
Problems can arise when non-programmers create applications that involve enterprise-wide or vital internal systems. If the nc/lc app is intended to be scaled, maintained, or integrated with other systems, it is unlikely that a non-programmer will have the technical chops to handle these tasks. One of the issues that IT departments have had to wrestle with is “shadow IT,” the introduction of applications and other technologies which the IT department might not even be aware of. This can create organization-wide havoc. Imagine the consternation of IT managers when they are handed over the responsibility for these applications created by non-programmers. This could become a widespread problem as nc/lc platforms are more widely embraced – then employees who create applications leave the organization and no one knows how to support or modify the application if required.
This is why some organizations are pushing to have their IT departments involved in the selection and use of any nc/lc platforms. One approach that some organizations are adopting is a hybrid model in which the non-developer creates a majority of the application using an IT-approved nc/lc platform then hands it over to the organization’s developers to complete. Whether or not a hybrid development model is used, unit managers need to understand the power and limitations of nc/lc platforms and the best practices for maintaining and scaling resultant applications.
The pace of the adoption and use of nc/lc platforms is only going to quicken.
If you have not evaluated using such a platform to meet your software development needs, now might be the time. The prominent platforms, offered by credible organizations offer a mechanism to fill part of the void created by the ongoing shortage of developers. There are challenges in using nc/lc platforms but if one understands and plans for the inherent advantages and disadvantages of using these platforms, they can offer a means to improve business operations and increase productivity when alternatives are unavailable.