Rethinking Low-Code: The Thin Line Between Flexibility and Costly Customizations
Francisco Almada Lobo
CEO at Critical Manufacturing | Industry 4.0 specialist | Hiring MES, Automation, Sales and Software Engineers
In the ever-evolving landscape of software development, low-code platforms have emerged as a game-changer, offering an enticing solution to some of the industry's most pressing challenges. Particularly, they provide a promising avenue to address the serious shortage of software developers and the need for domain experts to contribute more directly to solution development.
In particular with regard to the use of low-code as an extension of functionalities of base platforms, such as ERP, CRM or MES, we must be very critical in the analysis, and ask ourselves if what we are doing is allowing domain experts can finally cover the small percentage of functionality missing from corporate implementation or adapt to the natural evolution of requirements dictated by the business, or whether we are simply making excessive customization much easier (and dangerous!).
But let's start at the beginning.
The rise of Citizen-Developers
It is not very easy to find reliable statistics on the shortage of software developers. But for example, the US Bureau of Labor Statistics estimates that the number of software developers, QA and testers jobs will increase 25% from 2022 to 2032, which translates into more than 150K openings projected each year, on average, over the decade.
With the demand for software development exponentially increasing and outpacing the supply of skilled developers, low-code platforms have risen to prominence as a strategic response to this imbalance.
By simplifying the development process, these platforms enable 'citizen developers' - individuals without formal programming training - to create and deploy software solutions. This democratization of development empowers a broader segment of the workforce to participate in digital solution creation, effectively widening the pool of talent that can contribute to software development.
According to Kissflow.com, low-code is nothing short of a true revolution, as the following statistics show:
But low-code promises more than a simple extension of the development workforce. One of the significant advantages is the direct involvement of domain experts in the software creation process. Everyone in the software industry has had contact with the disconnect between those who understand the problem (the domain experts) and those who know how to build solutions (the developers).
With low-code platforms this gap can be bridged, allowing domain experts to apply their expert understanding of business processes directly into the development or extension of software solutions, making them more accurately tailored to business needs, with the potential of improving both efficiency and effectiveness.
In addition, low-code platforms offer rapid development capabilities. Businesses can respond quickly to changing market demands or internal needs, drastically reducing the time from concept to deployment. This agility can be crucial in a business landscape where speed often translates to a competitive advantage.
Risks and Challenges of Low-Code
For ages, IT professionals had concerns about so-called shadow IT - systems and solutions built and used inside organizations without explicit organizational approval and IT control, leading to potential security risks, non-compliance issues, and challenges in data management, among others.
And now, depending on how powerful the low-code systems are, the very accessibility and ease of use of these platforms can lead to a number of challenges.
With the ease of use of low-code platforms, there's a risk that companies, particularly the less mature ones, might undertake development without sufficient planning or understanding of best practices, leading to a proliferation of poorly designed applications or modifications that are difficult to maintain and scale. In addition, the pure lack of standardization leads to inconsistencies in how applications are developed, creating a fragmented IT landscape within the organization, with potential security vulnerabilities and integration challenges.
But even beyond these, the proliferation of used low-code platforms increases the risk of potential for short-sighted developments, built around quick fixes or short-term solutions without considering long-term implications, leading to more significant problems down the line.
领英推荐
To mitigate these risks, organizations should act in four main ways:
Low-code as an extension of Enterprise Systems
Using low-code in extensions of base platforms, often enterprise systems such as CRM, ERP or MES, brings specific challenges.
In a recent conversation with an analyst, he confided in me that the community of vendors and analysts defended for ages the imperative need to carefully select the best solution taking into account the specific objectives of the industry and segment, in order to maximize out-of-the-box offering and minimize customizations; and that now with low-code they were simply saying "use low-code and make whatever extensions you want however you want", and that they were basically saying "and then you're on your own".
Maybe it’s not that extreme, but the fact is that low-code is actually customization. Depending on how it’s done, it can be a bit more controlled than pure high-code customization, but still customization.
And the challenges are still there. First the compatibility issues: customizations, even those done via low-code platforms, can create dependencies that complicate future upgrades of the base system. If not carefully managed, these customizations might break or require significant rework when the underlying system is updated. Beyond this, frequent, unplanned customizations can accumulate technical debt, making the system more cumbersome to upgrade or scale over time.
As such, the mitigation measures are similar to the ones for the broader sense low-code: establishing robust governance frameworks, defining standards, best practices, and oversight mechanisms for low-code development; investing in training and educating staff on principles of good software design; performing regular audits and reviews of the customizations and applications developed; and collaboration with vendors to understand the implications of customizations on future upgrades.
No-code – configuration on steroids?
The terms are often used interchangeably, but no-code is not the same as low-code. For definitions and more in-depth analysis, this blog by IBM explains it well: Low-Code vs. No-Code: What’s the Difference? - IBM Blog
Essentially, low-code is a method of rapid application development (RAD) that streamlines coding through the use of intuitive visual interfaces, such as drag-and-drop elements and dropdown menus, enabling the automation of code generation, allowing users to focus more on unique application features rather than basic programming tasks.
No-code is also a RAD approach and is often treated as a subset of the modular plug-and-play, low-code development approach. While in low-code there is some handholding done by developers in the form of scripting or manual coding, no-code has a completely hands-off approach, with 100% dependence on visual tools. They allow users, often business analysts or domain experts, to tailor the application to their needs without writing code. This might include creating new workflows, forms or other user interfaces, reports, or dashboards.
We can look at no-code in two ways. On the one hand, they are a type of low-code, in which simplicity has been taken to another level, and therefore allows people even less versed in programming to create extensions or applications through intuitive interfaces and visual tools, focusing on simply adding functionality and creating value for the business. On the other hand, it is a kind of application configuration "on-steroids", with much more flexibility and power than normal configurations.
But it is this more advanced configuration aspect that is the real interest in no-code in the context of platform extension or enterprise software: it is not about customization, but configuration. Therefore, they are solutions that extend functionality, without creating maintenance and upgrade difficulties; without constituting technical debt, and without security or non-compliance risks.
Conclusion
Both low-code and no-code platforms are designed to minimize the reliance on conventional coding techniques. However, they cater to different user profiles and achieve this goal in varying degrees.
Low-code platforms have revolutionized software development by offering solutions to the current developer shortage and empowering domain experts to contribute directly to software creation. While these platforms bring numerous advantages, they also require careful governance to mitigate risks associated with extensive customization. The key lies in striking a balance between the autonomy provided by low-code platforms and the rigors of standard IT governance and software development norms. As organizations find this equilibrium, low-code platforms are poised to significantly influence the future of enterprise software development.
In many cases, especially within MES, ERP, or CRM systems, no-code development acts as an advanced form of system configuration. It provides a straightforward method for non-technical users to tailor and enhance the system's capabilities to suit their specific processes. This approach comes without the significant risks and governance complexities associated with the more powerful low-code options, and is a practical and cost-effective option for many businesses.
AI is going to solve some of these issues as well. Actually, it already is.
H U M A N & INDUSTRY 5.0 FOUNDER
7 个月Francisco Almada Lobo thank you for your article. Have you already met INDUSTRY 5.0? https://www.youtube.com/watch?v=luQRihdApRw
Engineer|Not to waste precious energies on recriminations about the past
7 个月I even think that a good set of mes doesn’t require any customization at all. It's a crazy idea, but the chaos that customization can bring is hard to estimate. Adding some basic script macros is enough. Many requirements come from ignorance. Instead of coming from AI, many solutions come from ignorance rather than experts. Can you imagine the benefits that companies would gain from converting these costs into ESG use.
Intriguing perspective on the low-code movement; it certainly sparks a debate on whether we're streamlining processes or just setting the stage for a different set of challenges in the software development realm.