What are Low-Code development platforms?

Rapid Application Development, Robotic Process Automation, Business Process Management Systems – these are all examples of Low-Code platforms. The market has already appeared in the 90s, but their popularity has grown strongly in the last few years. In this article, you’ll learn what the Low-Code platforms are, when you need them, and what future is waiting for them on the example of Microsoft platforms like PowerApps and Microsoft Flow.

Thorough transformation – Understanding ” The Why”

Before we get to know what the Low-Code platforms are, we first need to understand the reasons why we started to work on their development at all. For this purpose, let’s get back to the 90s. At the time, it was the era of computerization that got under way for good. E-commerce, e-government, e-society, e-everything has dominated the world as personal as well as business. It became obvious that there is no other way than to give IT a high priority in computerization of work and activities. Data Management, Information Management and Knowledge Management were gradually digitized, and business processes were transformed along with them. All this so that everyone can use private resources, corporate resources, and communicate with others from anywhere in the world and at any time of the day or night.

Source

Where to get new programmers from?

Such a change naturally required the involvement of a huge number of IT specialists and engineers. IT specializations have become extremely popular and well rewarded. Everyone did what they could to increase the number of programmers:

  • Educate new developers – IT courses in higher education were gaining in popularity. Currently, in Poland, as reported by the Ministry of Science and Higher Education, 14% of all recruitment applications for 2017/2018 concerned information technology, the second was management with a result of 7% of all applications!
  • Employees of other specializations were attracted – all-year programming schools, bootcamps and IT courses are doing everything to further reduce the training time of the “complete junior”. Also the employers help in this process eg Aviva, the insurance company, in 2018 organized a 6-month course addressed to all its employees, giving them a chance to get software developer qualifications
  • Experienced developers are tempt – hundreds of recruitment companies flood with offers anyone who on linkedIn has anything to do with IT. They’re offering many benefits besides very good earnings
  • Promote awareness 😉

Despite almost 30 years, the situation has not changed. Reports estimated that in 2020, 500,000-600,000 programmers will be missing out on the European market (source, source)! Only in Poland, my homeland, there is already missing about 50,000 of developers. Demand around the world is huge and Europe Union estimates that it will last until 2030 (source). But it is not surprising. More and more industries involve IT solutions (HR, marketing, art) and the same is for areas of activity (forecasting, chatbots).

Image result for meme when a developer uploads cv

Low-code platforms for the rescue

If the demand is greater than the supply, there are two strategies to keep the balance. Increasing the supply (that is increasing “the production” of developers) has been described above. However, method no. 2 consists in reducing demand for programmers. Is it possible? It turns out that yes and no need to blow up in the air half of the companies ;). It is enough to build a platform for effective, fast and flexible building of applications and processes. The platform itself has to fulfill 5 assumptions:

  1. Ease of use – everyone, not only highly qualified engineers, should be able to use it
  2. Supporting standards – basing the platform’s operation on globally accepted and adopted standards
  3. Integration – the platform should enable integration with any systems. Achieving point 2 is very helpful in this 😉
  4. Accessibility – building solutions and using them should be independent of a user OS (Windows, Linux, macOS)
  5. Extensibility – a platform that can not be easily expanded has little chance of being longer on the market

And that’s what the so-called Low-code development platform [LCDP] – a visual approach to application development. Microsoft has at least 3 such platforms. In the further part of the article I will focus on two of them: PowerApps and Microsoft Flow. They co-exist in a very close relationship not only among themselves, but also with more than 230 other platforms (Microsoft and non-Microsoft).

Examples of Low Code platforms by the Microsoft. Microsoft Flow and Azure Logic Apps are very similar, although they differ in their purpose: Microsoft Flow is mainly used for business processes. Azure Logic Apps is responsible for the integration of data between different systems. I will deal with them in another article.

At LCDP, we build solutions using a drag-and-drop or point-and-click mechanism from the graphical interface. Thanks to this, building, modifying and maintaining it is extremely simple and saves a lot of time, and the effects are visible immediately.

Microsoft Flow example
Microsoft PowerApps example

Using LCDP is a bit like building with LEGO bricks. When you play with LEGO, you use manufactured blocks that are limited in size, color and number of pins. However, these dependencies do not limit the construction of complex and functional solutions.

With the use of LCDP you can build professional solutions supporting the company and what is important, the construction process itself is fast and agile, saving time and money.

Check out the application to scan business cards, which development took me 8 hours instead of 5 days!

This approach must give effects:

1. 70% less application development cost and effort
2. 362% return on investment over 3-year term
3. <3 months payback

Data from “The Total Economic Impact of PowerApps and Microsoft Flow” published by Forrester Consulting in June 2018 (source)

Low-Code, High-Possibilities

The possibilities of the platform itself are determined not only by the multitude of available “blocks” from which we can build a solution, but also the openness of the platform for integration. The PowerApps and Microsoft Flow platforms share a set of available connectors that are over 230!

One of such connectors are those related to HTTP query support which actually is synonymous with the ability to integrate the platform with any SaaS solution having a REST API (so the overwhelming majority).

Left: Http trigger which launches Flow when it receives an HTTP query from any source
Right: HTTP action that performs an HTTP query to any URL
(If you’re a developer, know that creating your own SaaS service could not be easier!)

But it is not everything. Microsoft Flow, like PowerApps or LogicApps, allows you to build your own “plug-in” (so-called custom connector). Developers can connect such Custom Connector, for example, with Azure Function, which can perform ANY operations using the C # code, Javascript, Python, etc. A good example is the application for document translation, which consists in:

  • Microsoft Flow sends a document to Azure Function
  • Azure Function decompose the document to separate paragraphs…
  • …and translate each paragraph independently.
  • Then the function merges together translated paragraphs…
  • … and sent back to Microsoft Flow

Thanks to this approach, the document is translated in full, maintaining the formatting and layout of information on the page.

Use the resource according to your the needs

The scenario presented above has one more extraordinary advantage. This approach is definitely beneficial for more than 1 page of the software development process:

  • LCDP developer – Can model the overall flow of the entire process. Determines from which platform the user interacts with the application (eg PowerApps), where the data is stored (eg SharePoint Online) and how the general flow of information related to the translation of the document is going (eg Microsoft Flow). However, he does not know (and does not need to know) exactly how the document is translated
  • Software developer – With the help of a regular code (eg C #) he creates an independent service that gets the document in a language at the input and translates it to any other, returning the translated document at the output. For this purpose, he can use services like Azure Function and Azure Cognitive Services. He does not know (and does not need to know) what is happening with the document before and after the translation process.
  • Business owner – he uses his resources according to their purpose, thanks to which fewer mistakes are made and more value is delivered in a shorter time. People who understand business well and have broad product knowledge can focus on modeling the overall framework of the solution. In turn, programmers can focus on this part of the solution that makes the best use of their specialization.

This is very important: using LCDP you do not give up the possibility of using solutions using a regular code.

LCDP and the vision of tomorrow

The last question is: is it worth letting LCDP platforms into your organization? There are some questions related to that:

  1. The LCDP concept is not new and it was already known in the 1990s. Why, then, have they become popular yet? Maybe it’s just a temporary hype?
  2. Will LCDP platforms be replaced soon by other platforms?
  3. When choosing a single supplier, do not we enter a one-way street?

So let me answer these questions briefly:

  1. That’s true, LCDPs have appeared before, however in my personal opinion their low popularity was associated with the lack of appropriate adaptation of programming standards (REST / GRAPH API, JSON, OAUTH). Such lack of adaptation made it impossible to build a wide range of integrated platforms. At present, the IT environment has clarified such universal standards, and newly-built solutions follow the established good practices. There is one more important reason, more precisely 3 of them:
    • Growth – it is estimated that the value of the low-code market will increase by over 21 million over the next 5 years
    • Diversification – the demand for IT solutions is growing, and at the same time software developers need a relief
    • Integration – solutions need to grow quickly while maintaining integration to be able to use the potential behind AI, robotics and machine learning
  2. In the whole history of IT solutions, a lot of products appeared and some time after sold, changed or killed. Therefore, I personally think that it is best to relate to solutions of large companies whose future is based on the trust of their clients. This trust depends directly on the possessed solutions, as well as their stability, predictability, reliability and security of entrusted data. “Trust is the Currency of the Future” as the title of an excellent Polish book by Michał Szafrański.
  3. Yes and no. On the one hand, actually choosing ANY supplier from the exit procedure, it may be even necessary to rewrite the solution in case of willingness to change. On the other hand, the construction of the graphical interface should not take much time, and in the case of RPA systems, you can implement critical parts of solutions as independent SaaS solutions (eg using Azure Functions or azure hosted web applications)

Conclusion

For me personally, Low-Code development platforms are a must for any company that wants to grow dynamically. They carry a huge revolution that once brought a window interface in operating systems. On the one hand, it’s just a change of interaction with the processor “on the other side.” But on the other hand, it is opening up to completely new possibilities.

If you would like to learn more about these platforms contact me! I will teach you how to use them, and if you want I can design a solution or simply build it for you!