Thoughts on the CoE Starter Kit

Published by Valentin Mazhar on , last updated on

Share

The Center of Excellence (CoE) Starter Kit is a kit provided by Microsoft. It consists in a set of solutions to support admins and CoEs to govern the platform in their organization. The kit is already well described in the official documentation, so I won’t go into into it in much details. I decided to share some thoughts on the CoE Starter Kit following a few conversations I had with different organizations.

Some organizations are strictly against leveraging the kit, some others swear by it… Let’s discuss these two opinions here!

What is the CoE Starter Kit?

The CoE Starter Kit is composed of several Power Platform solutions to be installed in a environment. This would typically be an environment used by the Power Platform CoE team (or any appropriate governance team). At the time of writing of this article, these solutions include:

  • The Core Components: loyal to its name, this solution is the core of the kit. It is mainly composed of Cloud Flows browsing through the entire tenant and gathering telemetry. They collect data about Makers, Apps, Flows, many more Power Platform related objects. They store all this information in the Dataverse tables of the environment where the kit is installed. The solution goes as far as collecting the M365 Audit Logs to capture each time a Canvas App is launched by a user. A Power BI template is also provided to report on the data collected.
  • The Audit Components: this solution contains several Flows and Apps developed to take governance actions based on the gathered data. Some of the scenarios supported by these components include orphaned systems management (when the creator of a Flow/App left the company) as well as inactive systems management (sending an approval request to Flows/Apps owner to remove unused solutions to keep the tenant tidy).
  • The Nurture Components: this solution is dedicated to end users experience. Newsletter and Pulse Surveys are some examples of what is proposed in this solution.

The Kit contains much more than what is described in this section and is constantly evolving. The official documentation is very comprehensive about what is included and how it works, and the Microsoft team in charge of the kit is incredibly responsive in Github to respond to questions, ideas and issues about the kit.

Let’s now share some thoughts on this CoE Starter Kit!

Why Not Using the CoE Starter Kit?

Let’s review the main arguments I came across chatting with organization against using the kit:

“We do not need it”

Looking back at when the first version of the kit was released, it is true that the out of the box functionalities of the Power Platform Admin Center (PPAC) have considerably evolved . Indeed, it is now possible to access tenant analytics from the PPAC directly to gain some oversight of the platform. The DLP Policies have also evolved with additional features (such as action control and end point filtering). Someone could argue that these native functionalities are enough to govern the platform in an organization. And for a small organization with a very low usage of the platform, this argument is understandable.

So the value provided by the kit against the platform features might not justify setting it up at first. It might not be needed today, but how sure can we be that it won’t be in the future? Too often I heard organizations not using at first. Some of them had a really hard time down the line when they realized that thousands of solutions were built. They then struggled with operational issues when users were leaving the company, etc…

Also, while the out of the box functionalities continue to evolve and grow, so does the CoE Starter Kit. The data model resulting from the Core Components is much more elaborated than the one accessible with the tenant analytics. In addition, the kit stores the data in a Dataverse environment. It means that you can then leverage these tables for your custom processes and reporting should you ever need it. Don’t get me wrong… I am not saying that the out of the box functionalities are not great and shouldn’t be leveraged. The kit does not replace the DLP Policies or any other admin features of the platform. But it does complement them in a very beneficial way.

“It is too much work to maintain and we cannot keep up with all the upgrades”

Although it is labelled as a “Starter Kit”, the kit is really comprehensive and contains a large amount of components. The kit itself as well as some of its components do require some set up and configuration steps. Setting up the kit simply takes time. For an understaffed team overloaded with other responsibilities (too often the case!), this can feel overwhelming.

Yes, it can… And it does. But so do all the Excel files infused with complicated macros that no one can debug because their genius creator left the organization without documenting them. Unfortunately no one created a comprehensive kit allowing to manage such situations for Excel files (did they? please tell me!). Luckily for us, this exists for the Power Platform. Multiple requests coming from auditors and data officers asking for granular reporting can also feel overwhelming.

The good news is that Microsoft is constantly improving the set up process for the kit. Indeed, the kit now comes with a set up wizard app, simplifying the configuration process a great deal. The documentation is regularly updated and there support is always available if you hit an obstacle.

Lastly… The entire kit does not need to be set up from the start (or even not at all). Simply installing the Core Components solution and turning on the sync Flows gathering the telemetry is already a great advantage. Some tips for an efficient upgrade process are also given further below in this article.

“It would require too many premium licenses and this would cost too much”

Most components of the kit are leveraging Dataverse. Since the gathered data in stored in Dataverse, all the apps included in the kit are connected to Dataverse too. This is for instance the case for the Environment Request App. This ingenuous app allows users to request an environment. If approved, the environment is automatically provisioned. Even though this app provides great value, organizations might not welcome the idea of paying for a premium license for all its users.

This is a fair point. Dataverse is a great data platform with many functionalities but does come at a cost. For organizations that do not have many licenses provisioned in their tenant, it represents a large investment. That said… No ones forces an organization to leverage the apps from the kit! It is possible to use a service account with a single Power Automate premium license to set up all the flows, and not use the apps from the kit at all. When relevant, custom apps can be built to use standard connectors instead, such as SharePoint for instance. Careful though with this approach, as it might lead to replicating data from Dataverse to SharePoint which 1. increases the complexity of the overall solution and 2. can lead to multiplexing.

It does not fit with our internal processes”

Organizations have their own internal processes for governance, communication with end users, etc… The solutions proposed in the audit and nurture components might not be adapted as they are for a company. This is also the case for some of the core components such as the Environment Request App and the welcome email.

In all fairness, I don’t know many organizations that are using all the CoE Kit components as they are without any customization. Microsoft calls it a “Starter Kit” because it is thought as a a template that can be adjusted, with parts to be removed, added, and customized.

“We have too many Flows & Apps in our tenant”

This is one of the most heard arguments for not using the kit. For very large organizations with hundred of thousands of flows and apps in the tenant, the CoE Starter Kit can lead to several issues. The flows that gather data across the tenant have to browse through all the objects of the platform. This is consuming many API calls which are now subject to limitation from Microsoft. Such flows are then throttled and the data cannot be gathered efficiently. That said… When used well and with the latest releases, benefiting from the kit with 50k apps and flows is not impossible. But hundreds of thousands… This is another story.

Microsoft is working on another version of the kit which leverages a native integration between the platform and an Azure Data Lake instance to reduce the amount of API calls that would be needed. However even this version will generate too many API calls for very highly consuming organizations.

This is a tricky one, and today I don’t think there is an immediate solution to this. If an organization has that many Flows and Apps in their tenant, chances are that a significant part of them are not actually used. My suggestion would for them to find a way to clean up what is not used until the volume becomes reasonable to set up the kit. Once set up, leveraging kit components will help to keep the situation under control. I would recommend that option over building a fully custom solution to achieve similar results. Why? Simply because the amount of resources invested by Microsoft to maintain this kit is considerable. Each release of the kit provides additional functionalities, bug fixes, and performance improvements. Building a separate and custom solution would prevent an organization from leveraging all this work.

Why Using the CoE Starter Kit?

If you have read it, you have seen that the previous section already shares some thoughts on the CoE Starter Kit and provides some reasons to use it. Let’s see if we can top them up with a few more:

  • It provides a comprehensive view at tenant level. A common (and legit!) concern about low code is “shadow it”. Well… We cannot really speak about shadow it if we shed some light on it. Not only does it help identify potential risks, it also allows to detect successful solutions to be replicated elsewhere.
  • It is a source for inspiration. Microsoft proposes processes to govern the platform directly emerging from the feedback received from their customers. Seeing how processes were thought is inspiring and can help to define similar processes adapted internally. Furthermore, simply looking at how the flows and apps are built will give you some great insights into how to build better solutions. I personally learned a lot just by going through each flow and app from the kit one by one.
  • It is easily customizable. One of the greatest thing about this kit is its degree of customizability. You would like to share the dashboard with each region but only want them to view their local data? Slightly adjust the data model, configure Row Lever Security on the dashboard and here you have it. You would like to leverage the data to report on API calls or on AI Builder consumption? It is possible too!
  • It is free. Let’s not forget it, though some parts of the solution might require additional licensing (if used), the kit is free. In comparaison, several businesses propose some rather expensive solutions to get to more or less the same results.

How to leverage the CoE Starter Kit?

There are some more thoughts on the CoE Starter Kit worth sharing. Let’s consider we are convinced that we want to leverage this kit. How shall we proceed? Here are a few recommendations based on my personal experience:

  • Use 3 Environments to install the kit
    • DEV: install the managed solutions as they are there, no customization. You can also use this environment to review a new release.
    • DEV2: use this environment to add customizations (if needed). Duplicate the flows/apps that you want to modify a lot and include them in a custom solutions. Think carefully here, as any flows that you duplicate will not receive future upgrades. Follow the same principle to customize or add new tables. Test the kit and upgrades there to confirm that there is no impact with your customizations.
    • PROD: install all the default and custom solutions as managed and leverage the kit in production. You can also eventually use a PRE-PROD environment if you want to test the deployment process.
  • Share the dashboard with relevant stakeholders. Make sure that relevant stakeholders have access and understand how to use it. A lot of unrest can be caused by uncertainty and not knowing how the platform is used. You can leverage Row Level Security to only share what is relevant to each stakeholder though… Data privacy and regulations apply everywhere. I share some steps to proceed in this separate article.
  • Find the right frequency for upgrades. Upgrades are great, they also consume time. Review the release notes occasionally and judge for yourself whether it makes sense for your organization.
  • Leverage the support on github. You found a bug? You would like a new feature? Reach out in github and leverage the great support provided by Microsoft on it so far.

Share
Categories: Governance

0 Comments

Leave a Reply

Avatar placeholder

Your email address will not be published. Required fields are marked *