Most Microsoft Fabric projects do not fail loudly. They succeed at the demo, then degrade over six months into workspace sprawl, shadow BI, and month-end capacity throttling. Here are the deployment risks, and the readiness checks that prevent them before go-live.
Most Microsoft Fabric projects do not fail loudly. They succeed at the demo, go live, and then degrade over six months into something nobody quite trusts and nobody quite owns. The tenant fills with workspaces. Two teams build the same revenue measure three different ways. A capacity that looked generous starts throttling reports at month-end. None of this shows up in the proof of concept, because the proof of concept had one workspace, one dataset, and one enthusiastic champion.
This post is about the failures that arrive after go-live, and the readiness checks that prevent them. If you are considering Fabric, or you are already on it and it feels harder to govern than you expected, these are the risks worth naming before they compound.
Uncontrolled workspace growth is the first thing to break
Fabric makes it trivially easy to create a workspace. That is a feature at the start and a problem by month three. Left ungoverned, a tenant accumulates workspaces the way a shared drive accumulates folders called final_v2: one per project, one per person who was in a hurry, several nobody remembers creating. Within a quarter you cannot answer basic questions: which workspace holds the production sales model, who owns it, and whether the thing feeding the board pack is the governed copy or someone’s experiment.
The fix is not a tool. It is a workspace taxonomy decided before the first real workspace is built: a naming convention, a clear split between development, test and production, and a rule about who can create workspaces at all. In practice that means restricting workspace creation to a small group, defining domains (Fabric’s own construct for grouping related workspaces by business area), and treating a new production workspace as a deliberate act with an owner attached, not a self-service default. The businesses that stay clean are the ones that decided the structure while it was still cheap to decide.
Shadow BI comes back through the side door
The whole promise of a governed platform is one trusted version of the numbers. Fabric can deliver that. It can also quietly recreate the exact sprawl it was meant to remove, because Power BI is in everyone’s hands and the path of least resistance is to build your own.
Shadow BI in Fabric looks like this: someone imports a CSV into a personal workspace, builds their own measures, and starts circulating a report that disagrees with the governed one. Multiply that across a few analysts and you have the pre-Fabric problem back, now with a bigger licence bill. The technical enablers are specific and worth naming: unrestricted export to Excel, the ability to build models against ungoverned sources, and no clear certified dataset for people to build on instead.
The counter is a combination of provision and permission. Provision a certified, endorsed semantic model that is genuinely easier to use than rolling your own: promoted and certified datasets in Fabric exist precisely so people build on the blessed version. Permit deliberately: control who can create new models, keep raw ungoverned sources out of reach, and make the governed path the fast path. Shadow BI is almost always a symptom of the governed option being harder to use than the shortcut. Fix that asymmetry and most of it disappears.
Capacity is a shared resource, and month-end is when you find out
Fabric runs on capacity: a pool of compute (measured in capacity units, the F-SKU you buy) shared across everything in the tenant: pipelines, dataflows, semantic model refreshes, report queries, notebooks. This is elegant until it is contended. A heavy Spark job, a badly-timed dataflow, and the finance refresh all landing at 9am on the last working day of the month is the classic way a Fabric tenant falls over precisely when it matters most.
What makes this hard to see coming is smoothing. Fabric smooths bursts of usage over time, which hides intermittent overload right up until sustained demand tips you into throttling, and then interactive reports slow down for everyone on that capacity, not just the job that caused it. The readiness work is capacity planning that nobody enjoys and everybody needs: estimate the real concurrent workload, decide whether one capacity or several (separating heavy engineering from interactive reporting) fits your usage, schedule the expensive jobs away from the interactive peak, and set up the Fabric Capacity Metrics app before go-live, not after the first outage. Capacity is a spectrum you size deliberately, the same discipline a data platform needs everywhere.
The migration assessment nobody wanted to do
The most expensive Fabric mistakes are made before Fabric is even switched on, in the assessment that got skipped because everyone was keen to start building. We’ll move the reports across is not a migration plan. It is a hope.
A real readiness assessment answers unglamorous questions. Which of your existing sources are actually fit to move, and which need cleaning first, because migrating a mess into Fabric just gives you a faster mess. What does each current report actually depend on, and which are still used at all (most estates carry a long tail of reports nobody has opened in a year). Where does business logic currently live, in a database view, a Power BI measure, an Excel file on someone’s desktop, and where should it live afterwards. What does done mean for each workload, and who signs it off. Skip this and you discover the answers mid-migration, at the worst possible time, having already committed to a date.
The readiness checklist, in one place
Before a Fabric rollout goes past proof of concept, these should be decided, not deferred:
Governance: a workspace taxonomy and naming convention; domains defined by business area; workspace creation restricted to a named group; dev/test/production separation agreed.
Trust: at least one certified, endorsed semantic model as the governed path; export and model-creation permissions set deliberately; raw ungoverned sources kept out of general reach.
Capacity: a realistic estimate of concurrent workload; a decision on single versus multiple capacities; heavy jobs scheduled off the interactive peak; the Capacity Metrics app in place before go-live.
Migration: a source-by-source fitness assessment; a report usage audit to kill the dead tail; a map of where business logic lives now and should live after; a signed-off definition of done per workload.
None of these are exotic. They are the difference between a Fabric tenant that is still trusted a year in and one that has quietly become the thing it was meant to replace.
Frequently asked questions
What are the most common Microsoft Fabric implementation risks?
The recurring ones are uncontrolled workspace growth (sprawl that makes ownership and lineage impossible to track), shadow BI (analysts rebuilding ungoverned versions of the numbers), capacity contention (shared compute throttling reports at peak times like month-end), and skipped migration assessment (moving unfit or unused content into Fabric). All four are governance and planning failures, not product faults, and all four are preventable before go-live.
How do you prevent workspace sprawl in Microsoft Fabric?
Decide a workspace taxonomy before building: a naming convention, dev/test/production separation, and domains grouping workspaces by business area. Restrict who can create workspaces to a small named group, and treat each production workspace as a deliberate act with an assigned owner rather than a self-service default. Structure is cheap to decide early and expensive to impose later.
What is Fabric capacity and why does it matter for planning?
Fabric capacity is a shared pool of compute (bought as an F-SKU, measured in capacity units) used by everything in the tenant: pipelines, dataflows, model refreshes, report queries, notebooks. Because it is shared, a heavy job can throttle interactive reports for everyone on that capacity. Fabric smooths bursts, which hides overload until sustained demand causes throttling. Plan real concurrent workload, consider separating heavy engineering from interactive reporting, schedule expensive jobs off-peak, and monitor with the Capacity Metrics app from day one.
Do we need a migration assessment before adopting Fabric?
Yes. The most expensive Fabric mistakes are made before it is switched on. A real assessment checks which sources are fit to migrate versus need cleaning first, audits which reports are still used, maps where business logic currently lives and where it should live afterwards, and defines what done means per workload with an owner to sign it off. Skipping it means discovering the answers mid-migration, after the date is already committed.
Hopton Analytics helps UK mid-market businesses adopt Microsoft Fabric without the sprawl, the shadow BI, or the month-end capacity surprise, with the governance and readiness work done before go-live, not after the first incident. If you are planning a Fabric rollout, or trying to get one back under control, book a free audit.
Shauna Duffy
Client Delivery Lead
Part of the Hopton Analytics team, delivering governed analytics programmes for UK mid-market organisations.
