Is there place for developers in the low-code world? Enterprise app development with low-code and citizen developers.
There is no doubt that the low-code approach is becoming more and more popular among company owners and business users. It provides businesses with a means for app development that does not require tech skills. For many companies, it is a great way to innovate, level up the business, and save valuable resources.
In this article, I want to share my experience on how a Low-code platform is used for building enterprise apps for large companies. Also, I will try to give an answer to the big question: how do professional developers fit into the low-code trend?
The low-code platform that I usually work with is ELMA365. It is a process-based platform for low-code app development with a variety of starting apps for Document Management, CRM, Projects, Compliance, HR, and more. The platform allows creating business-specific solutions that cover the needs of any business no matter the size.
The approach to business app development. A short history.
Back in the 1980s, FileNet developed software for digital workflow management. It focused on routing scanned documents through a predefined workflow. This system is often said to be the precursor to modern BPM Software that emerged later in the 2000s.
It was 2000 when Gartner started to use the term BPMS, Business Process Management Suite, when referring to certain software that dealt with processes. Gradually BPM software expanded its functionality from management to process modeling, reporting and analytics. It became a huge trend with many vendors offering their products for streamlining and improving the processes.
However, at some point the legacy BPM systems became very hard to maintain and support. They required a lot of IT resources, time, and money. So businesses turned to the more lightweight low-code platforms that, naturally, do the job faster and with outstanding flexibility.
Business app development on a Low-code platform
The last few years showed us how important it is to have digital skills, be flexible and agile. The circumstances of the pandemic highlighted the importance of accessible digital solutions for businesses. These solutions have to be extremely user-friendly and able to change with minimal IT involvement. This is exactly what low-code platforms are for.
Low-code platforms use simple interfaces with a lot of preset activities, and instead of coding you just drag these activities and drop them on the forms and pages. Creating solutions and changing them whenever you need is as simple as that!
Low-code tools are easy to master, so it doesn’t take long to become a low-code developer. Companies can hire people without profound knowledge of programming and train them to develop their own business solutions. Professional developers don’t need to panic, though. This doesn’t mean that coders are no longer needed on the market.
Low-code platforms provide tools for everyone, so let’s take a look at low-code development in more detail to see how low-code developers and programmers can work together.
Indeed, a low-code developer doesn’t need to write complex code or use a variety of libraries. Instead, visual templates and drag-and-drop mechanics become the go-to tools. Preset data types, forms and modules are used to:
- create entire workspaces and separate apps;
- design app items and lists;
- manage access permissions;
- create document templates, etc.
Customizable activities and plugins allow:
- sending messages and emails;
- assigning tasks;
- creating new items;
- changing statuses;
- sending SMS;
- recognizing bar-codes.
Also, Low-code platforms are great for combining different approaches and systems, such as BPM, CRM, EDM:
- document routing;
- working with clients, and managing calls and meetings;
- designing a process for any app item.
All these modules and activities are simple and completely independent (say hello to encapsulation!), can be easily reused, and are great for creating any kind of app regardless of the industry or subject domain.
Oh but please don’t think that a low-code developer can go by without writing a single line of code. Some functionality would require coding to a certain extent, like using conditional operations:
- in dynamic forms to configure dependency between fields;
- to filter data, when a list of values of one field depends on the values of another field;
- to calculate values (duration, totals, sums, multiplication);
- to determine executors or approvers according to conditions.
For such cases, Low-code platforms provide built-in code editors, can incorporate the code into the entire app module, and offer a database of code examples.
Creating apps on a low-code platform does shorten the time to market, since most of the development is visual, which makes testing and debugging much easier. It also provides shared access, fast modification of information, and simple data migration between environments (development, test, and production).
Small businesses benefit greatly from low-code: they can put everything in order, organize the processes, set up data monitoring and sharing, all without a dedicated IT department.
But what about companies that go beyond 100 employees and have entire IT departments? How do they fit into the low-code movement?
Low-code app development for bigger businesses
The larger a company, the more complex its IT infrastructure. It might include a variety of systems used by different departments or employees.
Here is how a Low-code platform can be used to the benefit of such companies:
- Creating apps for those business needs that are not yet covered by other software. In this case, the project wouldn’t be much different to that of a smaller business, the only difference being the maturity of requirements. Larger companies usually have entire departments of analysts who can create well-structured requirements for developers.
- Replacing the functionality of the previously used systems. It is typical for large businesses to have users who are very attached to the old software and find it hard to switch to the new interfaces. Sometimes you need to help them adapt and implement those old features that they love into your new solutions. This is definitely a call for programmers, who can use code to implement such user requirements. Which is pretty simple since the low-code platforms provide built-in tools for developing extension points.
- Combining operations from different software systems in one app. This way you can track the lifecycle of app items, check who is responsible, see who is currently working with the app item and in which system. This is where we come to the holy grail of IS design: integration. The best Low-code platforms have it all covered, providing you with built-in connectors and tools for setting up integrations and data parsing.
However, each new integration may be unique, and have unique requirements. For example, by default, the system provides access via HTTP API with Fetch API, yet the project requires a wcf that doesn’t work with Fetch; or, say, the system provides data parsing from json, and you have an xml on your hands. So what happens then? Programmers come to the rescue, of course!
- Completing all the operational processes in the company. This is not the same as the previous case because here a low-code platform isn’t used simply for routing and monitoring. It also provides the functionality required by business users. Basically, in this case we do everything I have mentioned in points 1, 2, and 3. Here, you might need to do it all: copy the features that users can’t live without form their old software, use integrations to streamline data, and create a super-duper interface in one of the apps. Oh and don’t forget about tedious data migrations considering all the different sources and formats. To do all of this, low-code developers will need to collaborate with professional programmers. Here is how it works. The low-code developers use basic system features to create the framework, add properties, forms, dynamic behavior, processes, statuses, and basic interfaces. Then the programmers create custom modules and complex interfaces, turning them into services and plug-ins that can later be reused by the non-techies.
Low-code and professional developers working together
I hope I have made it clear that a Low-code platform provides vast possibilities for a quick and flexible development. It automates the routine activities that, over the last ten years, programmers had to create over and over again for each new project. Low-code developers can use these automated activities without having to actually get into the details of classes, methods, design patterns, and database characteristics. Yet, professional developers are always there to offer their support when it comes to the more complex tasks..
So is there a place for developers in the low-code world? Of course
- A Low-code platform cannot be developed without professional programmers
- When a Low-code platform is used in big enterprises, there are a lot of things that programmers can do: custom modules, integrations, interfaces, etc.
- Low-code platforms are always in need of innovations and industry-specific solutions, and are on a look out for skilled programmers.