Mid May I posted a blog on RPA (Robotic Process Automation - https://bankloch.blogspot.com/2020/05/rpa-miracle-solution-for-incumbent.html) on how this technology, promises the world to companies.
A very similar story is found with low- and no-code platforms, which also promise that business people, with limited to no knowledge of IT, can create complex business applications.
These platforms originate, just as RPA tools, from the growing demand for IT developments, while IT cannot keep up with the available capacity. As a result, an enormous gap between IT teams and business demands is created, which is often filled by shadow-IT departments, which extend the IT workforce and create business tools in Excel, Access, WordPress…
Unfortunately these tools built in shadow-IT departments arrive very soon at their limits, as they don’t support the required non-functional requirements (like high availability, performance, concurrent usage, security…) of a business and its development often lacks good IT practices (like source code management, controlled deployments, usage of test environments…).
Low and No-code platforms (also called Rapid Application Development Platforms) aim to find a compromise between the high standards of applications delivered by IT departments and the high flexibility and quick delivery speeds of these shadow-IT departments. On the one hand they can be a tool for IT programmers to become more productive and more business-oriented (i.e. focus more on added-value business logic), while on the other hand business people can develop more powerful business tools, while respecting more the existing IT standards. The concept is however not new, but merely an evolution of other productivity tools, aiming to give more power to business users, like e.g. BPM (Business Process Management) tools.
Obviously such platforms are a sort of holy grail for business organizations. No wonder that dozens of software companies are putting this type of platforms on the market.
The most known Low-code platforms (i.e. rapid development platforms, where still some coding is required) in the market are:
Mendix
OutSystems
Microsoft PowerApps
Salesforce Lightning
Thinkwise
Zoho Creator
Appian
while the most known No-code platforms (i.e. rapid development platforms, where coding has become nearly obsolete, i.e. build an application without writing a single line of code) are:
Airtable
Appy Pie
AppSheet
Unqork
Open as App
FileMaker
Kintone
Webflow
Zapier
It is clear however that the boundary between Low- and No-code platforms blurs, with on the one hand No-code platforms becoming more powerful and versatile and providing possibilities to add plugins and add-ons, which are programmed by specialists and on the other hand Low-code platforms providing Studios which allow to create software more seamless and with less code (by drag & drop and parameterization). No wonder that Gartner considers both Low-code and No-code platforms in the same quadrant of Low-Code Application Platforms.
Due to the strong competition in the market and the huge VC-investment pouring in, these platforms evolve rapidly:
Platform vendors providing more and more tooling, like data connectivity tools, React Native mobile apps…
Platforms providing more rich and user-friendly studios which reduce the coding effort
Platforms allowing to convert the development into source code of a common programming language, resulting in less vendor lock-in and allowing programmers to have maximum flexibility
The availability of out-of-the-box integrations with large business software tool (like SAP, Salesforce…), but also with other tools and solutions, like Slack, Twilio, Twitter, PSPs, eCommerce platforms…
Large, well built out user communities publishing all kinds of tools, plugins, integrations, add-ons… which are often open-source and reusable at no cost
The financial services sector, which undergoes a rapid digital transformation, is a strong adopter of these platforms. For example:
OutSystems is extensively used by large banks like GarantiBank, BPI, Santander, Crédit Agricole, ING…
Mendix is used by ABN AMRO (building more than 200 Mendix apps to replace over 600 apps developed in tools like Excel, Access, Sharepoint, Domino, Lotus Notes…) and Rabobank.
Unqork is very popular, especially amongst financial services companies, with customers like The Goldman Sachs Group, John Hancock Life Insurance and Liberty Mutual Group
Open as App is used by Commerzbank
…
It remains however the question if these tools should be positioned as a vital layer in the bank’s application architecture or only as a component to solve specific problems. Some banks would even say that these platforms should only be used for demos, prototyping and MVPs to quickly test out an idea or a business strategy, before they are replaced by a more traditional alternative.
Many banks fear the vendor lock-in of these platforms. Furthermore, it is clear that not just anyone can develop a business application for a bank on those platforms. The developers in the tool still need the analytical skills to model certain flows and business logic in a correct and efficient way.
Furthermore even if a good application is developed in a Low- or No-code platform, it will still need to be integrated in the rest of the IT application landscape, i.e. receiving data from other systems, delivering data to other systems, single sign-on, digital signing…, which requires also a good technical knowledge of the connecting systems. A stand-alone solution is rarely very useful within a bank.
Furthermore with cybersecurity becoming an increasingly important topic within a bank and regulations like GDPR putting extremely high penalties to data security breaches, you still want as a bank to make sure that not just anyone can build a critical application. A good working partnership with the core IT team is therefore critical.
As already explained in my blog on "Abstractions" (i.e.https://bankloch.blogspot.com/2020/02/abstraction-in-financial-it-how-far-can.html), every level of abstraction typically provides higher productivity, but means also a loss of flexibility (as prescriptive choices have to be made). We can consider that No-Code platforms are a higher level of abstraction than Low-Code platforms. As a result No-Code platforms are easier to use (require very little training) and allow higher productivity, but at the same time are considerably less flexible, result in a stronger vendor lock-in (e.g. usually they can only be used on cloud platform of the No-code platform vendor) and usually provide less optimal non-functional behavior (like security or scalability). As a result, they are typically only used for simple (low complexity) applications, which fit well the type of applications for which the No-Code platform was designed.
Given that Low- and No-Code platforms have a high-level of abstraction, it is important to consider if there are not business packages available, which provide even more out-of-the-box value, i.e. where even a big part of the business logic has been implemented. E.g. blogging platforms, e-commerce platforms, core banking platforms, CRM tool, ERP systems…
It should however never be forgotten that ultimately the Low- or No-Code platforms also generate code. It is just abstracted away for the user.
Some platforms use therefore a code generation approach, i.e. the platforms generate source code as a result, which can still be edited. Of course, once you edit it, you can usually not read it anymore in the Low- or No-code platform. The big advantage is however that you can still customize where needed, a better technical performance can be obtained and there is much less vendor lock-in (i.e. application can be maintained in a standard IDE and can run independently of the development platform).
Ultimately there is no single 'golden bullet', 'miracle cure' or one-size-fits-all solution. As a software engineer you need to make choices between time to market, flexibility (to meet current and future business needs), total cost of ownership, non-functional requirements coverage… When favoring one aspect, most often other aspects are penalized. In this scale of choices, Low- and No-Code platforms have an important place, but let’s not expect to throw out our programming languages anytime soon.
Your thought-provoking post about No-Code & Low-Code platforms has certainly piqued my interest. I certainly hope that such platforms won’t hurt the employment prospects of IT developers. Instead, No-Code or Low-code development platform can be leveraged to simplify app development processes.
ReplyDeleteJohn, many thanks for the feedback. Indeed I think No-code / Low-code platforms have their niche, but for really production-grade customer-facing apps, I think these platforms are still a bit too light for the moment.
DeleteI wanted to thank you for this excellent read!! I definitely loved every little bit of it. I have you bookmarked your site to check out the new stuff you post. IT application development
ReplyDeleteAll the apps and mobile websites in theMendix App Storeare built on the mendix platform, and are tested to ensure they deliver the best experience for end-users.
ReplyDelete
ReplyDeleteThank You for Sharing this wonderful and much required information in this post.
Software Product Services in UK
Really informative Blog...Thanks for sharing...Waiting for next update...
ReplyDeleteStruts Training in Chennai
Struts Training center in Chennai
All the apps and mobile websites in the Mendix App Store are built on the mendix platform, and are tested to ensure they deliver the best experience for end-users. Learn more
ReplyDeleteYour blog has helped me understand the many benefits of automated data capture methods for organizations.
ReplyDeleteGreat blog.thanks for sharing such a useful information
ReplyDeleteInformatica Training in Chennai
Great post. Thanks for sharing such a useful blog.
ReplyDeletedot net training in Velachery
dot net training in Velachery
Great post. keep sharing such a worthy information.
ReplyDeleteMobile Application Testing Online Training
Investment is a great way to develop a stronger financial future and a greater chance of gaining wealth. However, it is also evident that investments can also be affected by many national and international economic issues. Learning the basic on investments can help you with your financial goals through the many different personal financial investing options you can
ReplyDeleteFinancial Investment Advice
Helpful blog. Thanks for the post.
ReplyDeleteVideo conferencing API integration Banuba
BUSINESS LOAN PERSONAL LOAN HERE APPLY NOW WhatsApp No:+918929509036 financialserviceoffer876@gmail.com Dr. James Eric
ReplyDeleteNo-code and low-code aren't a threat to developer jobs not now, and probably not in the future, Developers have more than enough to do. There's a huge shortage of them but it isn't agile or flexible enough and compromise between high standards.
ReplyDeleteBusiness Listings