Any keen followers of US research company Gartner will know all about bimodal IT, the practise of managing two coherent but separate modes of IT delivery.
The first relies on the traditional development of applications with proven techniques. This can be safe and predictable but also potentially expensive and time consuming. The second is non-hierarchical and innovative but also potentially disruptive: it focuses on agility, speed and cycles of short development. It is in the latter category where we can find the idea of a low-code development platform – effectively a way of rapidly building and deploying custom apps without needing low-level coding.
How do low-code development platforms work?
Like anything that’s relatively new in the technological sphere, it’s hard to clearly define low-code development platforms. Forrester Research describes them as “platforms that enable rapid application delivery with a minimum of hand coding and quick set-up and deployment”.
Sounds simple – but what does that definition actually incorporate? In short, there are three key areas of low-code development. These are:
So that low-code platforms can be more intuitive and involve less hand coding, the development tools they incorporate are often visual by nature. One example would be the model driven development approach from Mendix which makes visual models the centre of its approach in terms of defining process logic, data models and user interfaces. Such approaches can often make it much faster for a developer to build an app compared to if they relied solely on hand coding. For example, an analysis by Capgemini found that the model driven development approaches need just 2.5 hours per function – compared to 10 hours per function with Java.
Many low-code development platforms offer an effective App store filled with everything from plug-ins and templates to entire business components. The point here is that when you develop an app you’re not starting from scratch each time: you already have the building blocks in place and this will speed up development.
In addition, while you might expect that low-code development would focus simply on getting an app “out there” and then finishing the job, the reality is that they also create lifecycle support with single environment support for each step – from the design to the actual build and deployment. As a consequence, most low development platforms will involve some sort of collaboration and include project management and application monitoring as well as feedback loops from the end user. Without this, the advantage of rapid visual development would be lost.
Aren’t there other ways of developing apps quickly?
There are several similar alternatives to low-code development that you may have already heard of.
One such example is rapid application development – or RAD for short. It relies on gathering requirements via focus groups or workshops, developing prototypes, testing these designs with users and then re-using software components. Effectively, low-code development uses the practical elements of this procedure as visual development allows for frequent prototype sharing, quickly gathering user feedback and the reuse of apps via an app store: as such, the two terms have a lot in common.
The same can be said for low code development and high productivity aPaaS, which is another term that has earned notoriety courtesy of Gartner. Both are effectively moving away from code as aPaaS is described as model-driven graphical development. Whereas some programming is possible with aPaaS, the general idea is that the design is carried out graphically and that it is also interpreted during runtime.
So what are the overall benefits of low code development platforms?
Low code development platforms have enjoyed a surge in popularity recently – perhaps because businesses now face competition at such a rapid pace. If they are to survive and their apps are to remain popular then they must find ways to quickly differentiate from the competition and also be innovative. This means being engaging, fast and also more affordable.
With applications also exploding in popularity, traditional code-based approaches simply struggle to keep pace with the market. Simply put, it is, at times, too slow and not flexible enough to meet market demand.
Here then, we find the true value in low-code development. It effectively brings IT and business together as it allows for rapid and collaborative development with the ability to build apps seamlessly and ensure they are deployed rapidly with changes that are easy to make. All of this can also be done without needing low-level coding. It is an alternative that offers true business value.
Aren’t there some downsides too?
Of course, while there are clear benefits to low-code development there are certainly some potential negatives too. It relies on those who have the skills and experience to quickly develop software – it is not something that just anybody can try to do. Not every platform will have a stencil to follow for each business application and you need to ensure your low code platform matches your organization’s requirements or more work will be required.
Still, even this, it could be argued, is better than a development agenda that takes all of a programmer’s resources.