Vineet Kumar profile picture

Vineet Kumar

+1 437-428-2199   |   contactkrvineet@gmail.com
Case Study · Legacy System Migration

Legacy System Migration — Data Validation, Data Reconciliation & Quality Engineering

A legacy source-to-target migration where I personally performed data profiling, record-count reconciliation and field-level validation to help answer one question: did the right data arrive, correctly, in the right place?

How to read this case study. This is a real engagement. Specific client, source and target platform names, industry details, migration architecture, team size and final outcome are deliberately not stated and are marked as placeholders throughout — I will confirm them individually in an interview. Confirmed hands-on activities are called out explicitly. Governance, test-plan and management content on the companion page are presented as proposed methodology, not as a claim that I executed every activity.
Project Objective

The objective was to validate the completeness, accuracy, and consistency of data transferred from the source database to the target database through data profiling, record-count reconciliation, and field-level validation. The validation activities were intended to identify discrepancies, investigate variances, and provide evidence of data integrity against agreed requirements and transformation rules.

A

Project overview

Context & business situation

An existing [Confirm: source system / platform & version] was planned to be migrated to a [Confirm: target system / platform & version]. The business driver was [Confirm: regulatory, modernization, consolidation, vendor change, cost, or other], and the migration covered [Confirm: scope — subset of tables, full database, specific business domain].

Because downstream consumers — reports, operational workflows and integrated systems — depended on the migrated data, data integrity became a primary quality concern. The migration workstream required an independent QE validation stream to establish, with evidence, whether the data arriving in the target matched expectations and transformation rules agreed with the business and the migration engineering team.

My engagement focused on the SQL-based validation part of that workstream: profiling the source, reconciling record counts between source and target, and performing field-level reconciliation against the agreed mapping.

C

Migration challenge & quality risks

What a validation workstream must address

Any legacy migration carries a predictable set of data-quality risks. The list below shows the risks a validation workstream should plan to cover. Which of these actually materialised on this project — and how we investigated them — I describe behind the placeholders in sections D and F.

Illustrative, not exhaustive. Which of these risks were in scope for this project, and which were formally planned for by other workstreams, is on the companion End-to-End Migration Test Plan.
D

My role & responsibilities

Confirmed hands-on contribution

The activities below are what I personally executed on this project. Items beyond this list — migration architecture, ETL authoring, production cutover, programme management — belong to other workstreams or roles.

  1. Hands-on data profiling Confirmed

    I ran SQL queries against the source database to establish a baseline of what the data actually looked like — completeness, distributions, nulls, duplicates, out-of-range values — before any comparison with the target. Profiling results informed the mapping conversations and flagged pre-existing quality issues that needed an explicit carry-forward or clean-up decision.

  2. Source-to-target record-count validation Confirmed

    I compared row counts between source and target at the grain agreed with the migration team — whole table, by business key, by load date, by partition. I did not treat a count match as proof of correctness; mismatches became investigation items with a specific root-cause question attached to each.

  3. Field-level data reconciliation Confirmed

    I compared corresponding fields in matched source and target records against the agreed mapping and transformation rules. The reconciliation accounted for data-type differences, null handling, date and precision rules, and any business transformations expected on the path from source to target.

  4. Reviewing validation results & investigating discrepancies Confirmed, to the extent noted below

    Where SQL profiling and reconciliation surfaced discrepancies, I investigated them against the source data, the mapping specification and (where applicable) the ETL behaviour, and worked with the migration engineering team on the specific items I raised. [Confirm: ownership of defect triage, escalation path, final sign-off authority].

E

Technical execution

Methodology behind each confirmed activity
SOURCE SYSTEM [Confirm: platform] Legacy database tables & records MIGRATION & TRANSFORM [Confirm: tool / architecture] Extract · Transform · Load with mapping rules TARGET SYSTEM [Confirm: platform] New database tables & records QE VALIDATION — SQL-BASED, HANDS-ON 1. Data profiling Baseline source quality: nulls, duplicates, distributions 2. Record-count reconciliation Source vs target at agreed grain, with filters & exclusions 3. Field-level reconciliation Matched rows on business key, field-by-field against mapping

Source → Transform → Target, with the three SQL-based validation layers I personally executed shown below the pipeline.

Data profiling

  • Establish data-quality baselines against the source
  • Examine completeness, distributions and relevant anomalies
  • Identify potential nulls, duplicates and invalid values where applicable
  • Document pre-existing issues the migration cannot be expected to fix

Record-count reconciliation

  • Compare source and target populations at an appropriate level
  • Account for agreed filters, exclusions and transformation rules
  • Investigate differences rather than rely on matching totals
  • Track the explanation (not just the delta) for every mismatch

Field-level reconciliation

  • Compare corresponding fields using suitable business keys
  • Validate mappings and expected transformations
  • Account for nulls, data types, precision, dates and business rules
  • Classify discrepancies as mapping, transform, data-quality or source

Illustrative SQL — not actual project queries

Query shapes a QE engineer would typically run during each layer. These are illustrative examples, not the actual queries used on this project; schema and table names are fictional.

Example 1 · profiling nulls & distinct values
-- Profile a key source column: completeness, cardinality, distribution
SELECT
    COUNT(*)                              AS total_rows,
    COUNT(customer_id)                    AS non_null_rows,
    COUNT(*) - COUNT(customer_id)       AS null_rows,
    COUNT(DISTINCT customer_id)         AS distinct_values,
    MIN(customer_id)                      AS min_val,
    MAX(customer_id)                      AS max_val
FROM   src_customers;
Example 2 · source vs target row-count reconciliation
-- Expect zero-row result if counts match at the agreed grain
WITH src AS (
    SELECT 'customers' AS entity, COUNT(*) AS src_cnt FROM src_customers
    WHERE status IN ('ACTIVE', 'DORMANT')      -- agreed migration filter
), tgt AS (
    SELECT 'customers' AS entity, COUNT(*) AS tgt_cnt FROM tgt_customer
)
SELECT  src.entity,
        src.src_cnt,
        tgt.tgt_cnt,
        tgt.tgt_cnt - src.src_cnt AS delta
FROM    src JOIN tgt ON src.entity = tgt.entity
WHERE   src.src_cnt <> tgt.tgt_cnt;
Example 3 · duplicate business-key check
-- Business key must be unique in target; any row returned = defect
SELECT  customer_id, COUNT(*) AS occurrences
FROM    tgt_customer
GROUP BY customer_id
HAVING  COUNT(*) > 1;
Example 4 · field-level reconciliation on matched keys
-- Join on the agreed business key; return any field-level mismatch
-- NULL-safe comparisons prevent false negatives when both sides are NULL
SELECT  s.customer_id,
        s.email       AS src_email,
        t.email       AS tgt_email,
        s.last_name   AS src_lname,
        t.last_name   AS tgt_lname,
        s.updated_at  AS src_updated,
        t.updated_at  AS tgt_updated
FROM    src_customers s
JOIN    tgt_customer  t ON s.customer_id = t.customer_id
WHERE   COALESCE(s.email,      '') <> COALESCE(t.email,      '')
   OR   COALESCE(s.last_name,  '') <> COALESCE(t.last_name,  '')
   OR   COALESCE(s.updated_at, '1900-01-01') <>
       COALESCE(t.updated_at, '1900-01-01');
Example 5 · referential-integrity probe
-- Orphans: child rows in target whose parent didn't migrate
SELECT  o.order_id, o.customer_id
FROM    tgt_order o
LEFT   JOIN tgt_customer c ON o.customer_id = c.customer_id
WHERE   c.customer_id IS NULL;
F

Results, evidence & lessons learned

To be confirmed with specifics

Validation generated structured evidence — profiling summaries, source-vs-target count reconciliations, field-level diff reports and documented exceptions. Specific project numbers and the final acceptance decision are intentionally held back here and marked for confirmation.

Evidence produced during the engagement

  • Source-side profiling results across each in-scope entity (completeness, distributions, anomalies)
  • Source-vs-target record-count reconciliation reports at the agreed grain, with filters applied
  • Field-level reconciliation reports for matched rows against the mapping specification
  • Documented exceptions — discrepancies, their classification and their investigation state

To confirm in interview

Honesty note. I will not list numbers for these items on a public page without the evidence to back them up. Evidence produced is not evidence of a successful outcome; the two are separate claims and both need to be defensible.
G

Quality governance & business significance

Proposed practices, labelled

Data validation evidence does more than confirm individual records. In a migration programme it feeds defect triage, risk assessment, acceptance decisions and release-readiness reporting to leadership. Profiling results shape the mapping conversation; reconciliation reports gate the next cut-over rehearsal; exception logs become the backlog for the migration-engineering team and the business owners who sign off.

Scope label. The governance activities above describe proposed practices — how validation evidence should inform management decisions on a well-run migration. They are not a claim that I personally owned release governance, defect triage authority, acceptance sign-off or stakeholder reporting on this specific project unless confirmed in [Confirm: governance scope]. The companion end-to-end test plan expands this governance layer at Test Manager level.
H

Key takeaways

The value of combining these practices