Parallel Run
A parallel run is a bounded period in which old and new implementations process comparable real work and their outputs are repeatedly assessed against agreed criteria. It can occur before or after the new implementation becomes authoritative. Cartwright, Horn, and Lewis describe this approach for business-critical aggregations such as month-end reports. The business owner defines what the figures mean and which differences are acceptable; engineers and domain specialists investigate the results together.
It can overlap with shadow testing, where a candidate receives copied inputs and its answer does not replace the production answer. The distinction is not who reviews the results: shadow tests can include business metrics and business reviewers. A parallel run emphasizes repeated comparison over an agreed operational period. reconciliation is the comparison itself. Match input scope and snapshot or applied source position, and measure freshness separately. Assign authority for each action and disable, mock, or isolate comparison-path payments, notifications, and other effects so processing the same work twice does not perform the action twice.
Interpreting differences and ending the run
The legacy-displacement authors warn that old reports may contain undiscovered bugs. A mismatch can also come from different inputs, cutoffs, configuration, or an approved change in business meaning. Align those conditions before attributing the difference to a faulty implementation. Known-input tests, independently reasoned expected results, and calculation traces can help; a third running system is not required. In a fictional telecom, a comparison exposed a rounding rule the old report had applied for nine years. Finance approved the corrected rule and recorded the expected difference and its rationale, while keeping alerts for unexplained deviations. Calling a difference known without that decision would not resolve it.
Choose an observation period that exercises the important business cycles and workflows. End the run after the agreed coverage is complete, results meet approved criteria, and unexplained differences are resolved. The legacy implementation remains fed for the comparisons it still performs, with an owner and an end condition. That comparison role does not by itself mean it can resume production writes: recovery needs a separate compatibility and state-transfer contract. Once comparison and any other obligations end, the old implementation may be retired. How these decisions relate to draining, fallback, and retirement is covered in The Counts Matched and the Totals Did Not.
References:
Discover more from Insightful Data Lab
Subscribe to get the latest posts sent to your email.
