Low Code and No Code: When Less is More
Low code and no code approaches to software development are maximizing speed, reliability and creativity.
Enterprises need to adopt lean software development strategies that will allow them to design, develop, iterate and pivot as effectively as small start-ups. Agile methodology and automation play key roles in this, as do a range of other practices and technologies. One of the latest approaches to appear is “low code”, which makes it quick and easy to develop reliable software with minimal hand coding.
How Low Can You Go?
What do we know about low code—and its close relative “no code”? Essentially, they are ways of linking together reusable functionality components to create the basis of new applications, without the need to write new code from scratch. For example, rather than creating the basis of an application in code, a developer might simply link together various code modules via a graphical interface, not unlike a flow chart.
Companies such as Appian, OutSystems and Mendix are offering products that enable a low code approach. But more recognizable names are starting to get in on the act too. Microsoft recently launched a product called IoT Central, which aims to help companies build apps for the Internet of Things via a low code development approach. While it may seem like something from the frontier of digital transformation, low code is moving into the mainstream.
For those familiar with APIs and microservices, the concept should not seem too wild. Enterprises have long been using web APIs to draw functionality and data from existing systems for reuse in new applications. And APIs are vital to allowing a microservice architecture, where new software is patched together from lightweight, reusable code modules. In fact, low code had precedents in various existing practices.
Another example is open source. Over the last decade, the amount of open source code used in applications developed by software-driven enterprises has vastly increased, to the extent that it is not uncommon for the significant majority of code in an application to be open source. The way today’s software is built from pre-existing open source code certainly seems to have foreshadowed the growing interest in low code.
Low Code is Already in Your Enterprise
So, this approach is clearly not entirely novel and has grown organically via enablement by various enterprise IT trends of the last decade: APIs, containers, open source, DevOps and so on. If we look at the example of DevOPs, we can trace how a specifically low code—or even no code—approach may already be making its way into your enterprise. Specifically, let’s look at one innovative concept to grow out of DevOps recently: “NoOps”.
NoOps is still largely theoretical. But in theory, it may soon be possible to automate the infrastructure creation and management tasks required to build and deploy application releases, so that software developers can manage and maintain their own code without having to rely on ops professionals. Like low code, this is related to the way cloud and automation technologies are enabling a leaner, more minimal model for enterprise IT.
A related example is serverless computing, which extends the infrastructure-as-a-service model enabled by cloud services to other vital areas of IT (“backend-as-a-service”, “function as a service”) in order to minimize the physical infrastructure required for enterprise architecture and potentially enable next-generation approaches like NoOps. Again, the paradigm is lean, minimal, modular and cloud-based.
As with NoOps, how all this will work in practice is still, to a large extent, a matter of speculation. CA’s Howard Abrams recently commented that, even if a truly serverless architecture could be created, it wouldn’t necessarily enable true NoOps. On the other hand, it might lead to what Abrams called a “NoDev” situation “in which the need for coding is replaced by the ability to simply wire together a collection of preset, cloud-based nanoservices.”
Low code gives every impression of being an approach that could go fully mainstream before other, equally-hyped, approaches like NoOps and serverless computing. What is more, it arguably has benefits that will be easier to grasp for stakeholders across organizations. This seems likely to speed the widespread adoption of low code and to help enterprises get maximum value from it.
One great thing about low code is that it enables creativity by making development accessible to people with relatively little in the way of traditional coding skills. This is like the way Max for Live allows musicians to create their own virtual instruments and audio effects, for example. During a panel at this year’s CA World, Debra Danielson noted that low code would allow the company to create offerings that “appeal to the dancer and the linguist, not just the engineer.”