From COBOL to cloud: How to pay down technical debt

Government IT leaders should think in layers, not silos

Earlier this year, news headlines about government agencies desperately searching for COBOL programmers put a spotlight on the technical debt inside many IT departments. Technical debt accrues when keeping your systems responsive today comes at the expense of pushing off updates, upgrades, and enhancements to some future date. It’s like failing to properly maintain your car; eventually, it will catch up to you, and the cost of large-scale repairs can be enormous.

Technical debt can pile up over time as the needs of constituents and agencies change. For example, in the 1990s, it was common to use a terminal session to connect to a mainframe system running an application like unemployment insurance benefits processing. Over time, pieces of the system might get attention, but the core engine continues to plod along, increasingly requiring IT departments to work in break/fix mode to keep the system up and running. As the recent scramble for retirement-age COBOL programmers showed, this piecemeal approach is not a recipe for long-term success.

I propose, instead, a strategy that embraces the cloud and reduces technical debt. It requires thinking in layers instead of silos, beginning with the end in mind, and focusing on the experience.

Some of us are “seasoned” (old!) enough to remember how systems were developed in the 1990s. A focus group was convened. Requirements were gathered and organized into three-ring binders. Then those binders were given to a development team.

After 12 to 18 months, that team would unveil the solution, typically a monolithic system residing in a data center and accessed via a terminal session or a client-server interface installed on a client PC. System access was through the data center, and the application was the interface.

That is a classic siloed system. These siloed systems were typically developed for a single organizational purpose and funded by one department or agency. Little, if any, attention was given to customer interactions, customer experience, or cross-departmental business processes.

Layers, not silos

It’s time to flip the paradigm. Instead of building an application to suit the department, let’s create a series of experiences that work for users. Each experience will have its own layer. One layer is for the customer experience (“customers” meaning citizens, residents, or other agencies). One is for the case agent (fulfiller, employee, contractor, or caseworker). We also need an integration layer (e.g., REST, SOAP, or API) and an “engine” layer containing business logic and core data.

Having at least the customer and fulfiller layers in the cloud will provide maximum accessibility, flexibility, and scalability — all critical to today’s distributed, remote workforce.

By thinking in layers, you begin to see opportunities to improve experiences. That allows you to extract those processes from the monolithic system and dramatically improve usability and satisfaction while avoiding an expensive “rip and replace” solution.

Focusing on the experiences and desired outcomes in the customer/citizen and fulfiller/case agent layers also encourages human-centered design, a methodology grounded in building business processes from the perspective of the person actually using the system.

Here’s a layer-by-layer description of how to provide great experiences while building on a platform that strategically eliminates technical debt.

Layer 1: Customer/citizen service experience

Every process should be as digital as possible from a citizen’s perspective, providing a ubiquitous search function and clear instructions. You should need to enter your information only once (name, address, etc.) and have it appear in all forms where it’s required.

There should be a portal that citizens can visit, on their schedule, to check the status of any request. Frequently asked questions and other recurring issues should be addressed upfront, via a knowledge base.

Bonus points if you have a chat capability that can handle natural language conversations to provide this information. You lose points if the citizen needs to call the agency for information or clarification. (Wizards, clear checklists, and breadcrumb navigation are all helpful.)

All interface designs should be mobile-first. Just being “mobile-friendly” doesn’t always work. Shrinking an entire desktop experience into a palm-sized screen is not a winning strategy.

Finally, the process must be paperless. Nowadays, most people don’t have printers in their homes. And printing a document to sign, scan, and upload on a website is not a digital process. You need to be able to complete, submit, sign, and route all documents digitally from your mobile device.

Layer 2: Fulfiller/service agent experience

Contact center and customer service agents frequently need to work in different systems for different communication channels. One system for taking calls. Another for emails. Yet another for interoffice task routing and approvals. And another system of record. These various applications have different interfaces, do not allow for seamless workflows, have limited visibility, and rob your agents of the ability to deliver consistent service to citizens and residents.

What’s needed is a single platform with omnichannel capabilities to bring all the different channels together. Such a platform must be cloud-based to accommodate today’s remote workforce. It should:

  • Recognize which emails and calls are from the same people about the same case
  • Automatically respond to common requests
  • Automatically notify customers when their requests move through the process or change status (e.g., receive approval or funding, get escalated, get flagged as an exception, etc.)
  • Allow customers to monitor the status of each of their requests

Having that citizen-facing portal allows your team to eliminate the repetitive work and stay focused on helping citizens during the moments that matter to them. The system should also highlight helpful information for case agents during their interactions with citizens. So, if there’s an outage or other problem that’s already being investigated, the case agent can inform the citizen and send a notice when work is completed.

In complicated cases involving people inside and outside your organization, the agent needs a way to track tasks, approvals, and communications via a single dashboard that is “automagically” updated as these internal and external interactions and communications occur.

Imagine citizen service agents helping people, instead of fighting with five different systems. Imagine having a single pane of glass to see active and resolved cases and quickly know what the team is working on. Reporting and compliance will be so much simpler and faster.

Layer 3: The “engine”

Your siloed system is probably built on a core engine that processes applications, calculates benefits, and stores official records. This engine can remain where it currently resides (either on-prem or in the cloud) while integrating with enhanced citizen and agent experience layers. When time and budget permit, these systems can be migrated to a single cloud platform, allowing you to reduce technical debt strategically over time.

Best of all: Once you peel the citizen and case agent layers away from your legacy platform toward a more modern one, no one will notice when you migrate the “engine” over! They’ll continue using the modernized system they already have.

Layer 4: Integrations

Of course, your agency’s newly layered system needs to integrate with systems from other departments and agencies. That’s why it’s important to build on a cloud-based platform with an ecosystem of partners and others that regularly provide new capabilities and integrations. Think of the value iPhone customers receive from the Apple Store, and how each iPhone app makes the underlying investment in the device’s platform more valuable.

Here’s the good news: You and your team can move from legacy systems to the cloud, with an unwavering focus on the citizen, the employee, and the IT experience that underpins all work. It’s not all-or-nothing, and it’s not rip-and-replace. Instead, it’s a strategy to uplevel experiences that can be completed over time.

Behind every great experience is a great workflow. You can build great experiences that help citizens get services through consistent, intelligent workflows built with their needs in mind.