Ten years ago, Marc Andreessen argued that "Software is eating the world," proclaiming software to be the designated driver of innovation in the digital era. Fast forward to today and we find that the gap between demand for business applications and what corporate IT can supply remains as wide as it has ever been. Efforts have been made to compress the time to value in a variety of ways, principally by rapid application development platforms. Today, these are more widely known under their rebranded monikers of no code and low code. The burning question is this: have these no code/low code delivered on the promise of easily created, rapidly deployable applications? The answer is yes and no.
On the one hand, we see platform-specific examples where low code tools help developers deliver clear value in quick time. Check this story out. Yes, in the context of this article you can argue that it is self-serving but there are many others that tell a similar tale. We invite you to validate them against your own use case.
On the other hand and to date, the underlying promise to democratize software development hasn't happened on a large scale. Quite the opposite: the hype, inflated expectations, and flawed attempts of the past have given some platforms a less than stellar reputation. Why is that, and what has changed to convince us that the next generation of no code/low code platforms makes a difference?
First, it's important to understand that no code/low code platforms come in various shapes and forms and that the targeted use-cases (and personas) vary between empowering non-technical people (aka citizen developers) to develop apps on their own and making professional engineers more productive. These are two entirely separate use cases but equally important to understand is that no code/low code platforms cannot substitute for traditional coding. They can only complement, if and when done the right way.
Fundamentally, it's a question about balancing complexity and flexibility. Despite the perceived promises of the no code/low code movement, no platform can ever remove complexity, only hide it by defining defaults and restricting flexibility. For an interesting discussion on this topic, check out leaky abstractions. Once this fundamental fact of development is understood it's worthwhile identifying value-adding use-cases and only then think about how to best incubate such platforms into the enterprise.
Let's start with the use-cases; it's not about tech-savvy business people building the next killer app, but rather about empowering them to 'scratch their own itch,' or provide small integrations that smooth out the running of a particular process, A trivial example might be linking content from an email system to a CRM system or automatically routing customer-specific messages to an AR system.
In hindsight, the first breed of no code platforms that allowed business people to visually compose applications were over-engineered. Maybe we can file this under lessons learned and that developers building tools for non-developers following antique waterfall methodologies was bound to produce the 21st century equivalent of Henry Ford building faster horses.
We have come a long way since those early offerings. Nowadays if one wants to build feasible, desirable, and viable products, you start with design thinking and with identifying the target personas and their use-cases. An example might look like this:
Hi, meet Patrick, a 30-year-old digital native aspiring to become a leader in supply chain - a great blend of business acumen and digital dexterity. He tinkers with home automation; he can control the blinds from miles away, yet - at work - he collaborates with his colleagues across the globe using... Excel.
With that in mind, think about how to embed no code/low code platforms within the enterprise; once again using a human-centric approach. It needs to be done in close collaboration with corporate IT. While aspiring no code/low code enthusiasts might balk at the prospect, any other model only results in shadow IT and the potential for application sprawl. In those scenarios, quick wins rapidly morph into messy and ungovernable problems that land on the desk of IT. For this to work, IT needs to remain in control, establishing a lean yet scalable governance model, as well as providing the digital foundation. Check Digital transformation? Let's keep it real and do it right for an expanded discussion on this topic.
IT needs to understand and embrace its role as an enabler rather than a gatekeeper because the no code story breaks as soon as citizen developers depend on corporate IT in their daily work. This door swings both ways, as corporate IT does not have the bandwidth to support large numbers of power users requiring help with their fit-for-purpose apps. The long-term incentive for IT is to outsource the development of day-by-day apps. Therefore, IT needs to provide the right data sets, application blueprints, micro templates, and application building blocks plus respective enablement assets to kick-start and safeguard this high-volume no code-powered development movement.
Based on the learnings outlined above, the next generation of no code/low code platforms is on the rise. These new generation platforms serve to bridge business and IT. According to Forrester Predictions for 2021, 75% of all development shops will adopt low code platform. For its part, Gartner estimates that more than 65% of app development will be utilizing low code application platforms by 2024. Both analyst firms also see a trend for what they term 'fusion/hybrid teams,' in which software engineers and business process experts work together to deliver impactful business solutions and applications.
Looking at the benefits of cross-discipline teams as advocated by the DevOps culture, this concept makes perfect sense. To effectively work as a fusion team, enterprises need a collaboration/interaction model that supports two-way engineering. They also need a development process where no code artifacts can be augmented/complemented by traditional coding practices, and where pro code tools are used to develop application building blocks for no coders. This interoperability is critical to achieving the productivity and scalability of no code/low code without surrendering the flexibility required by pro code tools in order to go beyond the usual 80% 'fit for purpose' mark.
If those analyst firms are correct, then we will start to see the dissolving of barriers between the business and IT and, perhaps, a final resolution to the long-running geeks v suits debate that has both entertained yet bedeviled the delivery of applications that users both love and need. But let's be clear: we've not yet reached that happy state.
Ultimately, no code/low code and pro code need to work together to provide productivity without limiting flexibility. Hence, no code/low code platforms that target the enterprise need to provide the means to augment, complement and/or finalize the apps via traditional pro code tooling. While no code/low code may promise relatively easy fixes along with a means to safely experiment, there comes a point where functionality becomes embedded in the business of work to the point that it becomes core to operations.
So - do we believe in no code? Hell yeah! But only in the right context and for that we invite you to sign up for this forthcoming webinar during which we will answer your questions on an important topic that can add value.