Mon, 07/12/2021 – 10:57
No code low code technologies have been invading the software development domain for years but have never lived up to their promises as a robust alternative to traditional software development for complex, business-critical applications. After the pandemic hit the world, the situation forced everyone, an accelerated timetable to migrate analog personal processes to semi-automated or fully automated online processes. At the same time, IT and engineering plans have been thrown into the past as technical teams try to adapt to the new distributed work environment while tackling numerous hairs on fire. As a result, operations and business teams were left with dire needs for new business applications and scarce developer resources, creating the perfect storm for no-code or low-code solutions that could be productivity saviors. But decision-makers should be wary of treating these platforms as a panacea to avoid costly disruptions and wasted time.
What are codeless and low code technologies?
To understand how no-code solutions and low-code solutions fill the gap between business demand for the development and the delivery of technical resources, it is essential to understand what exactly these terms mean. Codeless platforms enable non-technical people to build complex cloud business applications with simple drag and drop tools. Accordingly, low code platforms are also based on the concept of abstraction using pre-built software building blocks focused on speeding up development time by reducing the amount of “source” code that should be written in some random application. Perhaps because of their common DNA, there is a tendency to converge; as codeless platforms become more powerful and versatile through add-ons and app marketplaces, while low code platforms create features that require less coding. Given this trend, we can collectively refer to these platforms as low-code development platforms.
What to look for when evaluating low code development platforms?
As business leaders face the challenges of digital transformation due to limited development and financial resources, they must realize that low-code development platforms are a double-edged sword. If used in the right places and properly configured, they can dramatically reduce time to market and increase productivity. Used in the wrong places or misconfigured, they lead to non-scalable, inelastic solutions, and constant monitoring of applications can drain resources. To avoid the pitfalls of low-code development platforms and use them effectively, carefully consider the following:
Execution: who will take over the execution? Do they have process experience and analytical thinking? Do they have the necessary authority and leverage in the organization?
One of the key benefits of low-code development platforms is the ease of implementation for “civilian developers” (non-technical specialists) or engineers with varying degrees of experience to quickly build and deploy applications that automate business processes. While these platforms are known for their user-friendliness, each has its learning curve before being able to smoothly navigate the platform, especially the more advanced features, which are often the best way to tackle complex use cases. When accounting for implementation costs, decision-makers should consider the hours that it will take for their internal users to “master” the platform, in addition to the hours it will take to build and deploy.
Also, managers should not rely on delegation of execution to younger employees or those who are new to existing processes. A deep understanding of the end-to-end process, including the underlying business logic and connected technical systems, is an important starting point for developing a solid foundation for a solution that is resilient to edge cases and changing requirements. The implementation team then needs to figure out how to model each step of the complex workflow on the new platform. Where literal translation is not possible due to tooling limitations, the implementer will need analytical work to find a workaround that is efficient and reflects the business logic. In addition, this person will need the authority, skills, and leverage within the organization to manage any change effort that arises from the need to adapt processes to an inflexible set of tools.
Finally, consider the opportunity cost of highly skilled and highly paid employees working on implementation using a low code development platform. Particularly for teams hired because of their specialized experience but instead working on deploying low-code applications, the quality and output of critical core work such as relationship management and sales growth can quickly lag behind.
Advancing: what does it mean to add this platform to the tech stack? How wide are its possibilities? What will be the long-term operational and personnel costs to support the growing set of disposable platforms?
By their very nature, low-code development platforms give way in flexibility to simplicity to increase deployment speed. The very design that allows platforms to support rapid development also prevents the platform from adapting to more general-purpose tasks. Consideration should be given to whether the solution is part of the core competence of the organization or is simply a necessary function of the business. Only then will it be possible to choose the right solution and distribute investments. Without this consideration, a business can quickly find itself in a jumble of inadequate, unfinished applications that go beyond the framework of a given development platform, or, even worse, disparate solutions assembled on multiple development platforms.
With each new platform added to the stack, business and development teams need to add another lightweight language to their vocabulary – although no coding is required, the user still needs to learn the commands and logic of each platform. Using multiple platforms for specific processes for day-to-day operations means teams need to be proficient in all of them. This proliferation of tools can easily turn into a hiring and talent management problem in addition to the operational one.
Risk: What are the consequences of downtime? What processes and resources are needed to resolve problems as quickly as possible?
Finally, special care should be taken when considering low-code development platforms for business-critical workflows. Unlike traditional software development, applications built on these platforms do not follow the company’s own IT practices, including code analysis, test environments, code deployment, and often do not provide visibility into what is under the hood. Apps created by inexperienced civilian developers, or even professional developers using abstract tools as shortcuts, resulting in more vulnerable apps that are not easily integrated into the main business system by design.
Therefore, the likelihood that a small change in the upward direction will break something in the downward direction is high. Companies should expect downtime, the extent of which will vary depending on several factors. First, who led the implementation of the low-code application? How affordable are they? How close are they to understand the changes that could have caused the hiatus? Second, how well is the platform at identifying problems in a custom implementation in a way that provides enough context to quickly identify and fix the problem? Many of these platforms are black boxes and it can take a long time to identify fixes. For business-critical functions or external processes for which service level agreements exist, it may be best to avoid low-code development platforms or look for one that provides information more reliably.
Ultimately, the low code and no code movement democratized the world of digital automation to parts of the economy ignored by highly skilled developers. When properly applied and used for their intended purpose, these applications can change the fate of a business, transforming laggards into industry leaders. Used incorrectly, it can cause confusion due to increased complexity and reliance on staff with a broader skillset but not experienced in any one skill. Undoubtedly, the low / no-code principle made it clear that the future is not where everyone learns to program, but where everyone can benefit from it.