Stork Delivery

Modernize the part that is holding you back

An older application can often improve one capability at a time, provided you define how the old and new parts will coexist.

Repeating steel beams along a bridge.
Photo: Wolfgang Weiser / Pexels

The problem: replacing everything can put working business rules at risk

An older system can be frustrating and still contain years of business knowledge. Replacing it all at once means rediscovering that knowledge while the business waits for a new application to catch up.

Sometimes the better first move is to replace the part causing the most trouble.

A slow reporting function, a difficult customer intake process, or an unsupported integration may have a boundary you can improve without rewriting the entire system.

A practical approach

Find a boundary you can explain

Choose a capability with a clear input, output, and owner. “Everything related to customers” is a broad starting point. “Accept new service requests and pass validated requests to the existing work-order system” is easier to test.

Microsoft's Strangler Fig pattern describes gradual replacement of parts of a legacy application. The useful idea is controlled coexistence: move specific responsibilities while the remaining system continues to operate.

This approach still requires engineering work. A poorly defined boundary can create a new application that remains tightly coupled to everything it was meant to replace.

Decide who writes the data

When old and new applications share information, establish which one can update each record. Two systems independently changing the same value can introduce more confusion than the original system had.

Plan identifiers, synchronization, and reconciliation. If you must keep a temporary copy, define how you will detect that it has fallen behind.

Include the return path. If the new feature needs to be disabled, what happens to records created while it was active?

Test the business exceptions

Ask experienced users for the cases that do not follow the normal path. An old application may contain a peculiar-looking rule because a major customer or supplier requires it.

Preserve the rule only if it is still needed, but make that a deliberate business decision. Do not assume every awkward behavior is accidental.

Retire something when the new part works

A phased modernization project needs a retirement plan. Otherwise, the business accumulates another system and keeps maintaining the old process indefinitely.

Choose evidence for the handoff: representative transactions completed, reconciliations passing, support ownership assigned, and users able to handle exceptions. Then remove the redundant step when it is safe.

Custom software work can create a manageable route forward without asking the business to abandon everything that already works.

The result: one improved capability and one retired workaround

Select a single legacy boundary and agree on its acceptance cases with experienced users. Move representative work through the replacement, reconcile the resulting records, and rehearse disabling it. Once the checks pass and support is assigned, retire the redundant step. The first phase should leave less duplicated work to maintain, with a clear plan for the remaining legacy responsibilities.

← Explore the library