As an IT leader, you are tasked with delivering solutions that reduce costs, transform the business, and drive revenue. Chances are, one of the biggest hindrances your organization faces is technical debt.
Technical debt causes friction and can significantly slow the delivery of IT solutions. The result? Your IT team can’t deliver at the scale the business requires. IT leaders must address technical debt in order to meet the needs of the business.
[ 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 directives to minimize costs
Companies that are operating on the brink of profitability or preparing to be sold typically limit their IT investment. This forces IT to operate with what they have, even if it means their systems lose maintenance and support.
2. Mergers & acquisitions
When you acquire a company, you get everything, including aged systems, IT processes, and staff. Often, the acquired organization has a different philosophy and approach toward IT; for example, a decentralized vs centralized approach to IT service delivery.
3. Business decisions
In an effort to deliver a solution quickly to the market, business stakeholders often make decisions that limit the scope or force IT to take shortcuts.
4. Software/architectural decisions
Poor software/application architecture decisions will require the solution to be refactored in the future. Applications are often over-architected, creating a “nuclear flyswatter” that is difficult to maintain and performs poorly.
[ Read also: What causes technical debt – and how to minimize it ]
5. Poor software selection decisions
Packaged applications typically go through a software selection process. This process can be highly subjective and is often overly focused on cost. A solution that is lower in cost than the competitors may also be less flexible, unscalable, and difficult to maintain.
6. Dated or nonexistent enterprise architecture
IT organizations need an enterprise architecture that defines the tools, technologies, and platforms that are used to deliver solutions. If this is non-existent or dated, there is no technical blueprint to adhere to.
7. Poor software quality
Poor code quality developed by an unskilled team can result in refactoring. Developers are eager to use the latest tools and technologies but don’t truly understand how to build scalable solutions with them.
8. Poor software development process/lifecycle
Lax software development teams create poor code. Software development methods were developed to ensure quality code delivery. Code should be reviewed to ensure that it is high-quality and that best practices are consistently followed.
9. Enterprise resource planning (ERP) customizations
ERP platforms offer abundant features and functionality. However, each 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 costly to maintain. The result is an outdated, out-of-maintenance ERP platform.
Impacts of technical debt
Here are a few examples of how technical debt can impact an IT organization:
Increased delivery costs: It takes longer for IT to deliver solutions based on older tools, technologies, and platforms. Development and testing take longer and integration is more difficult.
Lost sales: When production systems are down, shipments are delayed, integration with vendors 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 address all the technical debt at once.
So how can you, as a CIO, address technical debt? Consider the following steps:
1. Identify
Carefully inventory your organization’s existing technical debt. You’ll need a comprehensive list in order to proceed to the next step.
2. Prioritize
Since it is not financially feasible to address technical debt all at once, the highest risks need to be addressed first. Answering the following questions will help you prioritize:
- What are the platforms or solutions that pose a security threat?
- What 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
Make sure to define the future state’s technical environment. If it is not, you risk creating more technical debt by delivering solutions that are not on the target platform or technology stack.
4. Execute
Once you’ve identified the high-priority items and the future state architecture, create a plan to execute and align with the business and executives. Addressing the high-value, high-risk items first helps you minimize risk to the organization.
Technical debt does not need to slow the delivery of IT solutions to your organization. If you understand where the technical debt is, you can assess the high-risk 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. ]