When does Low Code make sense ?
“Low Code” or “High Productivity”
Platforms like Mendix and Outsystems are often called “Low Code platforms”, but High Productivity platforms might be a better name. They cover the whole process such as agile project management, managing the project team, stories and releases, the “Low Code” development part, the DevOps of building and running the application, combined with an extensive toolset for Continuous Integration / Continuous delivery and single click deployment.
Because in these tools data modeling, the design and building of User Interaction and processes are closely integrated. Low Code platforms are best suited for situations that require user interaction & data handling and processing. If you decide to go for a Low Code platform, you benefit most when staying within the boundaries of the tool. This would be the short answer to “When to use”.
My son’s favorite tool is a chainsaw. Because it is so powerful and fast. And maybe because it makes a lot of noise. Does that make him use it for everything that needs to be cut into pieces? Off course not.. Likewise, there are use cases where High Productivity is not your best answer. When you need to meet cutting-edge technology requirements, ultra-high volume/performance transaction processing etc. you will probably be better off building it with tools and language designed for that purpose. Also when it’s not about systems of differentiation and an “off the shelf” cloud solution is at hand, you’re probably better off not building it yourself – low code or not. This would then be the short answer to “When not to use”.
… short feedback loops and the out-of-the-box integrations help you build value-adding solutions swiftly
A closer look into the typical use cases
Let’s have a look at four typical use cases for low code. These are applications for Innovation, Operational Efficiency, Customer Engagement, and Legacy Migration.
Low Code platforms support you in “build fast, fail fast” innovative apps. With rapid visual modeling, there’s almost no need for handover from analysts to designers to coding. Because of being “cloud native” and the integrated CI/CD pipeline, iterating in short feedback cycles comes naturally. It allows you to deploy new versions, and get feedback faster, with minimal IT-operations effort and it lets you scale cloud resources corresponding to the success & adoption of the app. Furthermore, platforms like Mendix come with a large ecosystem of integrations and adaptors to all kinds of cloud services like IBM Watson, SAP Leonardo, Google Cloud Services, and Amazon.
Customer Engagement & Operational Efficiency
These are the natural habitat for Low Code platforms. With WYSIWYG page building it is easy to build a UI/UX that meets the expectations of customers and employees, while with the process modeling you still connect these UI’s to the same process “code”. Again the short feedback loops (integrated CI/DC, Cloud deployment) and the out-of-the-box integrations help you build value-adding solutions swiftly.
When I started with low code, I would not have anticipated adding this category too. But indeed, a platform like Mendix can help you strangle your legacy applications. By taking – one piece at a time – pieces of functionality out of your legacy system (or landscape), and redoing it as a Microservice to replace that piece of legacy. We all know this evolutionary approach (aka Strangler Pattern, Fowler 2014) has a much better chance of success than a big bang legacy replacement. For this use case, a platform like Mendix will help you with their data mapping & import tooling as well as an elaborate set of integrations to 3rd party solutions. Also here the rapid development by means of visual modeling and the short feedback cycles contribute to the successful strangulation of the legacy components.
So it’s just Halleluja?
We’ve already seen that High Productivity platforms are not the solution to all use cases. But there’s another caveat. The metaphor with the chainsaw can help again. Once you get the reward of the first tree, falling gracefully at your feet… you want to move on to the next and the next… But at the end of the day you’ve left behind a mess of trees that still need to be trimmed and chopped and you might find out that a different way of organizing your work would have made life much easier at the end of the day.
The speed in which High Productivity platforms allow you to build solutions that are value-adding from day 1, combined with a growing role for non-IT skilled “citizen developers” brings the risk of creating a whole new legacy of new monoliths, Low-Code Spaghetti and “Microservices in Name Only”. No problem if you intend to build throw-away apps with a one-year lifespan. But if you want to replace your IT legacy with newly built Low Code solutions this is definitely not what you want.
Just do it, but don’t stop using your mind
Above we have seen that High Productivity platforms can be a solution for several different scenarios including legacy replacement and building new core services for the enterprise. We have seen that it does not make much sense to use High Productivity platforms to build solutions that could be bought on the market or require very specific high-end technological solutions.
Because of the speed and because of the many uses for High Productivity platforms it is even more important to think about the companies architecture, the decomposition of your applications and services, the way they integrate, and the guidelines that lead your developers to robust and maintainable solutions instead of creating a new generation of legacy. So get started with High Productivity platforms and do not stop using your mind.