Citizen Developers and the Rise of Low-Code Software Tools
It’s often said that “software is eating the world.” But the way it’s happening is a surprise: instead of an ever-growing army of professional software developers laboriously writing procedural code, more applications are being developed quickly using low-code tools that automatically generate most of the code for an application.
The widespread availability of these tools has given rise to a new cadre of so-called citizen developers now building applications. It’s even common for professional developers to employ low-code tools to build applications faster. After all, not every application warrants the time and effort required to build it using procedural code. Low-code tools thus reduce development times and simplify even an experienced developer’s work.
The decision whether to employ a professional developer or enable a citizen developer is, of course, loaded with tradeoffs. But given the cost of hiring and retaining professional developers, it’s clear citizen developers are filling a vacuum using a variety of both low-code and no-code tools. Ultimately, these tools support organizations’ digital transformations by allowing DevOps teams to create and deploy software at ever-faster cadences while allowing them to concentrate on work that makes the best use of their skills and talents.
A Quick History of Low-Code And No Code
Low-code platforms didn’t spring up overnight. They trace their IT lineage back a few decades to rapid application development (RAD) tools. From the 1980s, 4GL tools were early examples of low-code tools. Most of these failed to stand the test of time, as applications developed using those tools did not scale well. Moreover, at the time, a lot of manual effort was still required to test and deploy applications.
At its core, a low-code platform has two basic components: a graphical user interface (GUI) is layered on top of some type of underlying programming language employed to automatically generate code. Low-code platforms starting around 2014 differ from earlier generations in that the core programming languages are more robust, the user interfaces are more accessible to a wider range of developers, and the entire software development lifecycle (SDLC) including testing, deployment, and documentation has become much more automated. In this way, the once separate domains of software development and IT operations have merged into unified DevOps teams whose practitioners not only write code but test, document, deploy, and maintain it using sophisticated automation tools.
As a result, Gartner forecasts the worldwide low-code development technologies market will be valued at $13.8 billion this year, which represents a 22.6% increase year over year. Gartner also predicts that by the end of 2025 half of all low-code platforms will be purchased by business buyers rather than IT departments, with on average 41% of employees outside of IT customizing or building technology solutions to varying degrees.
Where Do Citizen Developers Come From?
The number of available low-code platforms has exploded in recent years. At one end of the spectrum, there are standalone tools that make it possible to build applications that span multiple platforms. At the other end are tools tied to one platform, such as a specific software-as-a-service (SaaS) platform. As these tools have become more accessible, the overall size of the developer community has expanded. A new generation of so-called citizen developers has arisen, made up of end-users who tend to have a specific area of domain expertise. While they generally don’t have much awareness of best practices for building applications, they typically have enough acumen to employ a GUI to create an application that addresses a specific need.
For example, an end-user working in the life insurance industry can now create a workflow application without the aid of a professional developer. This capability enables departments within an organization to digitally transform a process without waiting for a centralized IT organization to make a developer available — or burning budget dollars to hire their own developer.
The citizen developer is thus a new class of power users. In much the same way an accountant might employ macros within a spreadsheet to create an application without thinking of it as programming, citizen developers use GUI to construct more complex applications.
The Merits of Professional vs Citizen Developers
The rise of citizen developers doesn’t appear to be having much impact on the demand for professional developer expertise. While citizen developers may have enough expertise to build a workflow application for their own department, most of them don’t have enough of a background in software development to build one that can scale across an enterprise. As the number of users of an application increases, there are best practices that professional developers employ to ensure the application will scale. There is also a range of security issues to consider, such as the need for role-based access controls (RBCS) and multi-factor authentication that are beyond the ability of the average citizen developer to address.
What has changed is how frequently professional developers work with low-code tools to build applications faster. Most professional developers generally prefer to work with procedural code that allows them to express concepts and ideas at a granular level, authoring each line of the final code themselves. But many applications they are asked to build are not especially complex. These typically involve some type of existing paper-based workflow that needs to be automated.
Faced with increasing backlogs in their development workload, many professional developers have concluded it’s simply more expedient to build many of those applications using a low-code tool that automates much of the code-writing process. Every minute spent building a relatively simple workflow application is another minute that could be spent building another application using procedural code where it will make a difference. Development teams could, of course, ignore all those requests for low-level applications, but they know this could prompt a citizen developer to try building the application themselves, creating an app that the development team will likely have to fix later anyway.
Professional developers are also motivated to defend their turf within an enterprise. Lines of business within an organization that grow impatient with centralized IT teams can easily hire outside contractors to build applications for them. In many cases, however, professional developers working for a centralized IT team will not be familiar with the development platforms those contractors employ. The result, from an IT perspective, is a growing class of applications built and deployed as a “black box” that locks an organization into another platform outside of the organization’s IT department’s expertise. By using low-code platforms they know and support, development teams can deliver more applications to the organization themselves rather than leave it to someone else — inside or outside the organization — whose work they’ll be expected to support later.
In an ideal world, of course, low-code platforms foster a level of collaboration between end-users and developers that wouldn’t have been possible otherwise. Professional developers typically don’t have a lot of business acumen. A low-code platform makes it possible for a citizen developer to at least visually describes the intended outcome. It’s then up to the professional developers to decide whether to construct an application using a low-code platform or employ procedural code as they best see fit. There are low-code platforms, for example, that enable professional developers to drop down into procedural code whenever they deem necessary, letting them combine the best of both programming models.
This collaborative approach also future-proofs applications better. A low-code tool may seem easy and its output disposable at first, but almost every application over time becomes larger and more complex, pushing the capabilities of low-code tools to their limits. Developers don’t want to be surprised to discover where that boundary lies in the middle of a project. They want to keep their options open.
There is no shortage of low-code tools now available, with more on the way. Just about every major provider of a SaaS application platform provides low-code tools that developers of varying skill levels can employ to make the most of their individual platforms. At the other end of the spectrum are low-code tools from providers such as Mendix, OutSystems, and Appian that make it possible to build low-code applications spanning multiple platforms.
Again, these tools come with tradeoffs. One of the primary benefits of employing low-code tools from a provider of a SaaS platform is they’re more deeply integrated with the underlying database platform on which those applications are built. But applications built using those tools will only run on that one platform. From the customer’s perspective, they are then locked into that platform. By contrast, low-code tools that span multiple platforms are dependent on application programming interfaces (APIs) to programmatically access data. They may not be as deeply integrated, but APIs make it simpler to move applications should the need ever arise.
Organizations as a result are now spending a lot more time evaluating low-code platforms before committing to one versus another. The decision is not always entirely left in the hands of the business unit.
The most immediate impact of increased reliance on low-code development tools is that for both better and worse, the number of applications being deployed continues to increase, often at an accelerating rate. That acceleration has significant implications for everything from how organizations staff IT service desks to the need to embrace best continuous delivery (CD) practices.
Most obviously, each application deployed will inevitably generate more support calls to a help desk, so the cadence at which new applications are deployed must be carefully paced. IT organizations must also worry about the potential impact additional API calls will have on the rest of the application environment, as more devices and servers communicate with one another more often.
No application is an island in a modern IT environment — applications often have unseen dependencies on one another. A simple change to one application can have an unexpected ripple effect across an IT environment today.
At the moment, it’s clear that low-code platforms have the most profound immediate impact when citizen and professional developers collaborate. However, as more application development processes become more automated, the nature of that collaboration will continue to evolve. A new generation of citizen developers is graduating from schools that are technically savvier than their forebears. Many new college graduates outside of computer science are already familiar with programming languages such as Python, for example. That experience provides them with a greater appreciation for what’s really required to build and deploy an enterprise-class application.
At the same time, application development environments are becoming more automated thanks in part to the rise of artificial intelligence (AI) technologies. The day when a citizen developer will be able to express their intent via a speech interface, resulting in an application being automatically constructed for them, is not all that far away. The application may need to be finetuned once it’s constructed, but with each successive development project, the platform will come to better understand what’s required for its applications to properly integrate into the organization. In many ways, training an AI platform isn’t that much different from training a junior developer.
These AI platforms are unlikely to replace the need for either a citizen or professional developer anytime soon. More immediately the total pool of developers of varying skill levels will significantly increase in coming years. Many of them will not have college degrees in computer science that they spent four or more years earning. Instead, they will rely on emerging development platforms to guide them through building a robust application that is both secure and accessible.
Reinventing Business Process Management
Organizations that employ the next generation of low-code tools will be inherently more agile. Instead of requiring weeks or months to adjust to dynamically changing business conditions, an organization will be able to onboard a new supplier in a matter of hours. Conversely, shipments that are in transit could be redirected en route. The number of exceptions to any set of business rules that an organization can make will grow much higher, making them more responsive to the unique needs of any customer.
Digital business transformation will no longer be misperceived as an event but embraced as a continuous process. Eventually, business executives will be able to interact directly with no-code applications that enable them to create or alter business processes on a platform intelligent enough to continually make optimization recommendations. A development team will have provisioned this underlying platform while ideally, the developers themselves won’t need to be involved most of the time.
Development teams themselves will be able to build, deploy and support additional applications without having to hire an additional headcount. The types of individuals who comprise those application development teams will change, as more employees with business expertise become viewed as type of developers. Whether those development teams will report to a line of business or up through a centralized IT team will be up to the organization to decide.
With the need to accelerate digital business transformations in the wake of the COVD-19 pandemic, a new era has arrived. The attention given to how applications are built and deployed has never been greater. Organizations across the board are trying to simultaneously increase both the speed of development and the number of projects being launched. The three primary enabling technologies are the cloud, low-code development tools, and soon, AI.
Just as importantly, those applications will be continuously enhanced as organizations finally harness the business and technical expertise of their employees without needing an army of senior software developers.
The economic implications of this emerging capability are nothing less than profound. Organizations slow to adjust to this new IT reality will find themselves unable to compete against more agile rivals who provide superior customer experiences. IT vendors who don’t provide a way to make their platform accessible to a wide range of types of developers — some who may never write a line of code — will likely fade to irrelevance, or even be outright discarded.
Those that do rise to the challenge will look back to today as the seminal moment when almost every aspect of IT utterly changed. For now, it’s only that not everyone appreciates the extent to which these changes have already occurred.