Dev Zone

Low-Code vs. Traditional Development: An Architect’s Perspective

greg-whitten

Just four years ago, I had the mandate to look into low-code and find reasons not to work with it. At the time, I was doing traditional development with .NET. But as my teammates and I explored the OutSystems low-code platform, we ended up finding solutions to the traditional development hurdles we were facing. In the game of low-code vs. traditional development, low-code ended up taking the Iron Throne.

In this blog post, I’ll share my experience of moving from a traditional development environment to low-code while exploring the main differences between the two.

Low-Code vs. Traditional Development: Deconstructing Misconceptions

I’ve worked as a traditional developer for 20 years. Now, I’m part of the first OutSystems partner in Western Canada. And one of the most common misconceptions I hear about low-code is the fear that low-code will steal developers’ jobs because if anyone and everyone has the ability to code with drag-and-drop interfaces, then the need to hire talent to code quality apps is no longer required.

Yes, low-code introduces a shift in the traditional development paradigm, but now more than ever, developers are crucial in a foundation team.

1. Low-Code Developer vs. Traditional Developer

Low-code indeed allows you to build apps rather quickly. But without developers, or at the very least, people with a developer mindset, you’re just on your way to building bad applications at a faster pace.

A non-developer, or citizen developer, doesn’t know why you shouldn’t put a loop within a loop. A non-developer doesn’t understand the ramifications of making poor security decisions. A non-developer won’t be on the lookout for the benefits of proper application composition.

With low-code, there’s a need for developers who are aware of and understand the importance of all the architecture, performance, and security best practices. This development knowledge that you only learn with experience is required to ensure that you maximize the potential of a low-code platform.

Additionally, if you want to incorporate traditional approach components to leveraging low-code projects—which you can do with the right low-code platform—you will need an actual developer.

2. Low-Code Teams vs. Traditional Development Teams

Low-code platforms such as OutSystems are not magic tools that will just generate software in your sleep.

Software development in low-code still requires all the same roles as before, like Product Managers, Business Analysts, Scrum Masters, Developers, and Testers. The significant change is that the same team can now deliver more in the same timeframe than they could with traditional development.

Business value is accelerated, and the delay costs are reduced.

3. Low-Code Development vs. Traditional Development

Considering the pros and cons that go into the development process of low-code and traditional development, it’s easy to identify the main differences between them:

Main Difference Traditional Development Low-Code Development

Coding experience

You are writing lines of code in a development language where you need to know the specific syntax and structure. Switching to a different language can be difficult and feels like you are starting over.

The drag-and-drop interface makes it easier for non-developers, developers, and business users to understand flowcharts. The speed benefit of low-code is massive. I find that I can write code anywhere between 4-10 times faster.

Time consumed before starting a project

To start a project, you need a web server, a database server, and a code repository. You also need to ensure that you are getting all the packages from whatever package manager you are using, and only then can you finally get started.

You’re set up and ready to go with just a few clicks.

Deployment

When it’s time to deploy your application to testing or production environments, they must be set up. This multiplies all that effort of setting up your development environment. Then, you need a deployment plan to manually ensure the correct dependencies are included and up-to-date.

With the OutSystems low-code platform, your environments are set up for you, and creating a deployment plan is as easy as selecting the app you want to deploy. The platform takes care of finding any dependencies that have changed and automatically adds them to the deployment plan, as well as any other apps that are in turn affected by those dependencies.

Reusability

You need to start every project from scratch.

A major advantage of low-code platforms like OutSystems is that you can reuse your work or the work of others. Once a module exists in the platform, its publicly exposed actions and data can easily be referenced in another application.

4. Low-Code Limits vs. Traditional Development

One of the things I tried to do when I first started developing with low-code was trying to find all the signals why I shouldn’t. I was looking for things I couldn’t do with low-code but that I could with traditional development. Then, I quickly realized that there really wasn’t anything I couldn’t do with low-code.

In OutSystems, on the front-end, I can build all of the same UIs that I could do in traditional development. The visual editor has all of the standard elements you need to build web apps, and you can still leverage other languages, like CSS and JavaScript, to create truly amazing built-for-purpose UIs.

On the logic side, you can perform all the same operations with traditional development. You can leverage existing .NET libraries, and you can also integrate with REST and SOAP APIs.

I’m not saying that every use case can be covered with a low-code platform—the scope of low-code use cases will vary depending on the low-code platform—but the same goes for any traditional code development platform.

Sometimes you need to combine tools to get a job done. However, OutSystems, being a high-performance low-code platform, covers pretty much anything you’d do with traditional development.

Getting Started with Low-Code

If you have been a developer for any length of time, it won’t take long before you know your way around any low-code platform. The concepts are all the same, so it’s a matter of learning where in the platform to access them.

It’s like being a chef and using someone else’s kitchen. At first, it will take a bit of time to adjust and learn where the knives and forks are. Maybe, at first, you’ll cook simple scrambled eggs. But once you know your way around the kitchen, a delicious creme brulé is suddenly ready to delight.

OutSystems is a perfect way to go. On the training page, you can find a number of valuable free online courses and guided paths, which make learning the platform a breeze. There’s also an inclusive community of MVPs and Champions who are always available to answer any questions in the forums, and user groups that are hosted around the world, physically and virtually.

Ready to Give High-Performance Low-Code a Try?

I proudly work in the low-code space using the OutSystems high-performance low-code platform at Accelerated Focus. Accelerated Focus is an OutSystems Sales & Delivery Partner that works with companies who are looking to grow, transform and realize the value of their low-code investment much earlier by developing a customer-specific adoption strategy and plan.

Our passionate team focuses on driving platform adoption and delivering innovative digital solutions for industry-leading companies around the globe. We don’t just build apps; we build businesses. Find all about us on our website.

To explore more about OutSystems’, check out Developing with OutSystems or explore the platform page.