Technical Debt – it plagues all IT systems; large and small, public and private. It can severely limit the speed at which new functionalities can be implemented while raising the price. Although the term was born regarding badly constructed software, Technical Debt has expanded in scope to incorporate the entire technology infrastructure as it affects performance, increases risk and inhibits an organization from being competitive.
The History of Technical Debt
Ward Cunningham is credited with coining the phrase “technical debt” in 1992 to describe the costs of making design choices aimed at getting the product delivered promptly. His argument was such that the repairs and maintenance that would need to be performed on the product later was in a sense, a debt. The time ‘saved’ during development would later have to be repaid, sometimes with interest. The popularity of the phrase can be linked with how it allows IT to communicate to the business side the importance of initial quality in financial terms that they can understand.
Technical Debt in the Real World
The concept, of robbing Peter to pay Paul extends beyond just the technical world. We live this concept daily in many aspects of our lives. Normal things you don’t think about like signing up for a cheap cable package only to be locked in when the price skyrockets or leasing a car without reading (or negotiating) the minuscule number of miles you are allowed each year before big incurring fees all follow the same pattern as technical debt. You’ll receive a short-term benefit, for a long-term, larger than normal cost. Ensuring you are mindful of these types of scenarios and can understand the short-term and long-term benefits as well as how they even each other out is important.
Chaos to Clarity
We see technical debt in so many businesses that it often creates chaos and derails productivity, never allowing a company to reach its full potential. We see these patterns so frequently in companies that have brought us on board to “fix” things that we have developed a narrative around it that we refer to as our “chaos to clarity story". Technical debt creates chaos in a company. Knowing how to look for it and how to rectify it, while being as productive and efficient as possible, takes a certain level of expertise that we have developed as seasoned consultants – and that brings clarity to their IT and business. Only then are companies able to fulfill their potential and control their destiny.
Technical debt can hurt IT and your business in several ways:
- The product that you deliver will be objectively sub-par and could reflect poorly on your team.
- Software that has gone through many additions and fixes will require increasing amounts of time and testing to maintain its current usability.
- Products might lose the ability to become scalable to other requirements.
- Code becomes more and more likely to fail as developers struggle with excessively complex code.
It is not just applications that can suffer from technical debt. Physical IT solutions as large as data centers and as small as cable runs can all accrue technical debt. For example, while it may be easier in the moment to set up a new network switch with unlabeled connections, any work on the switch in the future will be much more labor intensive. Every aspect of your IT solutions should be looked at from every angle to try and analyze how much, if any, technical debt will be accrued.
So, what can be done? Understanding that you have technical debt is the easy part. Part of the challenge of ‘paying off’ the debt is it is only partly technical. It requires discussing the problems with management and constructing a plan not only for this instance of technical debt but a plan for all future possible occurrences. Some things to focus on are:
- Communication – taking extra effort to communicate with every level of technician and manager involved can help decrease the likelihood that this sort of technical debt will happen again.
- Establish a plan – discuss what you and your team will do to address the debt as well as how the debt was incurred originally. Work to create a plan that will allow you to catch the debt before it happens.
- Elevation – removing technical debt must always be enforceable by executive policy as demands for new functionality will often override the current objectives of repairing the current solution.
Technical debt is tricky to remove and even trickier to understand. It requires coordination and planning to avoid and can pile up quickly without noticing. As a part of your business, it should be something that IT is aware of at the least.
For strategies on how you and your business can remain technical debt free, please contact us!