Throughout my career, I lived through—and survived—many IT reorganizations designed to streamline the organization and optimize the application-development process. Some were successful, and some…not so much. In one of these reorgs, for example, application programmers merged with the business analysts, and everyone walked away with the title programmer/analyst. The concept was that, with new technology, there was no longer a need for two distinct roles, since analysts could do their own programming, thereby reducing the development cycle considerably.
To stay employed, programmers would have to learn the business, and analysts would have to learn the new technology. The year was 1990.
As you may surmise, the technology I was referring in this example is low-code. Low-code software has been around for decades and, with every re-emergence, the expectations are high. A hype cycle graph for the multiple lives of low-code would probably look like a repetitive loop.
There are very good reasons for management teams to pursue a low-code development strategy. By minimizing, or even eliminating actual code development, system development should be simple enough for everyone to build their own applications. The process eliminates communication between functional experts and programmers, minimizing any confusion or ambiguity as to requirements. As a bonus, it also reduces the number of expensive technical resources involved in the process.
While the approach and benefits are conceptually sound, historically, non-technical professionals have not adapted well to building their own solutions. Today, new generations of college graduates entering the workforce (with significantly higher levels of technical skills than their predecessors) are much better equipped to take on these challenges—enabling companies to realize the benefits of low-code.
Different types of low-code
Low-code software is a tool. Like any tool, it is only effective if it is being used to solve the problem it was designed to solve. While a trim hammer might look like a smaller version of a framing hammer, you would not want to install delicate trim around your house using a framing hammer—trust me on this point.
As low-code technology evolved through the decades, different products have developed to solve different types of problems. Most of these products are effective when it comes to developing applications with minimal code, but like using the right hammer, you need a product that is designed to support your specific objectives—or you might have a lot of errant hammer marks around your delicate trim.
For the purpose of this article, we will look at the recent advancement in low-code known as enterprise low-code. Enterprise low-code platforms offer a more strategic approach to application development with a higher level of functionality than traditional low-code solutions.
Enterprise low-code platforms provide a more robust and disciplined method to application development than earlier versions of low-code by providing the capabilities to build enterprise software, not just simple apps. This is accomplished using a modeling engine and platform services that work together to flexibly create a declarative model within the development platform. What is critical with this approach is that a single data model is created and maintained across all of the individual applications to not only create an application, but rather to create a set of applications that work together, functionally operating the same way (and most importantly) on a single, consistent data model.
Let’s look at these points individually.
Modeling engine and platform services
These days, all low-code software can utilize services to connect to other applications and functionality. An enterprise low-code platform not only provides its own set of platform services supporting varying types of critical functionality, but these platform services are also designed to work with the platform’s modeling engine to dynamically provide parameters on how the functionality should be employed for different business cases.
For example, effectivity is a service offered in a typical enterprise low-code platform. This functionality is important because effectivity rules vary widely across enterprises for different types of data —think CAD models, engineering bills of materials (EBOM), manufacturing bills of material (MBOM), technical publications, and others.
Since the functionality is included in a platform service, the modeling engine can be used to define business rules for different scenarios at the same time. For instance, date-based part cut-over for factories in China and serialized part cut-over at other factories around the world. This simplifies the environment for deployment, manageability and upgradeability, which drives down costs while simultaneously providing greater flexibility and agility to the business.
To take this one step further, with platform services the same functionality with different rules can be implemented in various applications across the enterprise system. This will produce the same look and feel for users, and makes training and change-management easier. Furthermore, as your software vendor implements enhancements to platform services, the improved functionality will automatically be leveraged across the whole enterprise with minimal effort.
A single, consistent data model
In my experience, most serious data-quality issues are rooted in data with different definitions, authored in different applications coming together to create—well, a mess. This is an issue that earlier low-code solutions often propagated into their organization. While users appreciated the freedom to easily build their business applications, there were also other users creating their own apps with their own data definitions for the same information. Multiplied several times over, a lot of conflicting data was produced, leaving frustrated users across the organization to determine which information to believe.
The enterprise, low-code solution improves this issue significantly. As different applications are built across the organization, they are all defined in the platform’s modeling engine, ensuring consistent data definitions across the enterprise. Consistency comes in the form of data types, length of a field, or even more critical, the relationship data has to other data. This feature alone saves an organization many hours of data cleanup and reduces the risk of much larger issues such as product failures or supply chain breakdowns from bad data.
Low-code comes full circle
While it may be interesting to look at the different technologies that have come and gone over the past decades, I find it more interesting to analyze a technology that has repeatedly recreated itself by improving its capabilities to align with the industry over time. Low-code as a concept comes with a rare, undisputed business case that is often hard to find. With the recent development of enterprise low-code platforms, the bar has been raised by offering these expected benefits without the limitations or pitfalls of early versions of the approach.
Bruce Bookbinder is the product marketing manager with Aras