Could new software tools make anyone a programmer?
In today’s world, new enterprise software requirements are constantly emerging, driven by business realignments, regulatory changes, new device types and more. We always seem to need more software, but that can cause problems.
Software development can be expensive, labor intensive, architecturally complex, and time consuming. It’s traditionally a one-way play: programmers take the “requirements” of their user base, then happily disappear to cut code based on their preferred and perceived view of the needed solution.
This model for building software is efficient enough, but it risks reducing user input: feedback from those who can solve particular business problems but may not understand how to build the required software. This dynamic paved the way for “no-code” and “low-code” software platforms and tools.
There’s a pronounced difference between the two approaches, with the hint quite in the name.
No-code software suites provide users with a visualization layer that effectively abstracts all lower-level coding mechanisms and features into a drag-and-drop interface. Intended to be used by business people to create fairly sophisticated workflows and even new application functionality, no-code correlates a given set of software processes and presents them to users in a sort of clever Lego box that specifies how the pieces can be connected, potentially encouraging. them in a certain direction.
Low-code software operates quite a significant step higher than no-code software. Intended for use by trained developers with scientific knowledge of programming, it offers shortcuts, predefined functions, component accelerators, and reference architectures against which programmers can design their next applications or data services.
Whether low-code or no-code, any software shortcut system must have process controls in place to ensure applications stay within the realm of established governance and compliance regulations.
“Organizations need to make sure their low-code platform has built-in controls and standards,” says Malcolm Ross, vice president of product strategy and deputy CTO at Appian, which offers a low-code platform. complete code and the corresponding software tools. “Whether it’s health data, financial records, or personal information in question, you need to make sure your provider meets global regulatory standards. Otherwise, you risk staff developing solutions that don’t meet your IT governance. »
By embedding controls into their low-code platform of choice, companies can avoid the specter of dangerous “shadow computing,” where applications are built outside of the view of central IT management, Ross says. He insists that platforms in this space must adhere to industry standards when it comes to regulations such as the EU’s General Data Protection Regulation (GDPR) or the US Privacy Act. health insurance portability and accountability (HIPAA).
“Teams in an organization can then build the solutions they need, while IT managers have peace of mind knowing their standards are being met. We know that data can sometimes sit in silos. But with diligently executed low-code, a business has the ability to get a unified view of their data in a single, accessible, and compliant solution,” adds Ross.
Two sets of tools
In the low-code software market, two main types of technology platforms are emerging. First, there are dedicated low-code specialists who develop tools to speed up programming, including Appian, Mendix, and OutSystems. Second, there is a new generation of low-code platforms that are attached to existing cloud software companies: ServiceNow, Salesforce and Microsoft are not pure-play low-code companies, but the low-code tools of these companies offer customers an additional level of freedom. to innovate, self-customize and prototype as they try to solve their own problems.
The broader benefit of technologies like ServiceNow Creator Workflows, Salesforce’s low-code offering, and Microsoft Power Apps is that these vendors won’t necessarily need to support every conceivable user-created feature. It also helps customers because they don’t have to rely on vendors for maintenance and support.
“No-code tools can take a lot of the hassle out of software development. They also make it much more accessible,” says Dr. Holly Cummins, principal software engineer at Red Hat, a software developer founded on the principles of open source, now part of IBM.”With the right tools, anyone can build software and build it quickly. The catch is that these types of tools are better suited to certain types of simple tasks, like filling out forms and simple approval workflows.
While no-code tools make things easy, they can also make difficult things harder. Although no-code systems are more accessible to people who aren’t software engineers, Cummins notes that in some ways they’re less accessible to software engineers, who may find that their usual tools and professional practices don’t work. not when they have to agree with the offer without code.
“Most developers will tell you that typing code is only a small part of their skill set. Managing interactions with other software, making updates seamless, and catching weird bugs is where the big intellectual work happens,” says Cummins.
Disadvantages of development
But there are always potential weaknesses. All software tends to become brittle over time, Cummins notes. This is especially true for some low-code and no-code shortcut systems, which are usually tightly locked to the parent platform.
“This can make the resulting applications harder to maintain and harder to integrate with other, newer systems. It also makes them more difficult to understand and monitor. As it matures, the software industry begins to feel the weight of its past,” says Cummins.
The bottom line is that no-code and low-code software will always come down to the trade-off between performance and flexibility over simplicity. As we now embrace the layers of abstraction in these software development tools, it is important to remember that application flexibility itself is not a factor of software code. It depends on our ability to understand, interpret and manage the blocks of code we work and create with.
With the right enabling constraints, we can use no-code and low-code for a better competitive advantage for everyone. As for seasoned programmers, they can focus on building even more complex model resolutions, which they can ultimately compartmentalize further into abstract toolsets. Order a bigger pizza, dear software team – you’ll need it.