NetSuite Insights & Guides | CuriousRubik

Modernize Enterprise Technology One Capability at a Time

Written by Akshay | Oct 22, 2023, 1:00:00 PM

A technology estate is rarely uniformly obsolete. Some components are reliable and difficult to replace without disturbing useful behavior. Others create a specific constraint, depend on unsupported technology or continue to exist after their business purpose has disappeared.

Treating the whole estate as one replacement decision hides those differences. It can turn a manageable problem into a large program whose scope is defined by the current system boundary rather than the business outcome.

For a technology leader, selective modernization means choosing the smallest coherent change that addresses the important constraint while preserving the parts that still serve the business. Small does not mean superficial. It means the boundary is justified by evidence rather than by a desire to rebuild everything in a preferred technology.

Locate the constraint at a useful level

Begin with the business capability that needs improvement. Is the problem an unsupported runtime, a slow release path, a difficult user journey, unreliable data exchange or an application that cannot handle a particular workload?

Trace the problem to the components and dependencies that materially contribute. A poor customer experience may come from an interface and workflow while the underlying transaction engine remains sound. An apparently slow application may be waiting on an external service that a rewrite would still need.

Separate current evidence from reputation. A system described as old may have a stable operating record and clear ownership. A newer component may be fragile because nobody understands its configuration. Age informs investigation; it does not replace it.

Document the consequence of leaving the constraint in place. This gives the business a basis for deciding whether to change now, contain the issue or defer while collecting more evidence.

Build a map of capabilities and dependencies

A useful map connects business capabilities to the systems that support them, the information they own and the people who operate them. Include scheduled jobs, exports, identity services and manual procedures that may be missing from architecture diagrams.

For each important component, record its current purpose, support condition, change frequency, operating performance and critical dependencies. The map need not begin as an exhaustive inventory; it should be detailed enough to support the decision at hand.

Ask who would notice if the component stopped. That question can uncover a report used by one team at month-end or a file that feeds a partner’s process. Conversely, it can reveal functions that remain maintained without a current user or obligation.

Validate the map with business and operating teams. A technically accurate diagram can still omit the reason a dependency exists or the workaround people use when it fails.

The resulting view should make selective choices possible instead of reinforcing the assumption that every capability must move together.

A membership organization can choose several treatments

Consider a hypothetical professional membership organization. Its core member ledger is stable and supports established renewal operations. Its public event-registration component struggles with concentrated demand. A custom identity helper uses an unsupported dependency. A legacy report appears unused, although that has not yet been confirmed with its former consumers.

One response is to replace the whole platform. That would also require reproducing the ledger’s valid behavior and migrating its history, even though neither is the identified constraint.

A more selective assessment could retain the ledger, redesign the registration boundary, replace the unsupported identity helper and investigate retirement of the report. These are different treatments for different reasons.

The registration change still needs a reliable relationship with membership status and event records. The identity replacement needs careful permission and session testing. The report can be retired only after confirming its dependencies and any relevant record obligations. Selectivity reduces unnecessary scope; it does not remove those responsibilities.

Different components can justify different modernization treatments. Confirm the boundaries before committing to the plan. Open full-size diagram

The example is a decision structure, not an observed case or a claim that this combination is always cheaper. A tightly coupled implementation could make separation expensive enough to change the preferred approach.

Compare treatments before choosing a replacement

Retaining a component can be reasonable when it meets the need, remains supportable and does not create unacceptable risk. Record the conditions that would trigger another review rather than treating retention as neglect.

Improving configuration or operational practice may resolve a problem without changing the application substantially. Examples include reproducible environments, better monitoring or a corrected data interface. Confirm that the improvement addresses the cause rather than merely disguising a symptom.

Refactoring can change internal structure while preserving intended behavior. It may reduce the cost or risk of a known class of change, but needs regression evidence and a clear purpose. Refactoring everything because the code is unattractive is not a business case.

Replacing a bounded component can remove a support or capability constraint while preserving other parts. Wrapping an existing capability behind a controlled interface can make it easier to use, but the wrapper also becomes a dependency that must be maintained.

Retirement can remove cost and complexity when the function is no longer needed. It requires verification of consumers, records and operational consequences, not simply low login activity.

These options can be combined. Their suitability depends on the actual system and the organization’s ability to operate the result.

Do not let a new interface conceal an unsafe core

Selective modernization can fail when a visible improvement is mistaken for resolution of a deeper problem. A modern portal does not fix an unsupported component if every transaction still depends on it. A new API does not make an unreliable source authoritative.

Trace the proposed benefit through the remaining dependencies. If the critical risk survives unchanged, say so in the decision. The interface improvement may still be valuable, but it should not be reported as removal of the underlying exposure.

GAO’s 2019 review of critical federal legacy systems identified issues including unsupported hardware and software and emphasized complete modernization planning. Those findings concern the reviewed federal systems, not a universal condition of older applications. They illustrate why support status and the actual remaining dependency deserve explicit attention. GAO, Agencies Need to Develop Modernization Plans for Critical Legacy Systems.

For the membership example, replacing the public interface while leaving the unsupported identity helper untouched would not resolve the identity-support concern. The plan needs to address that component directly or define a credible, time-bounded containment approach.

Make the boundary testable

Before funding a selective replacement, establish what crosses its boundary. Define inputs, outputs, identity, errors and ownership of state. Identify assumptions made by both the existing and proposed components.

Use representative examples to test whether the boundary is real. Can event registration obtain the membership information it needs without directly modifying unrelated ledger tables? Can an identity change be made without rebuilding every business rule? If not, the team may need preparatory work to create a safer boundary.

That preparatory work should be visible in the estimate. An adapter or data contract is not free merely because it is smaller than a full replacement. It can also introduce latency, failure handling and version-management obligations.

Compare old and new behavior against approved requirements. Do not assume every legacy output is correct, but investigate differences before exposing the business to them. Valid exceptions and deliberate behavior changes need to be distinguished from defects.

A bounded pilot can provide evidence, provided its limitations are explicit. Success in one operating condition does not prove that all users and workflows fit the same boundary.

Sequence changes to reduce dependency risk

Order the work according to prerequisites and business consequences. A shared identity improvement may need to precede a new customer interface. A retirement may become possible only after another consumer changes its data source.

Avoid launching several dependent changes simultaneously merely to make the program appear faster. When something goes wrong, the team needs enough observability to identify the cause and recover the affected service.

Define acceptance and recovery for each stage. Some changes can be reversed cleanly; others create new records or external effects that require reconciliation. A software rollback is not always a rollback of the business state.

Keep temporary components owned and give them an exit condition. Selective modernization should not leave a permanent collection of improvised bridges whose responsibilities are unclear.

Where the dependencies make incremental treatment impractical, consider a broader replacement honestly. The purpose of selective analysis is to find the justified scope, not to force every program into small releases regardless of the evidence.

Evaluate lifecycle obligations, not only delivery effort

A small change can create a large operating obligation if it adds a new platform, skill requirement or supplier relationship. Include monitoring, support, testing, security maintenance and future changes in the comparison.

Ask whether the team can diagnose the combined service. A modernized component that requires a separate specialist for every incident may increase the burden even if its development was quick.

Preserve knowledge of retained components. The decision to keep a stable core should include documentation and support continuity, especially where expertise is concentrated. Retention without stewardship can make the next change harder.

Compare outcomes across the alternatives: the constraint addressed, residual risk, time to useful benefit, transition effort and continuing cost. Keep uncertainty visible rather than reducing the choice to a score that conceals an unmet essential condition.

Keep the modernization map current

After each change, update the capability and dependency view. Record what was removed, what remains and which assumptions were confirmed or disproved. This prevents the next project from repeating the same discovery work.

Measure whether the original constraint has improved. A new component in production is not enough if registration still fails under the relevant demand or if the unsupported dependency remains on the critical path.

Review deferred decisions when their triggers occur. Growth, a support deadline or a changed business model can make a previously sound retention choice unsuitable.

Modernizing without rebuilding everything requires disciplined selectivity. The organization preserves useful capability, changes the parts that limit the business and keeps the resulting service understandable. That is a more demanding task than choosing a new technology, but it can produce a clearer and more proportionate investment.

Further reading