9 reasons why you have technical debt and how to reduce it

As an IT leader, your job is to deliver solutions that reduce costs, transform the business, and increase revenue. Chances are, one of the biggest barriers your organization faces is technical debt.

Technical debt creates friction and can significantly delay the delivery of IT solutions. The result? Your IT team can’t deliver at the scale the business needs. IT leaders must tackle technical debt to meet business needs.

[ Also read: 5 technical debt lessons the pandemic taught IT leaders. ]

9 causes of technical debt

There are a number of factors that cause technical debt. Based on my experience, here are some of the predominant ones.

1. Executive guidelines to minimize costs

Companies operating on the edge of profitability or preparing to be sold tend to limit their IT investments. This forces IT to work with what they have, even if it means their systems lose maintenance and support.

2. Mergers & Acquisitions

When you take over a business, you get everything, including legacy systems, IT processes, and personnel. Often the acquired organization has a different philosophy and approach to IT; for example, a decentralized versus centralized approach to IT service delivery.

3. Business decisions

In an effort to quickly bring a solution to market, business stakeholders often make decisions that limit scope or force IT to take shortcuts.

4. Software/Architectural Decisions

Poor software/application architecture decisions require the solution to be adapted in the future. Applications are often overdeveloped, creating a “nuclear flyswatter” that is difficult to maintain and performs poorly.

[ Read also: What causes technical debt – and how to minimize it ]

5. Bad Software Choice Decisions

Packaged applications typically go through a software selection process. This process can be highly subjective and often overly focused on cost. A solution that is cheaper than its competitors can also be less flexible, unscalable and difficult to maintain.

6. Dated or Non-Existing Business Architecture

IT organizations need an enterprise architecture that defines the tools, technologies, and platforms used to deliver solutions. If this does not exist or is dated, there is no technical blueprint to follow.

7. Poor software quality

Poor code quality developed by an unskilled team can lead to refactoring. Developers are eager to use the latest tools and technologies, but don’t really understand how to build scalable solutions with them.

8. Bad software development process/life cycle

Lax software development teams make bad code. Software development methods have been developed to ensure the delivery of quality codes. The code should be reviewed to ensure it is of high quality and best practices are consistently followed.

9. Enterprise Resource Planning (ERP) customizations

ERP platforms offer a plethora of features and functionality. However, every ERP implements business processes that allow companies to tailor the platform to their business process. The challenge comes when organizations try to upgrade. Too many customizations can make it difficult to upgrade and expensive to maintain. The result is an outdated, maintenance-free ERP platform.

IT leaders must tackle technical debt to meet business needs.

Consequences of technical debt

Here are a few examples of how technical debt can affect an IT organization:

Increased delivery costs: IT takes longer to deliver solutions based on older tools, technologies and platforms. Development and testing takes longer and integration is more difficult.

Lost Revenue: When production systems fail, shipments are delayed, integration with suppliers is prevented, and customers are unable to place orders online. This damages relationships and organizations can quickly lose sales or even customers.

How to overcome technical debt?

Nearly every company has technical debt and it is generally not financially feasible to tackle all technical debt at once.

So how can you tackle technical debt as a CIO? Consider the following steps:

1. Identify

Carefully inventory your organization’s existing technical debt. You will need a comprehensive list to proceed to the next step.

2. Prioritize

Since it’s not financially viable to tackle technical debt all at once, the biggest risks need to be addressed first. Answering the following questions will help you prioritize:

  • What are the platforms or solutions that pose a security risk?
  • Which platforms or solutions put your partners, suppliers or customers at risk?
  • What are the platforms or solutions that significantly impact IT costs?

3. Define the future state

Be sure to define the technical environment of the future state. If not, you risk creating more technical debt by delivering solutions that aren’t on the target platform or technology stack.

4. Run

Once you’ve identified the high-priority items and the future state architecture, create a plan to execute and align with the company and executives. By tackling the high-risk items first, you can minimize the risk to the organization.

Technical debts don’t have to delay the delivery of IT solutions to your organization. Understanding where the technical debt is located can help you assess the risky items and implement a plan to address them.

[ Want more strategies for mitigating technical debt? Download the free ebook: Technical debt: The IT leader’s essential guide. ]

Leave a Comment