No Code / Low Code & Digital Transformation

“Build a system that any fool can use, and only a fool will want to use it.”

Suvashish Dasgupta [VP – Engineering]

Coming from a software development background, this was my first reaction when I heard of NO CODE / LOW CODE platforms. After all, to build a reasonable, non-trivial application you must understand how databases work, how systems communicate over networks, how to scale, secure and monitor it etc. right? Add to that the fact that systems evolve in complexity over time. A real working application is rarely the same proof-of-concept demo that was built to get buy-in for developing the application in the first place. How would these platforms mature to handle the increasing complexity demands of the customer; more importantly, how would the ‘not-so-deep-technical’ folks that these platforms cater to build the expertise to ‘look-under-the-hood’ that is often necessary to support an application over an extended period. My initial impression was further corroborated from some sales pitches I heard which talked of using low-cost, junior developers to quickly build these applications on these platforms. High productivity at low cost, the perfect recipe that executive dreams of.

My initial impression received a jolt when I recently received a spreadsheet with some complex calculations and a summary view, along with a simple query – can we implement this in Low/No Code platforms?

As I scanned the spreadsheet, my thoughts went to the person who created it. The spreadsheet had raw data, lookups, formulae, and a summary view with an analysis of the data – some of the typical elements you find in a software application. Yet, the person that created it was most likely a business or domain expert in the field for which the raw data had been complied, not a software engineer. My mind went back to similar spreadsheets I have seen in my professional journey; from finance and sales teams creating deal reviews to program managers creating project capacity and other plans & metrics. Most of these ‘super’ spreadsheets were in fact ‘applications’ in their own limited ways. And they were not built by programmers. Can you imagine the time and effort it would take to pass on the domain knowledge contained in these spreadsheets to a generally skilled software developer, get them to build it, test it and then use it. Forget about having to reach out across organizational boundaries to prioritize this amongst a host of other activities the software development teams already have in their queue.

Which brings us to the first distinguishing aspect of the LOW CODE / NO CODE movement. You don’t necessarily need programmers to build applications, and an approach to LOW CODE / NO CODE using junior developers to build applications is probably flawed. LOW / NO CODE is for business teams, domain experts and the like to quickly build focused applications for their needs. Low Code / No Code platforms must enable the business users to develop point solutions much the same way as spreadsheets do today. That’s where the success of this initiative lies.

If we agree to the above, it leads us to the following question: we have had powerful spreadsheets and people have been using them for years and have developed significant expertise in them. Why change?

One reason is that spreadsheets are inherently static. The raw data is probably sourced from a variety of systems, physically entered in the spreadsheet by a human. In a dynamic, fast paced eco-system, the data may nearly be obsolete by the time it is collected and entered in the spreadsheet or by the time the spreadsheet is circulated and reaches its target audience.

Spreadsheets also involve manual data entry, which often tends to be error prone. Having a system that can automatically ingest raw data directly from source systems improves the reliability of the data. You may not be able to eliminate manual data entry altogether, but using simple out-of-the-box integrations that come with the Low Code / No Code platform. You may also be able to turn on approval workflows and audit trails for the use case being served..

One of the arguments we have heard for Low Code / No Code is that in today’s world, we often have a need to build fast and short-lived point solutions which will serve their immediate need and go away. Well, I am in partial agreement with that point of view. Yes, you often need to build simple solutions fast, but once you have deployed something into production that actual users start to use, it usually takes on a life of its own and is very hard to de-commission anytime soon. We have seen this in action in the Covid times – a number of systems & applications sprung up in a short period – from vaccination tracking systems to flexible workspace solutions, these became widely used, but they will continue to be used into the foreseeable future. When systems are put into production use, they typically need to evolve over time. No one gets it exactly right the first time and you learn from that usage and improve it..

This is another aspect where a reasonably mature Low Code / No Code platform will score over the spreadsheet-based approach. As much as the Low Code / No Code branding may seem to convey, under the covers it is still very much code in the form of configuration that you are dealing with. Code has certain advantages – it’s life-cycle can be managed using Version Control, its quality can be assured using modern day review and testing techniques, and it can be re-used in other places.

This brings us to the key set of features that a mature Low Code / No Code platform should be able to provide a.k.a. source code version control, workflows, integrations with external data sources, and audit trails. You should take this into consideration when deciding on your Low Code / No Code platform strategy..

There has been substantial discourse over the three phases of digital transformation: Digitization, Digitalization and Digital transformation. Low Code / No Code is a key ingredient to that last phase. It brings about empowerment and democratization of application development beyond the traditional IT organizational boundary. However, there are human aspects that need to be considered for any technological innovation such as Low Code / No Code. As they say, every solution brings with it a new set of problems that require solving. Low Code / No Code is no different – if we recognize its power and fit and use it accordingly, we will all do well.