No-Code and Low-Code - High Level Introduction
Philippe R. Collin III
CEO, Collin & Company - Your Business's Commerce Agency
*Please note that this is my take on a high-level introduction to two, of many, Rapid Application Development systems.
What is Rapid Application Development
Before diving into what No-Code and Low-Code systems mean and some examples of what they are, I think that it is important to discuss the opportunity and concept of Rapid Application Development (RAD).
RAD is the generalized concept of reducing the time to develop an application by delivering smaller more rudimentary pieces of a complete product and relying on user feedback and quick, unplanned iterations to accomplish an end goal. Eventually, the small RAD components will be brought together into a working product.
This is opposed to the more traditional approach of strict planning, development, and larger more concise releases.
The 4 Phases of RAD
Though these vary with whom you ask, and which resources you are learning from, generally the four phases are [loosely equated to]
2. Design
3. Application Development (RAD) with a consistent feedback loop of:Develop/Prototype
4. Deploy and Maintain
How RAD Fits Into Low-Code and No-Code
The concept of RAD is rapidly developing and deploying smaller components to a larger project, and not getting caught up on the overall complete design of the product. Low-Code and No-Code systems allow you to remove the "Code" aspect of developing components and allow you to focus on iterations and refinement.
Software Lazy
Nowadays everyone wants to build an app. Apps are small units of software that can typically generate revenue quickly if done properly. As such, everyone wants to get in on developing an application. However, typically the person that is thinking of an idea is not the one that will be able to implement it, as historically, apps have required teams, time, and a lot of money to build. People in the software world are lazy. Not lazy in the sense that they sit on the couch all day, but they are "software lazy", meaning that they don't want to put in the effort, which is not necessary to develop something. In software, being lazy often leads to improved processes and better ways to implement a solution.
Out of this "software laziness" is born two ways to build apps and integrations, that were not widely available before recently, which are the Low-Code and No-Code tools.
No-Code
What a No-Code System Is
The No-Code systems are frequently used when someone [or a company] is looking to build a prototype for an application quickly or has an app that can be built quicker without needing a development team. These systems rely on the "Drag and Drop" type of building block selector interface. There is no requirement for scripting or handholding by a developer.
Examples of No-Code Systems
Today we see "no-code" in the form of page builders in the CMS offered by many e-commerce frameworks. There is no coding required to build out a page, but there are a lot of pre-built building blocks that can be stacked onto a page and filled with content. Other examples of no-code systems include small automation suites within a larger software framework, such as being able to schedule certain tools to run, in sequence, for a particular end goal.
Low-Code
A Low-Code System Is
A low-code system is a tool that allows a majority of the development of an app, or automation to be done without the need for a script or software developer. These systems offer a similar toolset to the no-code systems but also can be, and often are, enhanced with the use of development and scripting of code. Low-Code systems are still considered RAD because they cut out the need for extensive development and planning before iterating. Low-Code systems are utilized for more process-oriented and workflow-oriented implementations, such as connectors between two systems [say an ERP and an e-commerce platform). The tools are similar to no-code systems in that there are drag-and-drop and visual elements to help build your requirement.
In Closing
No-Code and Low-Code systems are very similar. They use a lot of the same core principles, with Low-Code systems offering more flexibility for the "power users" to enhance the no-code tools offered in a low-code system.
What is next?
Next in the series, we will discuss some of the actual platforms that offer No-Code and Low-Code application development. Additionally, we will be speaking with multiple professionals, on their uses of No-Code and Low-Code systems, and get their advice on the best approaches.