Low-code development is gaining popularity among DevOps organizations seeking ways to streamline processes and speed up releases. Gartner predicts that low-code will account for more than 65% of development by 2024. Low-code platforms aim to simplify software development by giving users an intuitive GUI through which they can create and modify applications with little manual coding. For example, the Salesforce Platform allows low-code developers to create custom applications and automate workflows to meet specific business needs. This has some obvious benefits, including speed and simplicity. It also comes with some drawbacks that you need to consider before jumping headfirst into low-code development. This article will discuss low-code development pros and cons and provide advice for adopting this approach in your DevOps organization.
First, let's look at the benefits of low-code development.
Compared to no-code platforms, low-code offers a greater degree of customization and control. Low-code platforms are oriented toward non-developers, business analysts seeking to automate processes, and tech-savvy users who lack classical software development programming training. They’re great for learning the basics of software development because they give you access to the underlying code that you create via GUI manipulation. As you grow more comfortable with the platform and its programming language, you can do more and more manual code editing to create more customized applications. Essentially, the low-code platform acts as a set of training wheels, allowing you to write code on your own while still having the safety of a GUI to fall back on when you need to.
Teaching non-developers how to write code can also help address the DevOps talent gap that many organizations are facing. Citizen developers can use low-code tools to create basic functionality for specific workloads in their department, relieving some pressure from the development team, who can then take on more sophisticated applications. Some low-code development platforms also offer extensions and API libraries so you can add on more advanced capabilities without coding them by hand. That means you may not have to recruit for very specialized development skills just to add a certain feature to your software, saving you money and getting your software out the door faster.
In addition, low-code platforms make it easier for creative people with great ideas to contribute to some projects that can be built through the low-code platform. Often, a focus on technical details can make it difficult for developers to see the big picture or imagine how a customer would use their software. Low-code platforms give non-coders the ability to create prototypes of basic features and functionality which they can present to the development team, allowing for greater DevOps collaboration and innovation and improving the quality of the end product.
Next, let’s discuss some of the drawbacks of low-code development and ways to overcome those challenges.
In a DevOps organization, low-code platforms can’t replace your development team. Low-code tools can offer a lot of functionality, but they can’t possibly predict or provide all the specific capabilities you need for every development project. And if you want to extend your functionality beyond what’s provided by the platform, you’ll need a coding resource who’s experienced with the platform’s programming language. This is especially true when teams don’t fully understand the limitations of their low-code platform and don’t know they’ll need pro-code support until they hit a wall.
Another issue is that low-code platforms don’t always support DevOps and CI/CD (continuous integration/continuous delivery) best practices. For example, some low-code tools store your code on their servers in the cloud, so you’re unable to use your own centralized source code control. This can also cause problems for secrets management. To prevent this, you need to choose a low-code development platform that integrates with your DevOps CI/CD pipeline and gives you full control over your code. For example, the Copado Platform can integrate with Salesforce to support your Salesforce development projects with testing, version control, and support for admins and developers alike.
In addition, low-code tools create the possibility of changes occurring outside of your defined change control process, especially if the platform isn’t integrated with your CI/CD pipeline. Part of the reason this happens is that non-developers can modify code but may not be aware of DevOps policies and processes for change control. To solve this problem, you should cross-train members outside of the development team on how to follow DevOps best practices for editing and maintaining code. This will empower them to use low-code tools more effectively and contribute to a more collaborative DevOps environment.
The most effective way to use low-code is as a supplement to traditional pro-code development. That means utilizing low-code templates and GUI tools for easy, repeatable, and tedious tasks, but then having professional developers come in for the workflows that require more expertise and creativity. Although there are some challenges, like managing code in multiple places and coordinating features, using low-code tools in this way can help you save time, streamline your DevOps pipeline, and release high-quality software faster.