There’s an elephant in the workflow room
When I talk to customers about workflow I tend to lead with Nintex. Over the last year or so, there’s been an elephant in the room, namely Microsoft Flow. As of late, that elephant seems to have grown or at the very least it is much more difficult to shift out of the room.
When asked about business process automation there are several reasons why I don’t lead with Flow just yet.
Why does Flow even exist?
Microsoft has a legacy of business process automation in SharePoint Workflows. This has laid a solid foundation in terms of how to make processes reliable and manageable. However, in an Office 365 world we must admit to ourselves that this is a dying approach, it’s too fiddly and SharePoint centric. Microsoft clearly needed to look forward.
At the same time, disruptive technologies are giving end-users the opportunity to automate for themselves. IFTTT, for example, is a very successful everyday process automation tool which is really geared towards the home market. However, it’s usage is bleeding into the work environment; the biggest disruption is that the lines between home users and work users have been blurred considerably in recent years, even by Microsoft itself. This is a good move by Microsoft, but it does open the doors for personal technology solutions to find their way into the workplace. This in turn, makes it very difficult for administrators to maintain control over the range of tools used throughout the organisation.
Gone are the days of the shout-and-shun approach. End-users won’t put up too much with being told which products they should and shouldn’t use, especially if the toolset they are given doesn’t live up to something else with which they are familiar. So, Satya Nadella’s Microsoft must walk a fine line between being inclusive and competitive. They have to offer solutions which users want to use, and they must give users the “Microsoft answer” to modern disruptive technologies. And so, we have Flow…
Right. Let’s give it a go.
When you start using Flow things can be a little overwhelming. First, you are presented with a huge array of templates.
There are good search and categorisation features, so it’s easy enough to have a look around. All in all, it has a very modern feel. For me, it’s just a box ticked though, this is the sort of thing you find in IFTTT. I didn’t really know the ins and outs of IFTTT when I started writing this piece and so, I decided to try and use it. Within minutes I had found two templates which made me think: “cool, I could use that”.
I have spent hours and hours playing with Flow and I have never found a template that really does exactly what I want. This might be because of my SharePoint centric approach but the point is: I don’t find this interface (modern as it is) particularly useful, I always start with a blank canvas for Flow and that’s always a few more clicks away.
From a blank canvas you get a similar feeling. Wow! So many triggers! Over a hundred and fifty on a dozen different platforms. Well, this is Microsoft opening its arms alright, everyone is invited to the Flow party. Then there are the actions, and yet again there are so many! One thing to point out is that these triggers and actions have a business focus. Three quarters of them are unarguably business actions and out of the other quarter only about a third of them are unarguably geared toward the home market, the others are in a sort of middle ground.
All these templates, triggers and actions are a very deliberate effort on Microsoft’s part to show off the breadth of connectivity and inclusiveness that Office 365 embraces. You also get the feeling that you are supposed to be dazzled. “Imagine all I can do with this” you’ll say to yourself. So, what can you do?
Flow and the fundamentals of automation.
I’ve been working with business process automation for many years now and I know what I need from a tool. At a very fundamental level I expect tools to be able to do a few things well:
- Reach out to other systems
- Handle Complex logic
- Have good overview and management capabilities
- Have dynamic user and system interaction points
Microsoft has the reaching out part covered very nicely. They have more out of the box connectors than any other tool I’ve seen on the market and they’re right to put this front and centre.
Flow also has pretty good logic. There are no state machines (a personal favourite) but there are loops, if statements and conditional branches to name but a few. It’s a very decent start.
The overview and management side of Flow is fine. You can switch your Flows on and off, troubleshoot your Flows from a central management console and even manage team Flows. Flows still have a very personal feel and there’s no real way to manage them on a business-wide level. However, there is an admin centre, it’s a little empty but I think this adds some promise for the future. For a young tool, Flow is certainly ticking a few boxes.
And so, we get to the dynamic user and system interaction points. Any decent automation platform needs to be flexible and dynamic in terms of what its actions can do.
There are only a few possible user interactions:
- Someone needs to start a process.
- Someone needs to receive some information as part of a process.
- Someone needs to provide some information for the process to continue.
This last point is the crux of why dynamic interaction is important. To drive efficiency and save time (two of the key goals of any process automation) you need to minimise the amount of effort a user has to put into this. If the user needs to make a decision based on information gathered during the process, then they need all of that information in front of them or easily accessible. They also need to make the decision they need to make. Sometimes it’s not just “Yes” or “No”, sometimes it’s “maybe”, sometimes more info is needed, sometimes changes should be made, and sometimes someone else should be making the decision.
Flow has many actions, so you have many ways of giving this sort of a task to someone. However, the actions don’t have enough depth, especially if you’re used to SharePoint or third-party tools. You can’t do enough to dynamically craft your content, you can’t escalate or cancel tasks, it’s difficult to re-route or ask for more details, the methods for assigning participants in the task are limited, approval options are dynamic, but they don’t change the Flow in any way.
This then is really the crucial point, it highlights the relative immaturity of Flow and why it is difficult for us at Intelogy, as Office 365 professionals, to lead with Flow. It simply doesn’t go far enough to reflect the real-business world when we are being paid to build something to meet exact customer requirements.
You can do a lot with Flow, but I always get to the point where I say: “I wish it could do this…” and it can’t. Yet.
So, what does this all mean?
Flow is a young tool, it was only released in 2016, so the future is bright. It’s also evolving rapidly with new functionality coming thick and fast. In the SharePoint realm, Microsoft has stated that the aim of Flow is to take over from SharePoint workflows. However, there is a bit of a balancing act there. Microsoft needs to keep their partners happy. There is a rich ecosystem of partners such as Nintex, K2 and AgilePoint which are all now playing nicely outside of SharePoint, and Microsoft has said specifically that they are not getting into those “complex enterprise scenarios”. There’s a big question in that statement about how far they will go, and how quickly.
On the one side Flow is a great young product, full of promise and really showing that Microsoft has its head up and in the game. There are a huge number of connection points, a nice interface, a decent overview and a low price. It’s not free really, and if you want to use it in more business-critical scenarios you really should pay for the higher-grade versions (I’ll go into more detail about this in another blog).
The price is beside the point though. The lack of depth regarding Flow’s actions is a big problem. There is a long way to go in terms of the functionality needed to make this a viable, business-critical automation tool and there are no guarantees when, or even if, that will come.
If you are willing to accept Flow at face value and understand that it is young and evolving then it is a good proposition, especially if you are an individual looking to automate something and don’t have the backing of a technical development team to deliver it. But if you are looking for something to meet exact business requirements, I think you are better off looking elsewhere for now.