Why we should take the time to question low-code’s utility

low-code.jpg

Everyone loves getting more done while doing less. If this wasn’t the case we wouldn’t have robot vacuums, voice assistants, washers and dryers, and many more machines that make our lives so much easier. So why not make software development easier? That’s the promise of “new” concepts such as low-code and no-code and precisely why they are gaining so much attention from business owners today. 

Low-code is not a new concept though as we have been minimizing the amount of code we write for decades now. I remember my early days as a coder when we were excited to see the latest release of Microsoft Foundation Classes (MFC) which made it so much easier to build our Visual C++ apps. 

As software development has matured over the years the levels of abstraction have increased and as a result we don’t have to write as much code. This is seen in web development today as we constantly dance with configurations—bundling and managing a variety of packages in an effort to reduce how much code we actually have to write.  

The promise of Low-Code Application Platforms (LCAP), like Salesforce and ServiceNow, is to further increase the levels of abstraction to a point where you simply develop applications via drag and drop and nearly eliminate syntactic coding. They do this by providing robust platforms and tooling that offer the proverbial kitchen sink for application development and service delivery.

Sounds great, right? In concept yes, but in practice, it’s never quite that easy. 

The platforms can be dizzying

With many of these platforms, you can easily get lost. There are so many services, tools, processes, licenses, and ways to seemingly solve the same problem it’s easy to get confused. For example, with ServiceNow you have offerings such as Flow Designer, IntegrationHub, Form Designer, Portal Designer, and so much more. Each leading to a deeper level of features and functionality. 

An additional concern with these platforms is the proprietary nature of each solution. The methods and components from ServiceNow are different from those of Salesforce and from other low-code providers. This natural lack of consistency across providers limits your ability to change course and often results in long-term vendor lock-in. 

As these platforms continue to grow to meet market needs their ability to maintain currency may also diminish. Similar to how startups remain nimble while large corporations struggle to navigate change, the ability of these platforms to meet the speed of industry may be limited. The underlying technology may lag behind the more agile open-source community and your teams may find themselves stuck with feature limitations or aging frameworks under the covers.   

Finding skilled resources can be difficult

Low-code platforms will tout their ability to enable rapid application development with ease and simplicity by using pre-built components and workflows. However, someone still needs to be uniquely skilled with their platform, understanding just how to jigger and adjust their widgets to make the machine whir.  

Given the complexity and uniqueness of each low-code platform, finding skilled people to work with the particular solution you’ve selected can be a challenge. Many of these technologies are new to the market, having only found traction in the last few years. Finding anyone with significant real-world experience may be difficult. Add to this the fact that these platforms are constantly evolving and you have a recipe for limited options and delayed delivery.  

You will also need to understand the tradeoffs when it comes to implementing an enterprise low-code approach and the challenges associated with your workforce. How will you upskill your existing resources? How will you find staff to augment your delivery with sufficient experience? Will your existing developers embrace the concepts of low-code and pre-packaged solutions or will they scoff that it’s not “real coding”? You may find that Angular, React, Java, and other popular language/framework programmers will seem in abundance when compared to finding low-code candidates. 

Delivery may be costly

Cost complexity is another factor to take into account when deciding on a low-code solution. While traditional software development leans heavily on open-source frameworks and libraries, low-code solutions can quickly become expensive. What you might save in delivery timelines may be surpassed by costs of the platform. It’s important to understand cost structures and which components you really need for your solution as well as the long-term costs to support and maintain its lifecycle. Keep in mind these costs are also an investment into a particular product which results in tighter coupling and a degree of vendor lock-in. 

Limits to pre-built functionality

In many ways developers are artists, wielding lines of code to create solutions that solve real problems. Low-code platforms may limit that creativity and in some respects create cookie cutter designs with limited functionality out of the box. This is similar to the problem created by website building tools such as Squarespace where every business’ web presence looks the same and in order to create additional functionality you have to add custom code. The more customization and code you add the more you move away from the purpose of low-code solutions. 

All is not lost

With everything that has been mentioned so far it must mean that low-code solutions should be avoided at all costs. That is not the case though. Low-code can be a smart choice depending on your business needs and particular applications that you want built. For instance, if you need to build basic applications for back office business needs or simple enterprise applications such as service catalogs or help desks it may make sense to go with low-code options. However, if you are looking for more unique capabilities or user experiences then low-code may be more binding and frustrating. 

When considering the utility of low-code as an option for your enterprise it should not be a binary choice. It is not a panacea for all of your software development ills and is not a one size fits all solution. Mixing traditional development and low-code capabilities may often be the most efficient and effective path forward. Take into consideration low-code’s limitations and potential impacts and analyze how it might fit within a hybrid enterprise application development environment. Like any tool, it should be regarded for its intended design and not used bluntly beyond its purpose. 

Previous
Previous

One Thing You Should Never Forget When Evaluating Emerging Technology

Next
Next

See the Results of a Real-World Automation Use Case