Last updated June 22, 2026 by Errin O'Connor, Founder & Chief AI Architect, EPC Group
Most legacy BI to Microsoft Fabric modernizations stall at the same three places. None of the three is a technology failure. All three are governance failures. The roadmap below is the structural fix.
The three stalls
Stall 1: Scope sprawl
“While we're at it” expands the program past justified ROI. The modernization that started as a Cognos retirement now also includes the data-quality remediation everyone has wanted for three years, the master-data work the new CFO put on the roadmap, and a Copilot rollout that nobody originally scoped. Each addition makes sense individually. Together they push the program timeline past the patience of the executive sponsor and the budget past justification.
Stall 2: Semantic-model debt carried forward
The legacy semantic models — the cubes, the universes, the workbooks — get translated to the new platform as-is. The modernization becomes a port, not a re-architecture. The debt that made the legacy reports inconsistent comes along for the ride. The new platform inherits the old problems. The CFO still sees a different number in the new dashboard than in the old one — and now the conversation is about whether the modernization was worth it.
Stall 3: Legacy platform coexistence that never ends
The legacy platform refuses to retire because nobody owns the deprecation timeline. License renewal comes around; someone signs it for one more year. Three years later the organization is paying for two platforms and the modernization business case is destroyed. The deprecation timeline needed an owner with budget authority. Without one, coexistence is permanent.
The roadmap that works
Phase 0: Assessment (fixed fee, 4-6 weeks)
EPC Group runs this as a productized assessment. Deliverables:
- Inventory of every legacy report, dashboard, cube, universe, workbook, automation across the source platform.
- Usage telemetry — who actually opens what, how often, with what action taken.
- Business-value scoring per report (executive owner, decision impact, audit/regulatory dependency).
- Retire-or-keep decision per report with justification.
- Migration cost estimate per kept report.
- Fabric capacity sizing for the target workload mix.
- Phased migration plan with milestone-based fixed-fee proposal.
Phase 1: Foundation
- OneLake provisioning, medallion architecture established.
- Microsoft Purview baseline classification on data sources that will land in OneLake.
- Initial Fabric capacity right-sized for Phase 2 workload.
- Source connectivity established (CDC where viable, batch otherwise).
Phase 2: First domain migration with certification
One business domain migrated end-to-end with certified semantic models. The discipline established here sets the pattern for every subsequent domain — see our AI-Safe Power BI Rollout Playbook for the certification cadence and FINRA risk reporting playbook for the RLS design discipline.
Phase 3-N: Phased domain migration
Subsequent domains follow the same pattern. Each domain has explicit retire-or-keep decisions, certified semantic models, RLS designed against test cases. The named customer owner decides when to start each phase based on user readiness and business priority — not based on consultant pressure to keep utilization.
Phase N+1: Legacy platform deprecation
Named owner of the deprecation timeline. License retirement scheduled and budgeted. Content migration or archive completed. User training transition closed. The platform is off — not paid-for-and-mostly-unused.
Per-source platform patterns
| Dimension | Modernization pattern | Key gotcha |
|---|---|---|
| IBM Cognos | Cube/package logic re-architected as Direct Lake semantic models; framework manager content informs but does not translate | Burst reports without business value consume scope budget — explicitly retire |
| MicroStrategy | Schema objects + attributes → semantic model dimensions; metrics → DAX measures with test parity | Personalization-heavy reports require explicit RLS re-design |
| Tableau | Workbook logic translated to certified semantic models; published data sources become the certification anchor | User-defined calculations vs centrally-certified — establish the certification gate explicitly |
| Qlik (QlikView / Qlik Sense) | Associative model paradigm does not translate directly — re-model in semantic layer with explicit relationships | Section access logic requires careful RLS re-design |
| SAP BW / BW/4HANA | BEx queries inform semantic model design; ODP-based CDC into OneLake bronze; or SAP Datasphere coexistence pattern | Authorization objects require explicit RLS mapping; do not assume parity |
| Legacy Synapse Dedicated SQL Pool | Workload migration to Fabric Warehouse with same SQL surface; staged for compatibility validation | Capacity reservation differences — model F-SKU sizing carefully |
| Snowflake (coexistence preferred) | Direct Lake or mirroring patterns — Fabric reaches Snowflake data without religious-war migration | Cost-of-coexistence model needed up front |
| Oracle BI / OBIEE | RPD logic informs semantic model design but does not translate; phase out gradually with Fabric workspaces aligned to former subject areas | Centralized administration model differs — establish Fabric capacity governance early |
| Power BI Premium import-mode estate | Move to Direct Lake semantic models on Fabric; preserve existing workspaces, retire import-mode refresh chains | Per-tenant Premium capacity decision — sometimes F-SKU is cheaper, sometimes not |
The cost model
- Fabric capacity (F-SKU sizing). Depends on workload mix, concurrency, peak query patterns. Right-sized based on the assessment-phase workload analysis. Reserved capacity discounts apply for committed deployments.
- Implementation services. Depends on scope, source platform complexity, semantic-model count, RLS depth. EPC Group prices this as fixed-fee per phase after assessment.
- Deprecation cost. License retirement, content migration or archive, user training transition. The most-forgotten line item in modernization business cases — and the one that gets discovered after commitment if not surfaced up front.
- Ongoing governance and managed services. Operate-stage cost — see Managed Microsoft Services for the model.
Where this connects
- Microsoft Fabric Consulting — the parent practice.
- Azure Analytics Architecture — the broader pattern.
- Power BI Consulting — the distribution layer.
- Data Governance — the Govern stage.
- Microsoft-First, Hybrid-Capable Integrations — Snowflake / SAP coexistence.
- The EPC Group Lifecycle — Modernize stage anchored.
- Fixed-Fee Accelerators — assessment phase pricing.
- AI-Safe Power BI Rollout — certification cadence companion.
- CIO Evaluation Framework — the partner-selection companion.
Assessment first. Phased scope with retire-or-keep decisions. Certification as a gate. Named owner of deprecation with budget. Multiple models. One truth. Modernize accordingly.
Frequently Asked Questions
Single business domain with a clean source layer: 12-16 weeks. Multi-domain enterprise modernization with material remediation needs on the underlying data estate: 6-12 months. EPC Group sells this as a fixed-fee Modernize-stage engagement with milestone-based payments and a fixed-fee assessment running first to produce the cost-and-risk model before implementation work begins.
Scoping a legacy BI to Fabric modernization?
Start with a fixed-fee assessment. Get the cost-and-risk model before committing to implementation.
