<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en"><generator uri="https://jekyllrb.com/" version="3.10.0">Jekyll</generator><link href="https://bitransition.com/feed.xml" rel="self" type="application/atom+xml" /><link href="https://bitransition.com/" rel="alternate" type="text/html" hreflang="en" /><updated>2026-09-17T11:48:55+00:00</updated><id>https://bitransition.com/feed.xml</id><title type="html">BITransition</title><subtitle>Your BI estate — models, transformations, calculations, dashboards — decompiled into open specifications you own, then regenerated natively on whichever BI platform you choose.</subtitle><author><name>BITransition Ltd.</name></author><entry><title type="html">Proving parity: how to know the numbers still match</title><link href="https://bitransition.com/insights/proving-parity/" rel="alternate" type="text/html" title="Proving parity: how to know the numbers still match" /><published>2026-09-09T00:00:00+00:00</published><updated>2026-09-09T00:00:00+00:00</updated><id>https://bitransition.com/insights/proving-parity</id><content type="html" xml:base="https://bitransition.com/insights/proving-parity/"><![CDATA[<p>The fastest way to lose trust in a new BI platform is for someone to spot a number that doesn’t match the old one. After that, every figure is doubted, and people keep the old dashboards open “just to check”. Parity testing exists to make sure that moment never happens.</p>

<h2 id="looking-right-isnt-enough">Looking right isn’t <em>enough</em></h2>

<p>A rebuilt dashboard can look identical and still be wrong. Common causes:</p>

<ul>
  <li>A calculation evaluated in a different context — per row instead of per group, or across a join that fans out.</li>
  <li>A filter applied at a different stage.</li>
  <li>Nulls, rounding or time zones handled differently.</li>
  <li>Row-level security that’s slightly more or less permissive than before.</li>
</ul>

<p>None of these show up in a visual check of one screen with one set of filters.</p>

<h2 id="what-a-parity-test-does">What a parity test <em>does</em></h2>

<p>For each migrated metric, a parity test asks the source and the target the same question, across the same slices, and compares the answers:</p>

<ol>
  <li><strong>Choose the slices</strong> the dashboards actually use — by period, region, product and so on.</li>
  <li><strong>Query both platforms</strong> for the metric at each slice.</li>
  <li><strong>Compare</strong> the results within an agreed tolerance: exact for counts and currency, explicit for anything else.</li>
  <li><strong>Report</strong> every result, and block cutover for anything that fails.</li>
</ol>

<p>Because the tests are automated, they can be run after every change, not just once before go-live.</p>

<h2 id="test-the-permissions-too">Test the <em>permissions</em> too</h2>

<p>Parity isn’t only about values. For each security role, check that a user in that role sees the same rows on both platforms. A migration that shows the right numbers to the wrong people isn’t a success.</p>

<h2 id="make-it-part-of-sign-off">Make it part of <em>sign-off</em></h2>

<p>Parity reports work best as the basis for business sign-off. Instead of “does this look right to you?”, owners are asked to approve a report showing every metric that was tested, at which slices, and with what result. That’s a much easier conversation — and a much more defensible one.</p>

<p>Parity testing is built into every <a href="/services/full-migration/">full migration</a>. Read more about <a href="/risk-governance/">risk and governance</a>.</p>]]></content><author><name>BITransition Ltd.</name></author><summary type="html"><![CDATA[A migrated dashboard that looks right isn't finished. Here's how automated parity tests show the numbers really match before anyone cuts over.]]></summary></entry><entry><title type="html">Retire before you migrate</title><link href="https://bitransition.com/insights/retire-before-you-migrate/" rel="alternate" type="text/html" title="Retire before you migrate" /><published>2026-08-26T00:00:00+00:00</published><updated>2026-08-26T00:00:00+00:00</updated><id>https://bitransition.com/insights/retire-before-you-migrate</id><content type="html" xml:base="https://bitransition.com/insights/retire-before-you-migrate/"><![CDATA[<p>Every BI estate collects clutter. A dashboard built for a project that finished. A copy made “just to try something”. A report the one person who used it left behind two reorganisations ago. On a single platform, this clutter mostly costs attention. In a migration, it costs real money, because every object moved is an object someone has to translate, test and support.</p>

<h2 id="start-with-evidence">Start with <em>evidence</em></h2>

<p>Rationalisation goes wrong when it’s based on opinion. Everyone thinks their dashboards are essential. The answer is to put evidence in front of the people who decide:</p>

<ul>
  <li><strong>When was it last opened, and by how many people?</strong></li>
  <li><strong>Who owns it?</strong> Is that person still here?</li>
  <li><strong>What depends on it?</strong> Does anything else read this dataset?</li>
  <li><strong>Is there a near-identical version?</strong> Which one do people actually use?</li>
</ul>

<p>A read-only scan of platform metadata and usage answers most of these questions without anyone opening a dashboard.</p>

<h2 id="four-kinds-of-clutter">Four kinds of <em>clutter</em></h2>

<ol>
  <li><strong>Dormant content</strong> — not opened in a long time.</li>
  <li><strong>Duplicates</strong> — copies that have drifted apart in small, unexplained ways.</li>
  <li><strong>Conflicting metrics</strong> — several definitions of the same business term, giving different answers.</li>
  <li><strong>Orphaned data</strong> — datasets and pipelines that no longer feed anything anyone looks at.</li>
</ol>

<h2 id="retire-consolidate-migrate">Retire, consolidate, migrate</h2>

<p>Each candidate gets one of three outcomes:</p>

<ul>
  <li><strong>Retire</strong> — no longer needed. It stays in the open specifications, so nothing is truly lost and it can be brought back.</li>
  <li><strong>Consolidate</strong> — merge duplicates and agree one definition for each metric.</li>
  <li><strong>Migrate</strong> — used and needed, so it goes into the migration backlog.</li>
</ul>

<p>Because retired items remain as specifications, owners are more willing to let things go. The decision can be reversed without an archaeology project.</p>

<h2 id="why-it-matters">Why it <em>matters</em></h2>

<p>A smaller estate is quicker to migrate, cheaper to run and easier to secure. It also gives people fewer conflicting answers — which is often the benefit they notice most.</p>

<p>Rationalisation is part of every <a href="/services/estate-assessment/">estate assessment</a> and <a href="/services/full-migration/">full migration</a>, and it’s worth doing even if you’re staying put. <a href="/services/rationalisation/">More on rationalisation</a>.</p>]]></content><author><name>BITransition Ltd.</name></author><summary type="html"><![CDATA[The cheapest dashboard to migrate is the one nobody opens. How to use evidence to shrink an estate before it moves.]]></summary></entry><entry><title type="html">Nobody should migrate twice</title><link href="https://bitransition.com/insights/nobody-should-migrate-twice/" rel="alternate" type="text/html" title="Nobody should migrate twice" /><published>2026-08-12T00:00:00+00:00</published><updated>2026-08-12T00:00:00+00:00</updated><id>https://bitransition.com/insights/nobody-should-migrate-twice</id><content type="html" xml:base="https://bitransition.com/insights/nobody-should-migrate-twice/"><![CDATA[<p>Most BI migrations follow the same pattern. A team picks a new platform. Analysts open each old dashboard, work out what every number means, and build it again. Months later, the new estate is live and the old contract ends.</p>

<p>It feels like progress. But look at what the organisation actually has at the end: the same analysis, now bound to a different vendor’s file format. The knowledge gained — what each calculation means, which dashboards matter, where every number comes from — lives in people’s heads and in the new platform’s proprietary objects.</p>

<h2 id="the-cost-comes-back">The cost comes <em>back</em></h2>

<p>Platforms don’t last forever. Pricing changes, strategies shift, companies are acquired. When the next move comes, the estate has to be interpreted again from scratch — often by different people, with no guarantee they’ll reach the same answers.</p>

<p>That’s the real cost of a hand rebuild. It isn’t just the first migration. It’s that the expensive part — understanding the estate — has to be paid for again every time.</p>

<h2 id="split-the-migration-in-two">Split the migration in <em>two</em></h2>

<p>There’s a better way to structure the work. Split it into two halves:</p>

<ol>
  <li><strong>Translate the estate into open specifications.</strong> Models become SQL, transformations become Airflow and Python, and dashboards become JSON and YAML definitions, with a field-level lineage graph behind them. This half is platform-neutral, and it’s where the understanding is captured.</li>
  <li><strong>Regenerate natively on the target BI platform.</strong> Our automated migration tool turns the specifications into native artifacts, with calculations rewritten in the target’s own language.</li>
</ol>

<p>Only the second half is specific to a platform. The first is done once, and it doesn’t expire.</p>

<h2 id="what-changes">What changes</h2>

<p>When the estate lives in open specifications in your own repository:</p>

<ul>
  <li><strong>Changing platform again</strong> means re-running our automated migration tool, not starting a complete migration project.</li>
  <li><strong>Reviewing a change</strong> means reading a plain-text diff.</li>
  <li><strong>Answering “where does this number come from?”</strong> means following the lineage graph, not reading old code.</li>
</ul>

<blockquote>
  <p>The expensive half is done once, and it never expires.</p>
</blockquote>

<p>If a migration is on your roadmap, <a href="/#scan">start with a free estate scan</a> and find out what’s actually in your estate.</p>]]></content><author><name>BITransition Ltd.</name></author><summary type="html"><![CDATA[Hand-rebuilt migrations lock your analysis into the next platform just as tightly as the last. Open specifications break that cycle.]]></summary></entry></feed>