Can you build applications without code? What are citizen developers and why is The Real Programmer sceptical?
If you haven’t noticed, the enterprise application development landscape is changing.
I have taken part in this transformation of application development and will give you the low-down of the evolution that has left me highly optimistic about the future of app development.
The (not so) boring stats
87% of enterprise developers now use low-code development platforms as part of their development, according to the latest research from Forrester [1].
Those figures come only a few years after Gartner expected low-code or no code (LCNC is the admittedly clunky abbreviation) would be responsible for 65% of all application development in 2024 [2].
Gartner also expects that developers outside formal IT departments will account for 80% of the user base for low-code development tools in 2026 [3].
Real-life examples from finance and Formula 1
While analysts’ research and predictions offer a high-level overview, the on-the-ground perspective of building enterprise applications gives you a similar story but with more details.
I’ve had the pleasure of working as a consultant on a number of LCNC projects over the last three years. My experiences with clients from diverse sectors such as finance and Formula 1 teams, reveal a common desire: fast development, easy maintenance and quick adjustment to changing requirements.
LCNC makes that possible.
The ability to rapidly build or modify a system during client meetings is invaluable. Clients gain a much better understanding of what they need when they can see and try it out immediately. It is easy to continuously adjust a system built with LCNC, making LCNC ideal for agile development. This is much more valuable than a detailed specification made months ago which will already be outdated by the time implementation begins.
What is LCNC?
But I’m getting ahead of myself; what exactly is LCNC? Let me explain by looking at how Microsoft is defining LCNC when they are positioning Power Apps as a LCNC-platform:
“Low-code software development offers a simple, more accessible way for nontechnical users to build applications without requiring extensive coding.”
Please notice the last part of the sentence “without requiring extensive coding”. So extensive coding is not required, but sometimes it is helpful with a bit of coding.
I can embrace this, but I am a bit more sceptical about the NC, no-code, part.
As Microsoft puts it: “No-code solutions allow even non-developers to take an existing concept to production quickly, with minimal time and resources” and the software giant continues: “no-code development means that practically anyone at your organization can build apps that work with an organization’s current infrastructure and fit into existing workflows—no matter their technical skillset or level of expertise (my emphasis) [4]. In my experience, the best results with LCNC are achieved when people building the apps have a bit of technical skillset and an understanding of system development.
Citizen developers? Yeah, right! Yes, really!
So how do my observations fit with Gartner’s expectations that developers outside formal IT departments will account for 80% of low-code platform users?
These developers are business users or “citizen developers” who understand the business domain and with the help of low-code platforms will be able to build their own applications.
But do business people really want to build their own applications? And do they have the necessary minimum set of skills I would like them to have?
In my experience, yes – to both questions.
Business users have been building their own apps even before LCNC was a concept. With what, you ask? Excel!
One prime example are my clients in the financial sector where the use of Excel is ubiquitous; for better and for worse.
One Data Repository
Yes, Excel excels(!) at capturing and manipulating data, but enforcing data consistency and data quality is not easy. A robust LCNC platform with a solid data repository empowers business users, enabling them to manage data far more effectively than, say, trying to manage 20,000 car parts for a literally fast moving Formula 1 car in a spreadsheet [5].
The Formula 1 team I am working with avoids such data management problems by using the Decision Focus LCNC platform [6].
Real Programmers don’t do LCNC
“Good grief”, The Real Programmer sighs: “Real Programmers don’t do low-code, they do low-level code like Assembly!”. Times have changed since Ed Post’s satirical stereotyping [7]), but you can still find kindred spirits of The Real Programmer today who dismiss LCNC. Their objections aren’t limited to a macho “closer to the metal” argument, but extend to various concerns.
And to some extent, they have a point. LCNC platforms do have limitations, but you can handle those in various ways.
Extending LCNC platforms
One criticism of LCNC is the difficulty in configuring complex functionality or unique workflows within the platform’s constraints. In my experience, the platform itself is only part of the equation; the organization behind it plays a crucial role.
Just as the low-code platform itself enables agility, it is important the development organisation behind the platform is agile.
To illustrate, the LCNC platform I’ve been working with offers the option to use automations or bots (backend scripts) to provide features not available in the standard platform. If no existing automation or bot can handle a specific use case, the agile development organisation behind the Decision Focus platform will quickly make one for you.
Being responsive to feature requests is a hallmark for the developers behind the platform.
Integration with other systems
Another criticism of LCNC platforms are their limited data integration abilities. This hasn’t been a problem on the LCNC platforms I have been working with over the years, but I do agree with the sentiment: a good LCNC platform should absolutely provide a comprehensive API that enables third-party programs to access it and vice-versa.
Empowering your clients
So what about the citizen developers? Do business people actually start configuring their own systems? Well, it depends.
Most of my projects starts with me and/or my colleagues configuring the systems or pre-built modules. Initially, clients mainly define requirements, request changes to pre-built modules, and provide feedback on our configuration changes. However, once they become comfortable with the platform, they often receive some training and start doing their own simple configurations.
This client empowerment can progress to the point where they independently build systems, with the option to consult me or my colleagues on more complex configurations.
If you haven’t introduced your clients to LCNC, you are letting them down – lift them up instead.
Dan Mygind is a computer scientist, journalist and author. During his IT-career, he has climbed up and down the software stack working as a developer, consultant and IT-architect. As a journalist and blogger, he is keenly interested in technology, tech-related businesses, and the transformative effects that source code (and especially compiled/interpreted code) can have on society.