Gartner predicts that 65% of all application development will be done with low code by 2024 and that 66% of large companies will use at least four different low-code application building platforms.
Faster time to market for applications is one driver of low-code and no-code application development. Another is that more business/citizen developers are creating their own applications, bypassing what they perceive as an IT logjam that prevents them from getting things done.
I previewed one of these no-code application development tools recently. It had a slick user interface with point-and-click functionality that neatly picked up data and formatted it into standard reports, images, pie charts, bar charts -- any visualization I wanted. The tool automatically summarized report data in plain English. It also enabled me to customize these messages to the interests of my audience.
I did all of this in five minutes, then continued to refine the report until I got exactly what I wanted -- in real time. The downsides: I couldn't get at data that the tool didn't support with an API; I couldn’t integrate the data with other systems in the enterprise; and if I needed to insert business logic that the app builder couldn’t generate for me, I couldn't do it.
The result is that I had the ability to rapidly develop a wide array of reports and applications that can meet many needs, but there were also limits I had to accept.
Because I had an IT background, it was easy for me to understand the walls I was running up against, and why. Unfortunately, business users without IT backgrounds might not know this.
This is exactly why it’s critical for CIOs and other IT leaders to step in with guidelines for IT and end users about when to develop applications using low code and no code, and when it’s necessary to develop in a full-code mode.
A no-code application uses point-and-click visual tools that users drag and drop in order to create an application. No knowledge of coding is needed. This is strictly point-and-click development on a visual user interface that gives access to data, basic logic and data display choices.
Best fit: No-code development works when the data and queries the user needs are basic and the tool can integrate with the data sources that have predefined APIs. No-code tools are ideal for rapid turnaround applications that use and report basic information -- like, what are the sales numbers for our air conditioning products this month? The tools are used with transactional data, not with unstructured, big data.
Low-code development tools have point-and-click, graphical user interfaces that are similar to those found in no-code tools, only low code also allows developers to add pieces of custom code that embellish functions not handled by the low-code platform.
Best fit: For applications that must be integrated with other systems and databases, as well as delivering rapid time to market, low-code tools make excellent platforms. Low code also enables non-programming users to collaborate in developing apps with more technical IT programmers. The user can develop the easier elements of the app, with the IT developers providing custom code for logic and interfaces that are too complex for the low-code tool.
An example of a low-code application is an app that provides a user-friendly interface but that also integrates numerous backend systems into the app that are needed to provide the information that the user sees on his screen. Invoicing is an example. A user can design and retrieve invoices with low code. IT then custom codes the backend processes and interfaces that retrieve and update full invoice information from billing systems, product systems, sales systems and ERP.
Low-code applications are used with structured, transactional data.
Full-code development is used in IT and refers to a full “hand coding” effort that is needed to customize, optimize and integrate applications.
Best fit: A full code application is needed when complex database calls, software integration, background system processes, big data processes, or high-performance applications are needed. Full code is used on both transactional data and unstructured big data.
The time-to-market pressures on IT for application development are acute. In this environment, it makes sense for CIOs and IT leaders to push for as much no-code and low-code development as possible.
The exceptions to low-code and no-code development are high-performance applications that must process many transactions per second, applications with complex integration needs, and the processing of large volumes of big data. In these situations, full code is used because it allows you to optimize code for best performance.
What remains for CIOs and IT leaders is to define to end-user citizen developers and to IT the kinds of applications that are best suited for low-code, no-code and full-code development.
A checklist “decision tree” can be developed to help people decide -- and it can be backed up by IT application consulting and/or oversight,
A second step IT can take is to standardize on tools that will be used for no-code, low-code and full-code applications.
Finally, IT and end users should pursue working in collaborative development teams. This enables development efforts that capture the best of the business and the best of IT. It also extends to tracking all apps once developed, and to systemically retiring any apps that have ceased to be useful.
Follow up with these articles on software development choices: