GENASSIST
NTT DATA · AI-Native Modernization
GenAssist · A Case Walkthrough

Reimagining a mainframe application at 7× speed — with GenAssist

Two regulated use cases taken off a 40-year mainframe COBOL estate and rebuilt in a modern Java/Spring platform, in about two weeks — with every rule proven against the mainframe before it shipped. 7× · Modeled

DAY 0 Estate ingested DAY 2 First use case live DAY 14 Both use cases live & demoed
Act I · 01  The Setup

A stalled modernization effort on a regulated estate

The client: a Fortune 50 transportation & logistics enterprise, running a Customs & Border Protection–facing estate on decades-old mainframe COBOL.

Engagement scope: two message-processing use cases — an outbound regulatory filing path and a three-stage inbound response chain. Critically, a modern Java/Spring target platform already existed — but the migration onto it had stalled at roughly 30% complete after 18 months of effort.

0 yrs
of accumulated business behavior in the mainframe estate — much of it documented only in the code itself
Client-reported
0%
of the migration to the new platform complete after 18 months of effort
Client-reported
2–3 months
the client's own advance sizing of these two use cases at a conventional delivery pace
Client's advance estimate
Why these efforts stall
On a compliance-critical estate, the largest risk is failing to fully account for the legacy system's behavior. That fear — that the team hasn't accounted for every single logical pattern in the new architecture — is what makes these initiatives grind to a halt before they start writing any code.
Act I · 02  The Headline

Fourteen days. Two people. Every rule proven.

Both use cases forward-engineered from COBOL into the client's Java/Spring target and demoed in about two weeks — the first in roughly 48 hours — by a team of two. And it's engineered and evidenced, not generated and handed off.

~48 hrs
the first use case, ingestion → working demo
Measured
Behind this numberThe outbound filing path: ingested, forward-engineered, and demoed live inside two days.
~14 days
both use cases live & demoed
Measured
Behind this numberDelivery timeline in the engagement final report: ingestion on day 0, first use case demoed day 2, both demoed day 14.
2 people
one engineer, one delivery lead
Measured
Behind this numberThe full delivery team: one engineer, one delivery lead. The loop runs at any team size — a larger team covers more of the estate at the same rate.
55 rules
mainframe rules rebuilt & verified — none left behind
Measured
Behind this numberThe behavioral-equivalence reports: 36 preserved as-is, 19 with a modernized mechanism and the same observable behavior — every one disclosed.
460+ tests
automated, behavior-level, green on the delivery build
Measured
Behind this number110 on the outbound path + 353 on the inbound chain. Every proven behavior has a test behind it.
100%
traceability — legacy source line → target code → test
Measured
Behind this numberThe traceability graph: every behavior anchored to its COBOL source and its Java implementation, verified in both directions.
~7×
vs. a manual rebuild of the same surface
Modeled
Behind this numberThe industry benchmark for this surface (~14 person-months) divided by the tracked actual (~2). The client's own 2–3 month sizing for a conventional team points to the same order.
~1,900 hrs
engineer-hours saved on this surface
Modeled
Behind this number~12 person-months of manual effort avoided, at ~160 hours each. A person-month is one person for one month — ~14 of them is a 4–5 person team for ~3 months.
Hover any tile for the detail behind it.
The other half of the result
Every rule the two mainframe programs enforce was reproduced in the target and verified against the mainframe before it shipped — backed by the 460+ test suite and end-to-end traceability. The rest of this walkthrough shows that proof, one layer at a time.
Act II · 03  The Method

A grounded loop, run against a digital twin

GenAssist ingests both estates — the legacy being left and the target being built — into a digital twin the agent can interrogate. The work then runs as one repeatable loop: reverse-engineer the legacy's behavior, ground it in a source-anchored spec, forward-engineer traceable code, prove equivalence — and iterate. Click a phase.

Produced along the wayEstate mapLegacy behavioral specService designSchema & data-model mappingTest strategyUser-story specsDeveloper-ready backlogEquivalence reportConformance auditContext inventory

Who's driving?

The one decision that generates everything else. Drag the dial.

Human-led · agent advisesAgent-led · human-gated
This engagement

Source-grounded validation

Intelligence accelerates discovery; source decides truth. No claim enters a deliverable until it's checked against the actual code and given a file:line anchor. This is what makes the velocity honest — you move fast because the grounding is cheap, not by skipping it.

Anti-circular verification

Under standard agentic implementations, the same agent tends to write a feature, its test, and its equivalence report — so all three can share a blind spot. An independent, rule-by-rule conformance audit, run separately with the legacy source as the only oracle, breaks the circle.

Safety, relocated
When the agent drives at speed, the safety function moves: from continuous manual review to the audit trail plus an independent verification pass. The agent can drive because that verification discipline catches what continuous human oversight otherwise would.
Act II · 04  Inside the Build

It converged into their target platform, not next to it

The new services were built to slot into the client's existing platform rather than beside it — the same naming conventions, the same internal structure, and the same shared rule engine as the services already running there. The table below shows that fit, dimension by dimension.

standing fleetregulatory-adapter · region A
standing fleetregulatory-adapter · region B
standing fleetregulatory-adapter · region C
standing fleetregulatory-adapter · region D
standing fleetshared rule engine
standing fleetprocessor family
new · this engagementoutbound filing adapter
new · this engagementinbound response adapter
new · this engagementinbound response processor
The three new services take their place inside the existing regulatory-adapter family — same naming convention, same shape, same conventions the rest of the fleet follows.
DimensionWhat was checked
Service naming & shapeNew services follow the fleet's adapter-family naming and module layout✓ conforms
Package layoutInternal structure mirrors the standing adapters, package for package✓ conforms
Messaging & routing idiomSame integration-routing framework and queue conventions as the fleet✓ conforms
Persistence idiomSame ORM-based persistence pattern used adapter-locally across the fleet✓ conforms
Environment configurationThe fleet's three-profile configuration model, externalized identically✓ conforms
Shared rule engineReused, not forked — new rules join the existing engine's execution order✓ conforms
Error handlingThe fleet's redelivery-then-dead-letter convention, so nothing is ever silently lost✓ conforms
Legacy · outbound filing module (COBOL)
*-- main path: archive FIRST, then transmit --*
2100-ARCHIVE-FILING.
    MOVE WS-FILING-BODY  TO ARCH-ROW-BODY
    MOVE 99     TO ARCH-SENTINEL-MAJ
    MOVE 99999  TO ARCH-SENTINEL-MIN
    EXEC SQL INSERT INTO ARCHIVE-STORE ... END-EXEC
    IF SQLCODE NOT = 0
       PERFORM 9100-DB-RETRY-LADDER
    END-IF.

2200-TRANSMIT-FILING.
    PERFORM 2100-ARCHIVE-FILING
    CALL 'MQPUT' USING CUSTOMS-QUEUE
                       WS-FILING-BODY.
Target · outbound filing service (Java / Spring)
@Transactional
public FilingResult file(FilingMessage msg) {
  // archive FIRST — preserves the legacy ordering
  // guarantee: a filing is never lost in flight
  ArchiveRow row = archiveService
      .persist(msg, Sentinel.MAIN_PATH);

  customsPublisher.publish(msg.normalizedBody());
  return FilingResult.filed(row.id());
}
// publish failure → redelivery → dead-letter queue;
// the archived row survives. Same guarantee,
// modernized mechanism — disclosed as Modified.
Illustrative excerpts, synthesized in the shape of the delivered code. The client's source is not reproduced here.
Act II · 05  The Golden Thread

One behavior, end to end

One mainframe rule, followed end to end — from its COBOL source line to the verdict that proves it survived. Every one of the 55 rules carries a thread like this. Click any node to open it.

Act II · 06  The System In Motion

Watch the rules fire

The delivered services were demoed live with an overlay showing every business rule firing — or deliberately holding back — as real messages flowed. This is that demo, re-created here so you can drive it: four scenarios, all of them real verified cases from the engagement. Pick one and run it.

Business rules on this path
Trace

States: fired — the rule executed · held back — the rule correctly chose not to act · idle — not on this message's path. The simulation is deterministic and runs entirely inside this page — no environment required.

One engine, reused — not forked

The new services plug into the platform's existing shared regulatory rule engine — 181 rules across 13 agenda groups, run in a fixed execution order. The engagement's rules joined that order; the engine was not copied or modified. The jurisdiction spread below is the honest scope — this engagement's surface is the US slice, not the whole engine.

Agenda groups, in execution order
Act II · 07  The Evidence Room

The deliverable set is the product

A modernization that ships only code has proven nothing durable. Each unit of work here shipped with its evidence — and a unit of work isn't done until its artifacts exist. The artifacts are what separate a verified modernization from a rewrite that merely looks correct.

Act III · 08  The Value Readout

The economics

~14 person-months
The same behavioral surface rebuilt by hand — published industry rate (~4 developers × 4–6 months per 10K lines) Modeled
~2 person-months
GenAssist-accelerated, internally tracked — one engineer + one delivery lead Measured

~7×, roughly ~1,900 engineer-hours saved on this surface Modeled. The ~7× is a conservative figure: it credits only the behavior that was proven, and the manual comparator is a published industry benchmark rather than the client's timesheet. The client's own advance sizing of these two use cases — two to three months at a conventional delivery pace — points to the same order.

Run it against your estate

The engagement's realized rate — on the order of ~250–300 engineer-hours saved per 1,000 lines taken through the loop, roughly ~15 person-years per 100,000 lines — applied to inputs you control. Modeled · a decision aid, not a forecast.

engineer-hours avoided Modeled
person-years of manual effort avoided Modeled
hours saved per 1,000 lines, at this complexity
It scales with the team
Two people ran this proof of value. The same loop runs at any team size, and the acceleration applies to whatever capacity you bring — a larger team covers more of the estate on the same economics, with working code landing in weeks rather than quarters.
Act III · 09  Beyond The Assistant You Already Have

Two different jobs

An in-editor assistant answers "what's the next line of code?" Modernization asks harder questions: what does the mainframe actually do, did we keep it, and can we prove it? — questions that span two codebases and forty years of behavior locked between them.

In-editor assistant

velocity, in context
  • Completes functions, drafts tests, explains the open file
  • No model of the legacy it's replacing
  • No legacy baseline to measure equivalence against
  • No record of why a suggestion was made

GenAssist

understanding · traceability · proof
  • Ingests both estates into a digital twin and reverse-engineers what the mainframe actually does
  • Holds the legacy baseline — equivalence is a checked fact, not a hope
  • Anchors every decision to a source line an auditor can follow
  • Feeds your existing assistants better inputs — a multiplier, not a replacement
The short answer
Keep your engineers on the assistant for in-editor speed. GenAssist supplies the grounded understanding, the end-to-end traceability, and the behavioral proof that make that speed safe on a system you can't afford to get wrong.
Act III · 10  On Your Estate

What this looks like on your estate

The engagement runs a fixed shape — small, concrete, and de-risked by the loop itself. Week one is ingestion and behavior extraction: the phase where discovery time collapses.

01Qualify
02Onboard the system
03Onboard the humans
04Build the spec set
05Forward-engineer
06Demonstrate
07Hand off

Setup cost is one-time

Access, environment knowledge, and documentation become standing assets. Each subsequent module starts ahead of the last as the knowledge graph grows — the method compounds.

Where it stands today

The delivered system was proven in a sandbox against real production payloads. Wiring it into the live production environment is a defined, scoped step in the production engagement.

Velocity and the audit trail.

That's the practice: modernization at agent speed, grounded so it survives an audit. Proven on a customs-grade estate — repeatable on yours.