Skip to content
ManufacturingEnterpriseKSA8 monthsModernizationCS-2024-06 · disclosure level 4

Replacing a system that was never allowed to stop

An AS/400 running the production line, with no maintenance window and nobody left who had written it.

New line setup
5 weeks4 days-88%
Modules migrated
06+6
Stoppages
000

Measured across the migration window. Source: change log and MES records, October 2024

Context

A manufacturer running scheduling, inventory and quality control on an AS/400 system that had been extended continuously since the 1990s. The original developers had left the business years earlier.

The constraint

The thing that ruled out the obvious answer.

The line ran continuously. There was no maintenance window at all, and a stoppage carried a cost per hour that exceeded the entire monthly project spend. Every step had to be reversible within minutes.

Diagnosis

The system was not one application, it was seven functional areas sharing a database and forty years of implicit coupling. Nobody had a map. The first real deliverable was not code, it was a dependency graph built by reading the source and tracing every table access.

Decision

What we rejected, and what we chose instead

Any firm can describe what it built. The useful record is the option that was on the table and did not survive.

Rejected

Big bang migration over a shutdown weekend

A single irreversible cut over on a line that cannot stop. If reconciliation failed at hour six, there was no path back that did not cost more than the project.

Chosen

Strangler pattern, one module at a time

Each module runs in parallel until its outputs match for a full production cycle, then traffic moves. Any step reverts by changing one routing flag.

Build

What was actually implemented

JavaPostgresKafkaTerraformAWSAS/400 bridge
  1. 01Dependency graph produced by static analysis of the existing source before any code was written
  2. 02Facade in front of the AS/400 so callers stopped depending on it directly
  3. 03Modules migrated in dependency order, least coupled first
  4. 04Parallel run per module with automated output comparison over a full cycle
  5. 05Routing flag per module, revertible without a deploy
Result

Measured, not estimated

Six of nine modules migrated within the engagement with zero unplanned stoppages. Adding a new product line moved from five weeks of specialist work to four days of configuration.

Measured across the migration window. Source: change log and MES records, October 2024

BEFOREAFTER-77%-55%-83%-34%
The dependency map eliminated months of uncertainty.
Head of Manufacturing IT
Next

More from platforms and integration

Pillar

Platforms and integration

Custom platforms, ERP and CRM integration, and legacy modernization that does not require stopping the business while it happens.