Is Low-Code Development a Threat to Software Engineering?
Low-code development platforms (LCDPs) – a term first coined by research firm Forrester in 2014 – provide an environment for programmers to create application software through graphical user interfaces and configuration – like drag and drop – over traditional computer programming, which can often require millions of lines of code. The platforms’ capabilities ‘enable rapid delivery of business applications with a minimum of hand-coding and minimal upfront investment in setup, training, and deployment.’
Existing in five subcategories:
- General purpose platforms;
- Process app platforms;
- Database app platforms;
- Request-handling platforms; and
- Mobile-first app platforms
LCDPs developed as a response to widespread automation of business processes, they can provide a solution to the growing need to create custom applications in volume and at speed to cater for an organisation’s ever-changing technological demands.
With at least half of all new IT business applications being created on low-code platforms by 2020 and a market worth estimated to reach $15.5bn, it would be fair to assume that LCDPs – given their flexibility and ease of use – will continue to disrupt traditional software engineering as we know it. Arguably however, given its infancy, low-code development may not be all it’s cracked up to be. We therefore assessed the pros and cons, so you can decide whether it’s right for your business needs.
Benefits of Low-code Development Platforms
If we’re talking about velocity, LCDPs can enable the delivery of new apps in a fraction of the time it normally takes. Rather than spend the manual effort coding an app from scratch that is made up of common features and components, low-code platforms let developers work from existing templates. This means you can drag pre-built elements, forms, and objects together quickly to deliver a basic, but functional app for a particular department or team in a short turn around.
Problems that are unique to a company, need a unique solution. Depending on the platform, LCDPs can meet this need and allow a tailor-made approach to building specific use case applications rather than investing in a more general product that is more costly and either offers too many redundant qualities or not enough to be of use.
LCDPs can be used by those with minimal programming knowledge which allows non-technical staff members to build their own applications to meet their needs without any or minimal input from the IT team, especially if the latter are overstretched. But equally, this could be seen as a disadvantage.
Low-code platforms are designed to serve both technical and non-technical types of users at once, which empowers more people to create the software tools they need to do their jobs more effectively.
Ease of iteration
Low code offers fast, iterative delivery of business applications. People can quickly get to a point where they see if an idea or proposed solution is on the right track, often by co-creating models or prototypes with end users. At that point, you can test, refine, and deploy fast, or discard an idea before expending too much time or effort on it.
The low code development world is a fast growing space and therefore attracting investment, as such, there is lots of competition to offer the best and most cost-effective platforms which might serve to improve quality and bolster innovation.
Software innovation is iterating rapidly – the rate of progress means you have to run just to keep up – and with it, a need for quality engineers (the most in-demand tech professionals at present) which is creating and perpetuating a talent and skills gap. LCDPs enable upskilling quickly and efficiently that allows for this divide to be somewhat mitigated, by creating a wealth of citizen developers that can focus on delivering the less technical components of a project or product.
Businesses can reduce their investment in application development, deployment, and training. While the features of LCDPs don’t directly affect or eliminate the need for coding, they help streamline and speed up development and delivery time meaning less money spent on both people and process. These features also increase developers’ productivity and redirects their time and resources into building applications, ensuring that you get more for your money.
Disadvantages of Low-code Development Platforms
LCDPs write insecure code and therefore can create opportunities for hackers. Having non-technical users also may create vulnerabilities. Citizen development comes at a price – namely the risk to security, data governance, and integration – unless it can be managed as an integral part of the business’ wider ecosystem. It’s worth remembering that this risk comes with a price tag nowadays, namely 4% of your company’s turnover, thanks to the new GDPR legislation.
Corporate data is also accessible through mobile which increases the risk of a security breach. 74% of businesses have experienced a breach caused by mobile apps containing malware, security vulnerabilities, and unsecured Wi-Fi connections.
Vulnerabilities can however, be protected against (or at the very least mitigated) by reinforcing your code base with custom code that improves functionality and security and by continuously modernising the software ecosystem.
Low-code platform suppliers report an average concurrent user base of between 200 and 2,000 users. There are some that operate at ten to twenty times the size, however LCDPs can only scale if they are if built to do so, subject to functional and cost limitations, as well as customer configuration, of the product.
If you need a LCDP to scale, you have to be careful which one you choose and also commit. For example, application design and development teams should use LCDPs for limited, specific use cases to begin with. If those platforms can successfully scale up to larger applications, portfolios, and multiple use cases, the product is worthy of investment in people, technology, and process. Failing that, the LCDPs should only be used for prototyping, departmental apps and other limited purposes.
According to Rob Marvin, Assistant Technology Editor at PC Magazine who recently tested the top five LCDPs, generalisation is a problem. He believes that multiple user focus means LCDPs can’t work perfectly for everyone and causes problems when the platforms need to cater to two categories of users with drastically different skill sets and preferences.
Low-code platforms need to give everyday business users a simple and easy-to-use UI with which to build an app step-by-step in relatable terms and offer comprehensive support along the way. At the same time, the tools needed to simplify the development process for IT while still giving more tech-savvy users a selection of customisation options, plus the ability to pull in things like third-party services, additional data sources, and layer on additional security and compliance. That’s a lot for one platform to do while also keeping everything simple within a unified experience.
Producing an effective mobile app experience requires an in-depth knowledge of UX design, mobile best practices and a solid understanding of business rules and workflows. This can mean that creating apps for the majority ends up being a convoluted process that results in an overly complex output, and thereby defeating the object.
The skills that an engineer and programmer would deploy when coding applications aren’t needed for LCDPs therefore you are missing out on the expertise and potentially restricting innovation. While an LCDP may offer a solution that can be used by those without a technical background, it may not offer the best or most appropriate solution that could be offered by those with specialist skills.
Also, very few LCDPs are capable of delivering applications that demand the highest levels of UX, security, performance, and back-end integration. Which means that it is restricting true innovation that comes from software engineering. While LCDPs help bridge the dearth of developer expertise and accelerate app building, the majority of existing platforms lack the agility and depth to span applications from the simplest, yet powerful, to the most enterprise-grade and complex.
The Future of Low-code Development?
There’s no doubt that LCDPs have a place in the world of development, but is it simply reinventing the wheel? Many attempts have been made over the years to disrupt traditional software development, but few have made true ripples in the sea of engineering. So whether or not the aforementioned LCDP predictions for 2020 come true, therefore remains to be seen.
However, with the emergence of brands such as Mendix and Appian plus software giant’s Microsoft (PowerApps) and Google (App Maker) investing in building accessible LCDPs, it would indicate an uplift in market adoption. This could be to counteract the huge talent gap globally in software engineering, as it provides opportunity for non-technical staff to test their ideas or concepts with real customers much faster, ultimately providing more efficient data and insights prior to engaging an already over-utilised engineering team.
So will low-code development replace traditional engineering? Unlikely, but it could help bridge the talent gap in the mid-term by arming non-technical people with tools to build, whilst alleviating some of the product backlog for maxed out engineering teams.
Whether LCDPs the right call for your business should be decided on a specific use case basis. For more information on LCDPs or traditional engineering overviews, please feel free to reach out to me.