What is low-code?
The emergence of low-code platforms leads us to ask, is the Holy Grail of software development truly within our grasp? Have we entered a world in which coding can be done without developer knowledge? How have the roles of business analysts, software developers and programmers changed in the presence of low-coding? Let’s take a detailed look into this matter.
Before we set out to answer any of these questions, let’s have a look at what “low-code” is. The textbook definition suggests that these platforms provide the use of applications without any traditional, formal coding or graphic devices. As a result, this allows individuals who have no traditional coding skills to be involved in the process.
From this point on, we will treat the concept of low-code to include the concept of no-code, the reason being that in its current form, this definition is not correct. We don’t live in a world without a need for basic programming, program design, mathematical or logical knowledge or where anyone can create functional software with a few clicks of a mouse yet.
So what’s the truth?
In short, instead of a formal programming language, you have to learn a formal modeling language, which allows the conceptualisation (specification and implementation) of the task on a higher level of abstraction. Not writing the code by hand, line by line, but being able to fully understand what the platform does and how it does it still requires expertise, yet one of a slightly different nature. At the same time, however, it is a huge advantage that these devices make the work much faster and allow you to devote your time to designing tasks closer to high-level, business fields instead of forcing experts to write and test low-level code. It’s no coincidence that low-code platforms have quickly become a popular solution and we now have a wide range to choose from when looking for such devices. Apart from Mendix, Outsystems, Appian or PowerApps, we can also use BlackBelt’s own platform, JUDO. Although there are an ever-increasing number of devices, the truth is that there is still room for improvement in this field.
Let’s examine where the biggest changes will be experienced
In light of all of this, the question is how an innovation of such importance will change the developmental processes? We can safely say that just as everything changed after the invention of the wheel, significant changes are now underway in the field of software and application development. We now have a device that allows us to move to the next level of abstraction, facilitating the conceptualisation of specifications and implementations, making them easy to understand. Thanks to this, a number of intermediate steps can be omitted from the developmental process and the boring, repetitive tasks can be eliminated, leaving more time for productive work. It’s also important to keep in mind that low-code isn’t the Holy Grail itself; it won’t instantly resolve all challenges. It will, however, change some of the developers’ tasks, while other fields will still require human labour, merely bringing a shift in proportions.
As mentioned before, with low-coding, we don’t have to write all the code and carry out all the testing ourselves, as these tasks either become obsolete or the platform will automatically perform them for us. There are usually three well-defined roles in the currently employed testing processes (with the exception of project management and testing) all of which require different sets of knowledge and soft skills.
First, there are the business analysts, who keep in touch with the clients and elaborate or detail developmental needs.
Then software developers, who divide tasks to be resolved into partial tasks and specify system plans.
Lastly, the programmers, who do the coding in practice.
It’s easy to see that due to new technological solutions, this classic division will necessarily be transformed to a certain degree.
What paradigm shift can we expect when we start using a low-code platform?
As previously stated, these systems are not suitable for handling every demand or at least, when it comes to tasks that require more complex, unique development – all three roles are still required. However, there is a great deal of change with simpler “serial production” developments. In such cases, we can see that most often it’s enough for the designer to take part in a project as the low-code framework system practically allows them to fully complete the application expected by the client. Although we cannot fully state that from this point on, all less complicated projects will only require a designer, we can safely say that the usual 5-6-member team consisting of business analysts, architects and multiple programmers can be reduced to 1-3 people.
What expectations does a software developer have from a low-code platform?
- If we accept the previous paragraph, we must recognise that a key factor of the work process will be how efficiently the software developer will work on the low-code platform as a device. This rests on multiple conditions:
- For example, one of these is that the quality of the application generated by the framework system should be trustworthy and known in advance. Here is a non-exhaustive list of a few examples:
- it should adhere to safety regulations/protocols
- the screen arrangement should remain consistent within the application
- the database should remain consistent
- Next, equally importantly is the expectation is to be able to expand upon the model that serves as the basis of the development, i.e. for it to be flexible enough to be used in multiple, different projects and to supplement the range of tools with individual elements. Naturally, such cases always require the assistance of a programmer in order to implement the meaning of new terms.
- Furthermore, it is crucial for the leader to be able to automatically monitor the consistency of the created model. Therefore, the system must be suitable for the validation of the plan.
- The system must allow the software developer to use their existing knowledge and devices.
- The plan should be the documentation itself. When necessary, the plan can be used to generate documents or views for various roles.
- It is also necessary for the low-code platform itself to be continuously developing.
We can see that the world is heading in a direction where various low-code architectures are becoming increasingly widespread and developers will play increasingly greater roles in the developmental process. However, this doesn’t necessarily mean that we will have to prepare for fundamental changes. In a nutshell, there will be less demand for coders to carry out low-complexity tasks and instead a greater requirement for developers capable of doing this, but there will be more complex tasks as well. Therefore, the spread of low-code platforms is an effectiveness-increasing innovation that won’t fundamentally change the process of the development. It will instead result in a shift of focus; specifically, the conceptualisation of tasks will be raised by one or two levels of abstraction. As a result of this, it will become easier for business people to understand the plan and the implementation itself, while significantly accelerating the rate of the development.