Depending on who you ask, there were between 19 million and 24 million software engineers in the world in 2019. Although the numbers are projected to creep up over the next few years, warnings of a lack of skilled coders continue to be sounded.
This reflects the inexorable growth of software, whether delivered on premise or through multiple clouds, both private and public. Where once business processes were managed through analogue technologies, digital is increasingly dominant – often ubiquitous.
This reliance on software and engineers does however pose a challenge to businesses. While the broader aspects of business can be handled through major application suites, every company has unique functions that general-purpose software cannot fulfil. For example, a business may need to update the user interface of a legacy application.
The problem is that whether a business contracts the work to a vendor or asks an in-house engineer to handle the task, customisations are pricey and time-consuming. The economies of scale that vendors enjoy with widely-used software packages don’t apply, while your IT team is a scarce resource facing many mission-critical demands.
Filling a development hole
To address this problem, IT vendors are increasingly promoting ‘low-code’ or even ‘no code’ platforms. As implied by the names, these require minimal tinkering for customisations to be made, with users working through visual interfaces rather than hammering out code.
How realistic is the promise of low-code?
The advantages are myriad. Instead of re-laying the foundations each time, IT teams can start with the project halfway complete and make whatever changes are necessary. The result is that development times are slashed, sometimes from months to weeks. And the sooner that an application is launched or a software upgrade is rolled out, the sooner businesses and their customers can benefit.
Even better for engineers, some projects can be entirely removed from their to-do list. With the right low-code platform in place, customisation can effectively be delegated to non-technical colleagues. So-called ‘citizen developers’ with scant technical know-how can drag and drop pre-made blocks of code into place to make the customisations their employer needs. Such users can make adjustments to software and even roll out micro-apps largely without bothering their IT teams.
As with many benefits of automation, this frees up engineers to work on higher-value projects for their businesses. IT teams, which are hard-pressed at the best of times, will be less distracted by minor requests from their colleagues and can focus on innovation and digital transformation initiatives.
Low-code also offers an opportunity to a less technologically educated demographic, opening the software development industry to those who are creative and visual, but may lack the exposure, experience, structure and mathematical skills required to be a traditional developer.
Help from your friends
As important as it is to keep your software engineers happy, drawing on a wider code-base has broader benefits. Using low-code platforms effectively outsources certain elements of development to vendors, including security. All new code is likely to have vulnerabilities that rushed developers haven’t considered, while customisations built on low-code draw on vendor updates and community fixes.
With such platforms there is a risk of vendor lock-in that customers should be aware of. However, many low-code platforms are available on a subscription basis and are agnostic when connecting to other software and hardware.
As well as ensuring broad compatibility, professional developers will also want low-code platforms that are extensible so that they can add further functions to any application. For example, a custom application created by non-technical users might need to grow beyond the limits of drag-and-drop customisation. In this scenario, developers might need to draw in data from backend applications into a single workflow application that is mapped to business processes.
Low-code platforms that enable such extensions will require software development kits (SDKs) that work with software environments like Java or programming languages such as C#. The platforms should also be DevOps friendly to support agile practices for the rapid iteration of new versions with minimal reliance on code.
How to achieve agile DevOps: a disruptive necessity for transformation
Engineers will also be keen to prevent non-technical users from unwittingly accruing technical debt that a specialist will have to pay off in the future. The risk of this when many colleagues are making customisations is considerable, so considering integration is a key focus in a low-code platform.
Low-code platforms excel at application development but not integration, usually offering only a brittle integration interface. The more integrations required by a business process – for example, onboarding of new staff or customers – the more problems this will cause as IT systems grow in complexity.
Many organisations will try to address this problem by asking their developers to code connectivity, but it’s a devil’s bargain. Whatever has been won in speedy application development is lost in the time-consuming, hard-coded, point-to-point integration needed to link disparate systems together.
Getting better all the time
Using low-code or no code platforms to create software tailored to each businesses’ needs is going to become increasingly popular. The research firm Gartner has predicted that the approach will account for two-thirds of enterprise application development by 2024.
The benefits of the approach are clear, with application development made more accessible, cheaper and easier. So long as those who adopt the approach ensure the new solutions can connect with existing architecture, businesses can reap the rewards.