Niel Coetzee, Head of Engineering at redPanda Software
In recent years, many South African retailers have come to rely on no-code and low-code solutions which ostensibly simplifies the software development process. While the appeal is undeniable, these methods often trap businesses in a web of unoptimised code, vendor lock-in, and restricted adaptability.
Traditional low-code and no-code solutions may seem attractive at first glance. They promise speed, ease of use, and require less technical expertise. However, lurking beneath the surface are issues that can turn them into ticking time bombs. The code is often suboptimal, resulting in clunky and slow software. While employees might be adept at dragging and dropping low-code and no-code solutions in such environments, they can be left struggling when it comes to understanding or modifying the generated code. The situation worsens when the used tools become obsolete several years down the line or the company lacks internal expertise to perform the necessary modification.
This is where the concept of scaffolding offers retailers the ideal middle ground between low-code and full-blown coded solutions.
Structural approach
Scaffolding overcomes the limitations of low-code/no-code solutions by allowing the reuse of a code structure. When starting a new project, scaffolding injects a predetermined code outline. For instance, in an API-driven world, for example, like the backend for creating promotions, scaffolding provides an outline that consists of the essential components required like folder structures, unit tests, and more. This empowers developers to hit the ground running, focusing on business logic while the ‘plumbing’ or foundational structures are readily available.
Overcoming integration issues
Low-code or no-code solutions often fail when it comes to integrating with other systems. While they may offer speed-to-market, their long-term sustainability is questionable. These platforms have set plugins and integrations that not only come at a high cost but also restrict flexibility. Local retailers, particularly those not able to afford pricey enterprise-level plugins, find it challenging to leverage low-code effectively. Low-code or no-code platforms either don’t support their needs or retailers lack the skills to customise the plugins to their exact requirements.
With scaffolding, we’ve steered clear of such pitfalls. It offers a maintainable and ever-evolving structure. As architects continually update the scaffolding, it remains current, following best practices and accommodating common code enhancements.
Power of scaffolding
The scaffolding approach truly shines in domains or API-rich environments. For instance, creating a stock management API for a retailer under domain-driven design can leverage scaffolding to get the essential structure right, accelerating the development process.
However, like all tools, scaffolding must be employed judiciously. Over-engineering can lead to delays and complexity. The key is to strike the right balance, ensuring that reusability does not compromise project timelines.
As the retail market continues to evolve at a breakneck pace, software solutions need to keep pace. Scaffolding, with its inherent advantages, fits seamlessly into the Continuous Integration and Continuous Deployment (CICD) world, enabling businesses to craft solutions at the very speed of retail.