Fusion Teams, Power Platform

Fusion Teams, multiple hats and future possibilities

What are Fusion Teams? What are the future possibilities for pro developers working with low-code platforms such as Power Platform? What are the future possibilities for a Power Platform consultant as concepts like CoE Starter Kit are introduced and organizations are starting to embrace the citizen developer approach and build more solutions themselves? Lately, people in the community have shared their thoughts about the low-code movement and reading other people’s thoughts has made me think a lot about it too.

Jukka Niiranen shared his thoughts in this post: Democratizing code. Natraj Yegaraman gave us his background story and shared his thoughts about the future in this post: Future of developers in Power Platform. Alex Shlega shared his thoughs here: Power Platform Developers – what does the future hold? In this blog post I will focus on how Microsoft describes pro developers and citizen developers working together and give my thoughts about how someone who has worked with this platform for a long time fits is as well as what is missing when this concept is presented.

Fusion Teams according to Microsoft

Fusion Team is the terminology Microsoft uses to describe a team working together and the team consists of both professional developers and citizen developers. Read my blog posts about Microsoft Ignite both from last year in September and this year in March. Fusion Teams was mentioned at both events. In March this year Power Fx was introduced and it looked like below.

Microsoft introducing Power Fx at Microsoft Ignite, March 2021.

There is a new whitepaper from Microsoft describing the concept of Fusion Teams. In this whitepaper Microsoft describes the role of a (Power Platform) pro developer to write APIs and create custom connectors from that for citizen developers to use. There is also a new MS Learn learning path and going though this learning path gives you an understanding of what Microsoft puts in the concept of a Fusion Team. The pro developer parts consists of writing custom controls using the Power Apps Component Framework.

This learning path starts with an introduction to Fusion Teams, the different roles and a sample scenario of an organization with a Fusion Team.

Fusion Teams described in the MS Learn learning path

You can also find the following description of Fusion Teams in that learning path:

  • Folks from across the organization get together to solve a business problem.
  • Based on that solution, business professionals, citizen developers, use Power Apps to create software applications perfect for their needs.
  • Professional developers support those Power Apps with data from web APIs using the tools they know the best, keeping their existing workflow.
  • The team keeps track of individual apps developed apps to not duplicate efforts and find out about and reuse existing web APIs.

So, a lot about APIs there, but after the intro chapters there are also chapters about PCF. MS Learn parts have questions in the end. One thing I found funny was this:

Do pro developers need to monitor citizen developers? 🙂

Going back to Microsoft Ignite in September last year, there was an interesting session within this topic – Amplify your pro developer skills with Power Platform by Julie Strauss. It was also focusing a lot on pro developers creating APIs as well as creating custom components. Julie brought up other pro developer scenarios too.

A lot about creating APIs, custom connectors and custom controls
Some other pro developer scenarios too, but I’m still missing some parts!

However, I remember thinking back then – What about plugins, custom workflows and JavaScript/TypeScript on the client side? What about making sure proper ALM is used and setting up pipelines? Such things are never mentioned.

More to it than APIs and custom controls

What I am missing from Microsoft when they speak or write about Fusion Teams is more pro developer parts. Typical use cases when you might need a developer friend. Where I work we still need pro developer skills basically in every project. We need it for writing business logic with code (such as plugins or Azure Functions) when low-code tools are not enough or when the logic gets too complicated for a Power Automate cloud flow to be a good fit or when a you come to the end of what you can accomplish with a Business Rule. There might be integration scenarios where we need pro developers too.

I do believe, since it is a low-code platform that Microsoft is marketing and selling, the official big picture will always contain a lot of low-code parts. After all, it is a low-code platform we are talking about. However, I also believe pro developers will always be needed. Both for solving the more complex scenarios where business logic is required as well as for creating more attractive UI parts (creating custom components). Sure, more low-code parts are being introduced as the platform evolves and before we know it plugins will be created using formulas, but still, I believe we will benefit a lot from pro developer skills.

We should not forget that there has been conferences dedicated completely to pro developers who work with the Power Platform. Last year there was the #POWERfulDevs conference https://powerfuldevsconf.splashthat.com/, which had more content than just APIs, custom connectors and custom controls.

In the 2021 Release Wave 1 plan there was a new chapter introduced (at least I had not seen it before) – Pro development. Not much content though, but in the future perhaps we can get some more parts in there. We should not also forget about other channels to look for pro dev information. Big thanks to Jonas Rapp for summarizing the following when we discussed the 2021 Release Wave 1. Projects to follow: PowerPlatform-DataverseServiceClient, Source-code for Canvas Apps PowerApps-Language-Tooling, read more about it here too: https://powerapps.microsoft.com/en-us/blog/source-code-files-for-canvas-apps/ and CoE ALM Accelerator.

About multiple hats

Even though this is not the background story for all people working with Power Platform, there is a bunch of people coming from the Microsoft Dynamics CRM/xRM world. I find it that many of the former CRM’ers have a very broad knowledge and a history working with many parts of the platform, both professional developer parts (writing code but often in the safe space of writing code for this platform) as well as other parts. I am one of those persons.

In the new learning path about Fusion Teams you can read:

 “everybody works with the tools they are already comfortable in. Everybody is more productive because we’re not being asked to learn anything completely new.”

It is great that Microsoft describes how citizen developers and pro developers can work together. But I feel like I am really missing some parts. As already mentioned, I’m missing some pro developer parts and also I am missing a character with multiple hats! I also find this quote a bit depressing. I really enjoy learning new things, even though it might be something completely new. It is a bit funny too, since the platform evolves fast and you really need to learn new things all the time in order to be able to embrace it all.

We do not need to know everything in detail and we should help each other out and collaborate using our different areas of expertise, but do we have to draw the line between a pro developer and someone who uses the low-code parts sometimes – when that is the right choice to meet the customer requirements and build the solution (do I have to be called a citizen developer then?).

I would like to think of myself as a Power Platform all-around (well, almost) specialist instead of having to choose between being a pro developer or a citizen developer. I would also like to include writing code like plugins, JavaScript/Typescript, Azure Functions etc. in this all-around specialist role.

I have always had different hats, been doing a bit of everything and choosing different technologies and approached situations differently depending on what has seemed like the right choice of technology at that moment. In some projects I might have a role where it’s more solution design and some development, sometimes I have all the hats that’s required in a project. I like the variety of tasks and I like to learn new things. I know I cannot be an expert in everything and I have had some areas where I have relied on colleagues completely, one such area being Power BI. But still I like to explore and learn new areas. It does not need to be pro development areas only, even though I do like those parts.

I am looking forward to learning more about Power Fx, not to use Power Fx only and write formulas all day long, but to know enough to be able to support my colleagues and to be able to use it when it fits a project (which seams to be a lot in the future according to the roadmap for Power Fx which was presented during Microsoft Ignite).    

When Microsoft describes Fusion Teams the pro developer is always a “full-stack developer and software architect specializing in C# and .NET.” and previous tasks are described as e.g. “everything from .NET Core Console applications to ASP.NET Core web APIs to reusable libraries shared via NuGet”. It does not fit with what we old CRM’ers used to work with. Things like developing plugins, custom workflows, custom data providers, JavaScript/TypeScript for the client side is not mentioned at all.

Julie mentioned in her session “sometimes as a developer you do the full flow you start in with code first and you might build a no-code application on top of that and sometimes you do collaborate and say I built my professional lego blocks using my tooling but then I want to expose it to a citizen developers”.

What about the case where I have different hats? Then I might start out with low-code and I can get to code parts when I need a custom control or need more advanced business logic.

Fusion Teams and future career paths

The Conclusion chapter of the Fusion Team whitepaper includes:

“Fusion development combines the technical and business skills of an organization’s employees to design and build applications.”

It makes me think about that Fusion Teams are most often described as one organization doing the business application development themselves and Power Platform consultants are not really included in this concept, a consultant might play a role in that organization and be a consultant that helps an organization out when they do not have the necessary competence or the time to do it all themselves, but usually everything is described as the organization has all the power by their own.

Traditionally, consultancy firms – partners to Microsoft – have handled most of the parts of a Microsoft Business Applications project, at least from my experience. Nowadays, as more parts are turning into low-code parts and the democratization of code I too see organizations doing more parts themselves and consultancy firms can have more of an advisory role or take part in an implementation with a organization role hat on.

Natraj mentioned several areas that a pro developer can focus on in the future in his blog post. In addition to that I would like to add holding hands with our colleagues with a non pro developer background as they are learning about the low-code aspects and taking care of all ALM parts of projects.

Different career paths that I see for us old CRM’ers in general (and others too of course):

  • Work at an ISV, building solutions/products based on Power Platform and creating Custom Connectors. Pro developer skills combined with understanding of the platform is then very a good combination.   
  • Working at any organization as part of a Fusion Team, as a citizen developer or a pro developer or as an admin.
  • Specializing in different parts of implementations such as tests or project management.
  • Specializing in Scrum for BizApps (check out Neil Benson, Customery).
  • Working at Microsoft, helping partners and customers and being a part of the evolution.
  • Start your own business, ISV, consulting firm or platform specialists.

Possibilities that I see for Power Platform consultancy firms:

  • Hold hand with customers as they build apps and set up automation themselves. Take over these processes when needed.
  • In a Day training, helping other consultancy firms or customers to build their own competency.
  • Help customers getting started with CoE.
  • Taking on whole projects. Like traditional CRM projects, but with Power Platform instead.
  • Being Power Platform Specialists, helping customers with different parts of implementations.
  • Being the customer’s Power Platform guides, helping out when needed, informing about news in the platform etc.

Still much the same as what we have been doing all along actually, but we have more possibilities now as organizations need to start building their own competence around the platform and forming these Fusion Teams.

For me, working at a company where ISV is on the roadmap has always been an interesting career path, combined with helping customers implement solutions based on Power Platform. I do not need to code all day long, I like the variety of work and figuring out how to solved problems and choosing the technology which suit the situation, code or low-code.

Conclusions

Microsoft’s description of Fusion Teams is not really fare to pro developers, there are more to it! Creating APIs and building custom controls are often mentioned but plugins, custom workflows, custom data providers and JavaScript/TypeScript for form scripting and the command bar are rarely mentioned. It seams the concept of Virtual Entities and Custom Data Providers is here to stay, recently CRUD for Virtual Entities was introduced. In the future we will be able to use Power Fx and to write formulas to create plugins. That might be the reason for not including plugin when talking about Fusion Teams.

The description of a Fusion Team is from an organization’s perspective and not from a consultant perspective. In addition to a Fusion Team you need a guide in the low-code jungle. If you only have citizen developers and pro developers (as in a pro developer with no platform knowledge and experience from what you are allowed to do and not with the platform, what is supported/unsupported, taking hidden functionality in Dynamics apps in consideration etc.) you might end up with bad solutions.

If you like the concept of having multiple hats a broader Power Platform role might be something for you. As Alex Shelga’s pointed out if you have a pro developer background you will have the benefits of being able to write code when you need it – I like that! I’m also thinking that you benefit a lot from having a developer background and have a logical thinking and understanding of how to structure things also when you are working with low-code.

That’s all. Wow, I did have a lot on my mind. Thanks for reading and let’s celebrate that one person can have several hats!

2 thoughts on “Fusion Teams, multiple hats and future possibilities”

Leave a comment