If you spend any amount of time in the IT business, chances are you have seen some very creative technology solutions to business problems, often developed by people outside of the IT department. These solutions are generally run on some kind of platform that wasn’t quite built to host them – yes, I’m talking about you, Excel – and built to solve a problem where there was no other available or affordable solution. Sometimes these solutions are unknown to the rest of the business, living in the mind (and hard drive) of their creator, and the consequences of losing that person or unquantified process can be devastating.
These solutions, while effective, often bypass the organization’s security and compliance rules. For instance, I once came across a homebrew Excel app that was able to query a bank’s financial information by hard-coding the credentials of one of the analysts into the worksheet. This spreadsheet was posted onto an internal SharePoint site, and anyone who opened it had free access to query confidential financial data. One of my team members found this app and we were able to get it taken down quickly, but it is almost impossible to know who may have been using it given that it could be downloaded and used on any of the bank’s computers.
The subject of shadow IT still comes up often, and while I firmly believe that the solution to managing shadow IT is to embrace and enable it rather than try to shut it down, you have to provide these “power users” an environment in which to safely create solutions. One increasingly popular solution to this the low-code development platform.
How do low-code platforms work?
Low-code platforms provide a set of tools to build fairly powerful applications with little to no code involved. The platform (and the IT department that enables it) provides the overall security, authentication and authorization, and the user builds their apps from a set of interchangeable parts like forms, templates, fields, and workflows, typically through an easy to use drag and drop user interface. These applications, their data model, and all of their related functions are stored and tracked within the platform, providing transparency to the IT department.
Low-code platforms are expected to be an $8 billion-dollar market in 2018, growing to $15 billion in 2020. As data becomes more and more abundant, the need to manage and process that data will only continue to grow, and low-code platforms are well suited to help fill that role.
Are they just for end users, or can developers make use of them too?
While powerful in the hands of your typical business power user, developers can use low-code platforms to increase the speed in which an idea is turned into business value. Using this type of platform, following a continuous deployment delivery method, I have developed and published a custom app in just a couple of hours. Changes requested to this app were able to be made in minutes, and the time saved in both the development process and the business process supported by the app were hugely valuable to the business.
As digital transformation continues within organizations, the value of developers’ time continues to grow. Utilizing these type of platforms allows developers to spend less time on repetitive processes like designing secure authentication mechanisms, developing data models and developing usable UI, while focusing more on enabling business processes. The homogeneity of the platform decreases the need for repetitive security reviews. The application catalog features of the platforms ease the burden on the architecture teams and ensure transparency, and also reduces the burden of portfolio management by reducing the amount of bespoke applications within the organization. While both cloud-based and on-premises options are available, use of cloud-based platforms allows you to focus on enabling users on the platform rather than supporting the platform itself.
What are some use cases for low-code platforms?
There are many use cases for low-code platforms, but they are frequently used to fill niche cases where pre-built solutions either do not exist, aren’t suitable, or are too expensive.
Primary Capital Mortgage has used a low-code platform to design a portal to allow their broker-partners track the status of their mortgages from initiation on through the payout of their commissions. They were able to build a scalable, mobile-friendly application in a fraction of the time that it would have taken with a tradition software build or buy-and-customize approach.
The Center for Plant Conservation at San Diego Zoo was able to build a custom application to keep a record of all endangered plants and pollinators in America, helping them towards their goal of saving these plants from extinction. You can imagine that there was no readily available solution for this problem, and with a tight budget they were able to train volunteers with little to no development experience to use the platform.
Kao was able to reduce their standard time for application interface delivery from 30 days to 2-3 days, offering a tenfold increase in efficiency, as well as an increase in on-time project delivery.
Is low-code right for my organization?
As you have seen, low-code can be a huge success when used correctly. However, it is not a one-size-fits-all solution. There can be downsides to using low-code platforms, which have to be taken into account.
Many argue that low-code platforms are inherently prone to vendor lock-in. In my opinion, while this is true, this applies to almost any type of software or software development platform. Many vendors have developed solutions over the years to “abstract” you from a given platform, allowing you to be less locked in to a particular solution, but typically you then become locked in to the abstraction. Lock-in always needs to be factored in, but it’s not an issue that is confined to low-code development platforms.
Empowering more users to become involved in the development process increases the risk of application sprawl, if done incorrectly. The use of low-code platforms can increase the transparency of the existing solutions that may be fit for purpose for a given problem, but this only works if the application catalog is made accessible, and if users search for answers to their problems first before choosing to develop their own. It’s quite often possible to find 10 different solutions to the same problem in a single organization, and improper use of low-code platforms may exacerbate this problem.
Finally, low-code platforms are a bit rigid in their nature. In order to provide an easy to use interface, the system has to be limited to a certain set of capabilities. While vendors are constantly working to increase the capabilities of their platforms, there are certain things that you just cannot do on a low-code platform. While highly appropriate for creating workflow automation, or providing a common interface between two disparate systems, low-code platforms are not the best place to develop new cutting-edge software. For that, more feature-filled PaaS platforms and traditional software build approaches are more appropriate.