The classic caricature of a software developer a hoodie-wearing, twitchy nerd. Bathed in the glow of a monitor, they grapple with arcane, complex digital runes that only they understand. Somewhere in the future, if you're lucky, this high priest of code might just spit out a spell that lets you track customer engagements more accurately or streamline your sales workflow.
Increasingly, though, the art of software development has opened up to less technical types. Thanks to low- or no-code development, today's programmer is just as likely to wear a suit and manipulate a computer using flowcharts.
Low-code development tools have gained a lot of buzz in the last couple of years, but the concept isn't new. It first emerged in fourth-generation languages (4GLs) in the eighties. This promised to replace the complex code of third-generation languages like C with drag-and-drop GUI-based languages that people could use to bolt together their programs. This evolved into rapid application development (RAD) in the nineties.
These tools have evolved over the years, becoming faster and more functional. They have also become less proprietary, with more recent offerings supporting outputs that are compatible with multiple languages and systems rather that tying themselves to a single vendor's framework. Unlike most RAD tools, modern low-code tools also support cloud and web applications rather than client-side software alone.
There is a blurry line between low-code and no-code development tools. The former typically still need some input from professional developers to flesh out the final asset with extra code. Even the most accessible low-code tool will usually need a modicum of technical know-how, or at least the willingness to learn. Conversely, no-code is entirely drag-and-drop based.
Low code pros and cons
These tools have their pros and cons. On the plus side, they make IT more democratic, so that business managers can get involved in the code they create. They also help to deal with the skills shortage plaguing the software development business by encouraging input from non-developers.
On the downside, they can lead to badly-designed programs that don't follow a company's cybersecurity or code quality principles. Unleashing business managers with tools like these and no guidance can lead to a Sorcerer's Apprentice scenario, where 'citizen developers' create armies of half-baked programs that duplicate functionality and do the same thing in non-standard ways.
Many low-code programs also have limitations. They might be useful for specific use cases but customisation options can be limited, so they might not be able to handle niche projects with specific requirements.
Creating a low-code strategy
These drawbacks needn't stop you from using low-code solutions in your organisation. Handled properly, they promise some valuable productivity benefits. The key is to pick the right projects for these tools and not to simply throw them over the fence to non-technical users.
Ideally, a low-code strategy would use these tools to help gather and evaluate requirements from non-technical staff more accurately and completely early in the process. Those employees could then work with developers to fast-track their requirements into executable code. It would be done using a set of standards developed internally that help govern software production.
These tools could also create reusable foundational components handling tasks like security and governance that codify these standards, leaving business and development staff alike to work on the interesting stuff.
The chances are that there's a place for at least a little low-code functionality in your business, and it exists in more tools than you'd think, including Microsoft's PowerApps, for example. It might just accelerate automation in your company while giving users newfound input into how their software works.