Jeremy Treadwell
Human Experience 2.0
3 min readApr 13, 2020

--

COVID-19’s Impact On Technical Debt

Brief Summary:

  • COBOL (common business-oriented language) created in the 1960s
  • There are over 220 billion lines of COBOL in use today, 60 million in use by the U.S. Government (State and Federal)
  • Implement Test Driven Development (TDD) to test system-wide performance and capacity.
  • Create a service continuity plan to manage known risks of all systems
  • Create a technical debt registry to manage and continuously resolve system updates over time without disrupting service availability.

CNN business released an article recently entitled “Wanted urgently: People who know a half-century-old computer language so states can process unemployment claims”. The report highlights that the New Jersey Governor has an open call for COBOL developers to help their unemployment system process the massive amount of requests. Currently, thousands of claims are still pending due to the limitations of the system.

Systems that rely on antiquated technology is often referred to as technical debt, which is the work to modernize system components that either limit system performance or that can no longer be supported by its creator. This work is often deprioritized or de-scoped from technology modernization projects as is usually cost-prohibitive and occasionally viewed as a security benefit due to its obscurity. Technical debt accumulates and demands payment in full.

COBOL, which stands for Common Business-Oriented Language was the foundation of many American infrastructure systems such as banking as 95% of ATMs relies on COBOL code. A product of the 1960s and a predecessor to Java, C, and others, COBOL had become the preferred programming language for commercial data processing.

The Governors of Kansas, Connecticut, and New Jersey have vocalized their overloaded mainframes and their need for developers to support the 40-year-old system. This type of thing only happens when the “If it ain’t broke, don’t fix it” adage is applied to technology. Systems must be continuously updated, managed, and tested for performance limits with contingency plans in the event of a disaster.

So, what to do about it you ask?

Stress Test your Infrastructure

Stress testing allows system administrators to see how much, in this case, how many unemployment claims can be processed in a window and how the system responds. With that data, engineers can develop systems to batch processing or other processes to manage an extreme situation.

This approach is derived from Test Driven Development (TDD) where scripts are formulated to test the performance of a system as it is being constructed to ensure any disaster can be managed.

Create a service continuity plan

The creation of a service continuity plan, frequently from the results of the stress testing can provide coverage in the event the known system limits are exceeded. This provides for emergency developers and a standard operating procedure for each type of outage that might occur.

The objective is to improve an organization’s resilience to major incidents ensuring that critical systems and services do not fail and that in the event of failure systems are recovered as quickly as possible.

Create a technical debt registry and include items in current development projects. When reviewing systems for new enablements, the project team when assessing the level of effort (LoE) and the scope of the project should always include some portion of the known technical debt. This approach will ensure that systems in use will be resilient to threats from overloading and security. The creation of a technical debt register allows for debt to be managed and filtered by priority and LoE so that adding to any current enablement project is seamless and ensures the debt is accounted for and resolved.

Technical debt is essentially incurring 100% APR on a $1 bill. It’s unfortunate that this tech platform still is in operation today and that we have so many critical systems relying on its capacity to perform. I believe that COVID-19 has caused a lot of problems to surface and many businesses have suffered due to the unfortunate events but the problem has been exacerbated by antiquated systems that rely on 40–50-year-old technology. If businesses included their technical debt items in their risk management when testing capacity and disaster plans then the underlying infrastructure would be safe and everyone would have processed unemployment claims by now. If you are or know any COBOL developers, please visit https://forms.business.nj.gov/tech/ to volunteer to support the state and our government during this time of need.

--

--

Jeremy Treadwell
Human Experience 2.0

Futurist | Product Evangelist | CX Leader | Data Rights Advocate