2016-05-19

Applications and architecture are usually the primary source of technical debt in an IT organization. Application sprawl  and code complexity are major parts of inefficiency and IT latency in any organization; lack of enterprise and architecture governance paired with a lack of discipline around code development will just add to development and maintenance costs. This in turn inhibits speed and weakens your software quality.

We can start to get a picture of how technical debt can majorly inhibit an organization’s ability to quickly respond to business needs. If your code quality is poor and your processes are slow (due to application sprawl and code complexity), and you have multiple or incompatible architecture stacks the inefficiencies associated to your software can only increase.

These inefficiencies that can be found in applications and architecture have another nasty side effect on infrastructure. When you have application sprawl and high application complexity a larger infrastructure footprint is needed – this means higher costs on all fronts. What we are ultimately talking about here is a system with high levels of technical debt and what this results in is less resilient operation that has increased risk for security issues and system failure.

The scenario we have drawn out above creates an extremely difficult environment for application teams. This leads us to the an often overlooked factor when dealing with technical debt: the impact that people and processes have on their tech debt. If your team has a skill set that is out of date or is working on legacy operations that aren’t keeping pace with digital advances in the industry, the debt your application has will only exponentially increase.

So how do you deal with your technical debt if you find it’s reached untenable heights?

To get your debt under control it is critical that you set up a baseline. This metric should be identified and tracked so as to measure the impact that debt is having, at any given time, on your codebase. For example, you may start tracking the number of days it takes for you to fix code or you may measure the percentage of code that meets certain industry standards (i.e. CISQ standards). There are also automated tools available that look at code coverage, quality, and complexity – tools like this can help you reduce your overall IT debt.

When dealing with technical debt in a fast-paced IT landscape, it is necessary that those involved directly with the software are constantly staying vigilant to the quality and performance of their  project. This often has much to do with how much technical debt there is present, so having a measure for it is imperative.

Show more