PowerApps and Microsoft Flow target – part 2

In my previous article, I’ve introduced the most important features of PowerApps and Microsoft Flow platforms, basing on examples of three different organizations. In this part, I will present who these platforms are addressed to. Moreover, I will also explain what are the reasons for the growing popularity of Microsoft Low-Code platforms. Let’s start with the basic question.

Who can build solutions in PowerApps and Microsoft Flow?

Ever since these platforms have appeared on the market, they tend to be described as Low-Code or even No-Code platforms. There is no full accordance regarding its naming. Similarly, there is no agreement whether all people or only technical persons can work on the platforms mentioned above. Do people outside of IT as sellers, traders and managers can benefit from these platforms? To answer these questions I will discuss 2 issues:

  • Is PowerPlatform a No-Code platform?
  • Is PowerPlatform for everyone?

There is no No-Code

By definition, No-Code concept does not require writing ANY code. The whole process of building the solution is based on the use of a special wizard where it can be built using the drag-n-drop method. It would imply that the above-mentioned tools are so simple that ANYONE could use them to build solutions. In this case, the application developer does not even have to be a programmer. Then such a person starts using one of the platforms mentioned and surprisingly it turns out that:

  • platforms use a specific function language with syntax
  • they have IF condition blocks
  • they have loops
  • they use the concept of variables and collections.

For those of you who first time see above items, I’ll explain – these are universal concepts that characterize all programming languages. Below a conclusion of one of my favorite influencers, Jon Levesque:

PowerApps and Microsoft Flow are not a No-Code platforms.

DISCLAIMER:
Of course, I do not mean that Microsoft does not have any No-Code platforms. They have quite a lot of them, and in order to not looking far enough, I’ll give an example of Microsoft Forms (an interesting review of this platform was written by Tomasz Poszytek on his blog). But certainly, PowerApps and Microsoft Flow do not belong to them.

Now let’s deal with the second, hotter issue, whether anyone can create solutions on these platforms.

ANYONE can’t do programming

Since we already know that PowerApps and Microsoft Flow are not No-Code platforms, can we still recommend them to everyone? I intentionally used the word ‘programming’ rather than ‘coding’ in the headline . To build solutions, you do not have to write code, but still you use programming skills. It is enough to build a solution based on the fact that it is:

  • a repetitive process (not necessarily a business one)
  • based on the capabilities of a specific platform or platforms
  • implements a repetitive sequence of cause-and-effect events
  • a complete solution carries the marks of uniqueness (ie not the functionality out-of-the-box platform)
  • (probably you could add something more, but it’s enough for my needs).

In this perspective, even No-Code platforms require programming skills. Both Microsoft Forms, SharePoint, MailChimp and WordPress etc. need a certain degree of understanding of knowledge (often technical) and learning about the capabilities of platforms. I would like to put a special emphasis on “UNDERSTAND”, because this is often an overlooked aspect. Please note that with increasing complexity of solutions increases the likelihood of errors. And then the skill of the so-called debugging, the process of finding and repairing errors, will be needed. Unless you want to run every time to your IT department with a request such as “DO NOT WORK HERE! REPAIR!” … but I guess it’s not that the whole idea of No-Code / Low-Code platforms. I will not mention that sometimes much more sophisticated skills, such as reverse engineering, are also useful.

To illustrate the issue even better, let’s look at what Bob Reselman, a programmer, architect and journalist with many years of experience says about it, in one of his articles:

For example, imagine using a low-code visual composer to bind data from a poorly written SQL query to a UI. All should work fine, right? That’s the promise. Everything should be peachy keen, except that the app is slow as molasses in February. Why is it so slow? DB? UI code? The network?

Most likely, the low-code software developer won’t know. He was not hired to know. He was hired to drag and drop components to create business forms, not to do data performance debugging.

TechTarget, Bob Reselman

And although I do not agree with everything that Bob wrote in the whole article, this piece has some truth in it. Low-code software developers are not software developers. But all in all … is not that just the point? Because…

Not everyone can create solutions based on the Low-Code platform, but definitely more people can do it than just developers.

Did you wonder why the ideas of Citizen Developers (programmers of Low-Code platforms) and the possibility of easy building solutions are propagated so intensely? It seems to me that there are 2 reasons for this.

1. CREATING IT SOLUTIONS IS EXPENSIVE

I have already written about the problems on the developers’ market in my article ‘What are Low-Code platforms‘. Huge staff shortages (it is estimated that in 2020 there will be a shortage of 500,000-600,000 programmers on the European market), which means that developers, as befits luxury goods, have a high price. Implementation of IT solutions is often an extremely expensive undertaking (requirements analysis, architecture, infrastructure, licenses, programmer’s hour of work, adoption, maintenance, etc.). To make matters worse, the work of programmers is not effective, because they repeatedly implement the same parts of the application (login layer, permissions, data link layer, etc.). This raises the following conclusions:

  1. Developers need relief in simple tasks. More vividly, to replace a wheel in a car, you do not need rocket engineer services.
  2. Ideally, if we would only once create a given functionality. Do not reinvent the wheel. Let us use parts of solutions repeatedly.

And with this in mind, Low-Code platforms were built. In particular, PowerApps and Microsoft Flow emphasize the following:

  • maximum coverage of repetitive parts of the application (login layer, permissions, data link layer, etc.)
  • integration support by using a wide range of “connectors” (not only for Microsoft platforms)
  • extensibility (the ability to build your own connectors based on generally accepted IT standards)

2. IT KNOWS IT ON

When in 2018 along with a friend for almost a year we were conducting a start-up after hours, life gave us a valuable lesson. We had an idea for solving a problem of the HR industry, and more specifically for career counseling. It seemed to us that we had everything to get from the so-called side-hustle to build a real value wrapped in a scalable product:

  • We had an idea of what effect we want to achieve
  • We had technologies: me and my colleague worked in IT, programming and machine learning algorithms were not a problem for us.

Our plan was to obtain funding, but investors’ doors still did not want to accept us. When finally came time for reflection, we understood what was missing. Technical skills and the target effect are not everything. You still need to know HOW. In our case, there was no specialization in the field of career counseling – we did not have a person who would be able to develop an appropriate psychometric test and interpret its results.

Many companies have a similar problem. They have IT that can implement everything but does not know what. They also have non-IT departments who know what they need, but they do not know how. It is enough to combine both, right? Exactly – and then suddenly it turns out that IT is expensive (see the previous paragraph).

Screen from  http://www.fressadi.com/blog/the-art-of-building/design/what-the-client-wanted/
Screen from http://www.fressadi.com/blog/the-art-of-building/design/what-the-client-wanted/

SUMMARY

The whole concept of Low-Code platforms in the PowerApps and Microsoft Flow area is designed to solve the issue of high costs of IT projects and to eliminate problems resulting from narrow specialization.

Microsoft’s Low-Code platforms reduce the costs generated by IT solutions and support the interdisciplinary work environment.

Thanks to PowerApps and Microsoft Flow, non-IT people who have technical skills (a necessary condition!) can easily show and even build what they need. On the other hand, developers and administrators can support them in more difficult areas, help in integration and even expand the capabilities of platforms (through Custom Connectors).

PowerApps and Microsoft Flow developers = Low-code developers = Citizen Developers
PowerApps and Microsoft Flow developers = Low-code developers = Citizen Developers

You’ll be surprized at how many people outside of IT in your organization are doing great with technical topics. All you have to do is help them get started.

It’s all in this part. In my next article I will discuss issues related to the security of PowerApps and Microsoft Flow solutions.

Stay tuned!