In the enterprise, no code makes about as much sense as no developers

What does a modern application development platform really look like?

Paid Feature How do you imagine the ideal software development process? Is it a virtuous circle, with products and features moving swiftly from ideation to production with feedback built in, leading to constant improvement? The reality for many organizations is more like a vicious circle.

Two years of pandemic-induced disruption has only reinforced the importance of multi-experience and customer journeys when it comes to attracting, onboarding and retaining customers. But this has piled pressure on development teams to speed up the delivery of products and features – while ensuring customers don’t fall between the cracks moving from one platform to another.

At the same time, organizations are trapped in a bruising battle for developer talent. CompTIA figures showed US tech employment listings hitting 360,065 in October, a jump of 76,000 on the previous month, with almost a third of those vacancies being for software developers. In the UK, research by recruitment firm Robert Walters showed a 130 per cent rise in development vacancies [PDF] in the first half of 2021.

This, anecdotally at least, is translating into surging salaries and accelerating staff turnover. And whenever you lose a developer, that vicious circle pulls just a little tighter and nastier.

Making matters more complicated, those sought after, expensive, and highly trained developers are often required to work in an almost handicraft way, as OutSystems director of analyst and customer research, Nuno Borges, explains. The pressure to deliver means in-house teams often make mistakes or shortcuts.

In their hunt for talent, companies may turn to contractors or specialist firms. But this creates further problems, as they will have their own preferred methodologies and tool sets. As Borges says, “the IT industry has become very professional at creating gurus in particular technologies.” But when they move on, their preferences are hardwired into your systems.

The problem proliferates, he continues, as companies look to work across more channels, more quickly. That bit of hand-tooled code in the website portal becomes an even bigger problem when you need to replicate the functionality in your mobile app.

And so, technical debt insidiously clogs up the IT systems, choking innovation, and forcing highly skilled software engineers to spend more of their time on maintenance and less on innovation.

But enterprises DO need code

It’s no surprise then, that low-code and no-code platforms have surged in popularity. The broad low-code market is predicted to grow 23 percent in 2021, Gartner has predicted, while Low-Code Application Platforms (LCAP) in particular will grow 30 per cent this year to $5.8bn.

One of the promises of low and no-code, is the ability to create “citizen” developers, from the business rather than tech. After all, they understand the “business” and the problems it needs to solve better than anyone. Or so the logic goes.

But it’s one thing giving a neophyte the tools to automate a repetitive process or accelerate their own personal productivity tasks. It’s quite another to ask them to create, say, apps in a highly regulated banking environment AND ensure they are GDPR compliant, AND ensure they’re cognizant of the data regulations wherever that app may be used. Now let’s throw nuances of the mainframe and ERP systems at the backend user experience considerations into the mix.

According to Borges, this is why it’s important to distinguish between a no-code and low-code platform, and a full-featured modern application development platform, which is specifically designed to help enterprise developers do their job faster and better.

OutSystems philosophy for its application development platform is to help organizations use their existing skill sets to deliver a broad range of use cases. It does this by increasing automation and code reuse and offering guidance where experienced developers may need it. It also acts as a collaboration platform, so that non-developers can contribute meaningfully to projects, and have appropriate tooling to do so, but with developers in control.

Also central is OutSystems component-based approach, allowing developers to combine, reuse, and version components, saving a lot of time from building every inch of an app from scratch.

A key part of this approach is the Forge, OutSystems open-source marketplace, where developers can find reusable modules, connectors, components, and even fully working apps for different use cases, like an Employee Onboarding or a Field Service Management Web backend and Mobile app with voice integration. Developers can use these components as they are or evolve them as much as they want to fit their needs.

When it comes to multi-experiences, OutSystems promotes the reusability of experience components through what it calls an Experience System framework. So, developers and UXers can work together to build experience components once, such as UI and visual elements, behavior, logic, data, and integrations, and reuse across different touchpoints in different interaction modalities.

So, for example, components such as payment, and integration with enterprise systems, could be common underlying elements for an organisation’s mobile and voice apps, while the UI elements would necessarily be different. Creating or refreshing apps across different touch points or channels then becomes a question of changing or creating the top layer components, rather than the whole stack.

“Our aim is to accelerate the full cycle by reducing or eliminating the handovers - for example, from dev to test,” says Borges. “In practice, this means that if you have an idea, you can develop it, you can push into production. And if users want to register an improvement, they can submit it, and it will feed back through the system”.

He acknowledges that developers can be a tribal lot and may be highly attached to particular tools or methodologies. But it’s incumbent on the company to keep its platform open and connect to whatever tools a client wants to use. “If the customer has that investment, we will join in with them without any problem.”

At the same time, while many conference speeches focus on how DevOps and CI/CD accelerate development and increase the cadence of releases, Borges points out that this is irrelevant for many parts of the enterprise stack.

“If you have a big ERP system in the backend you cannot evolve that system. No one is going to do a weekly release on a big backend SAP system. It would be crazy to do that.”

OutSystems has no ambitions to replace the monolith at the backend, whether it’s a mainframe, an SAP system, or Oracle database, he says. “As long as we can create the connectors and the APIs to go and fetch data and interact with it, we will create on top of it and break the monolith piece by piece.”

This is not simply a matter of creating a UI layer on top of a legacy system but rather “creating an application that uses data from multiple systems and creating a new user experience.”

As for locating those connectors or APIs, developers can turn to the OutSystems’ Forge.

So, for example, US diagnostics testing firm ARUP used the OutSystems platform to roll out a Covid testing portal in four weeks, using just two developers and two testers, something that would have taken up to nine months using a traditional approach.

AI want to help you

Creating those new user experiences increasingly involves AI, according to OutSystems. “We make use of AI extensively in two areas. The first is AI-augmented applications, enabling developers to use AI for image or language processing in apps built on the OutSystems platform, for example to capture customer service information. As Borges says, “You can extract all of that information from chatbots.”

OutSystems is also using AI to directly increase developer productivity, by analyzing code, spotting flaws, and addressing other elements that could hold back the application from reaching production. This helps guide less experienced developers, by saying: “Don’t go there, that’s the wrong path for you to follow.”

For more experienced developers, the benefit comes from automation rather than guidance. For example, when mapping a data record to a form the system will spot what the developer is doing and say: “You’re associating a customer’s VAT number, do you want to add other info such as name, and address, and repeat for other records?”

“It automates something that developers are doing every day,” he says. This could save a developer 30 seconds, but these gains build up – just as technical debt builds up on the debit side.

The underlying AI was developed by anonymizing all the code developed on the OutSystems platform, then analyzing it to understand the actions that developers took. The technology also extends to design options, which are not just customizable but fully changeable: “If someone wants to create a prototype, and a live application and use that - great, it's done. You want to change it, you can change it. You can erase it and create it by hand.”

These actions feed back into the platform’s architecture dashboard which monitors all of the programs and modules that are in production. Currently, the dashboard identifies more than 60 patterns and non-compliance to best practices.

An update next year will add the capability to refactor code. For example, if the system spots that multiple people are using the same piece of code, the dashboard will suggest a new module that will improve maintainability and observability, and go ahead, create it, and subject it to the customer’s test automation regime.

This focus on AI for accelerating development is a factor singled out by Gartner in placing OutSystems in the leaders’ section of its LCAP Magic Quadrant, along with its capability to “enhance developer productivity”, amongst others.

Developer productivity is the crucial takeaway. The developer drought will not ease any time soon. The US Bureau of Labor Statistics predicts that demand for software developers will increase 22 per cent from last year to 2030.

Organizations can work towards creating that virtuous circle of swiftly deployed applications by better directing the skills of the valuable technical people they already employ. Or they could bank on turning accountants and marketers into developers. And we know what happens when square pegs are forced into round holes.

Sponsored by OutSystems.

Biting the hand that feeds IT © 1998–2022