Disruption is the buzzword of the day, and no industry is safe from it – not even the ones culpable for changes in everything from how you get your daily news to booking a flight. Those working in the software and mobile access industries already argue about the pros and cons of native versus hybrid mobile development, but what if there was another option?
Low code environment development is not a new concept, but it does add a third side to the discussion between native and hybrid development (or a new problem, depending on whom you ask). Whether you are a native purist or a fan of simplification, one thing all can agree on is that out of the box thinking can lead to innovation, which is good for everyone.
Most discussion regarding "low code development" revolves around the idea of empowering end users to build their own apps. Sentiments like this tend to scare the IT crowd, with only 26 percent responding positively to the idea of their users building their own app in a 2017 Salesforce survey1.
But it might be the future, regardless. Forrest Research estimates a market of about 15.5 billion in low code development platforms by 20202; added to that is the high demand economy we currently live in, where customers expect solutions yesterday. Hand coding is time consuming and difficult, not to mention costly. And there are some positives to low code that are causing professional developers to see the brighter side of things.
Look Ma, Low Code Development!
Low code, as the name implies, is the concept of developing an app with little to no code involved. Using a drag-and-drop interface, users can create simple applications like a content management system or a management dashboard out of widgets and solve a need that they used to have to reverse engineer out of a set of Excel spreadsheets or a third-party option. It’s often described as being similar to Legos, with users moving around building blocks to achieve their desired end goal.
The platform is already being widely adopted; companies like Shell and 7-Eleven are using low code environments to automate tasks that were handled previously using cumbersome options like massive spreadsheets. Developing customer portals and making sales data accessible from mobile devices are just two of the potential solutions low code can provide; these days, Shell only writes its own code “when it aims to differentiate with intellectual property or to develop services that may yield a competitive advantage,” according to Shell Downstream CIO Craig Walker in a 2019 CIO interview.3
And low code isn’t just for the big guys; UK-based startup DrDoctor developed a notification system to remind patients of upcoming appointments and also allow them to confirm or cancel on the spot. According to AppDeveloper Magazine4, National Health Service hospitals that partnered with DrDoctor have seen £1-3 million in savings per year, plus a 50% decrease in phone calls and 40% decrease in no-shows.
But what does low coding offer the professional developer? Let’s take a look at the pros and cons.
How Low Code Helps
- Quick: Just like frameworks and templates, the wheel doesn’t need to be reinvented. The basics are there, allowing either a power user to start fitting pieces together as needed or for an experienced coder to really dig into the deeper work of their particular side of the business, giving them an opportunity to truly innovate. Low code can lessen the time between concept to proof, which also can potentially create more wiggle room in the budget.
- Low maintenance: Since the building blocks are already in place, IT can focus on the bigger picture items instead of attending to a million demanding tickets or auditing computers to ensure everyone is running on the same software. Users are empowered to fix their own problems, and when the application is the same across the enterprise, IT already knows that users aren’t looking for third-party solutions, potentially lessening future technical debt.
- Aids communication: Business users, like it or not, are part of the development process since they are the ones who provide IT with requirements. So much gets lost in translation when trying to identify a need and figure out the technical fix to fit the bill, but when explanations are visual instead of verbal, it’s easier to figure out a solution.
How Low Code Hurts
- Proprietary: Low code is, at its heart, a subscription service. This means you are paying for someone else’s product, even if it makes your in-house services faster in the realm of time from concept to proof. It also means your IT department might get locked out of seeing what is under the hood, which means you do not really know what a specific call might be doing or if there is additional lag due to some hidden inefficiency.
- Restricting: What you see is generally what you get with most on-the-market low code environment platforms. If you need something that the low code platform offers, great. If not, you might be out of luck. Connecting the new platform to legacy systems can be a potential hassle. And even if there is some level of inherent customization, a lot of it may need to come from coding at some point. It also may be difficult to switch from one vendor to another or scale a product if needs are suddenly lacking.
- Training needed: Along with the lack of customization or the need to be able to code to augment the core package, it is not really fair to say that “anyone” can use this particular platform. Some technical know how is required, and sometimes additional training is useful in order to make the most out of what money is spent.
Artificial Intelligence
It’s worth mentioning that artificial intelligence (AI) is being touted as another aspect to the low code movement; this aspect can help users with suggestions for workflow problems and in deciphering a solution for various issues, such as challenges of integrating semi-structured and structured data sources.
Some vendors have even added branching conditions, exception handling, and many other situations that, according to Jason Bloomberg at Forbes5, required professional developers to hand-code in previous situations.
But can AI remove a developer from the equation entirely when it comes to developing a new application?
On the contrary, there’s a greater demand for experienced coders than ever before; the U.S. Bureau of Labor Statistics reports that demand for software developers will grow 24% between 2016 and 20266. If anything, AI will help augment a human coder’s abilities, but it is not yet evolved enough to replace a human coder with the ability to develop unique solutions for particular problems.
A Fix or a Headache?
Of course, low code is not a cure all for every software problem out there, no matter what the marketing slogan. We’ve seen this attempted solution before in 4GL and RAD in the 1990s and 2000s, but this iteration of the “easy code” attempt seems far more grounded than before. With projections stating that this market will only get bigger, and with the introduction of AI as a backbone to potentially bridge the gap where there are not any professional developers, low code environment development is turning app development on its head.
But will it stay? Bob Reselman of TechTarget believes it’s just another flash in the pan like it’s predecessors.
From where I sit, most companies do not want to accept a few basic truths about making software, he wrote in a 20187 article regarding low code. First, making software is expensive. Second, when it comes to creating code, even the easy stuff is hard. Third, no matter the amount of visualization or automation a tool provides, anybody coding really needs to understand what’s going on behind it all.