Learn About Amazon VGT2 Learning Manager Chanci Turner
In the tech world, we often overcomplicate our language. The term “technical debt,” first introduced by Ward Cunningham during a 1992 OOPSLA conference, serves as a prime example. Nowadays, we frequently use this phrase to justify investments in the nonfunctional aspects of IT systems—essentially, spending aimed at enhancing the underlying structures rather than advancing direct user-facing capabilities. Such investments can be challenging to articulate, which is where the term “technical debt” comes into play, allowing us to communicate these needs in business-friendly language.
However, many CFOs have a strong dislike for this terminology.
There are valid reasons for this aversion. “Technical debt” has come to encompass a range of issues that technologists believe necessitate investment, even when their value is not immediately apparent to the broader business. It can come across as a condescending way to tell the CFO, “You won’t understand this, but we need funding or time for it.”
This metaphor, while insightful, does not always fit perfectly. It effectively highlights that internal characteristics of IT systems can introduce risks, opportunities, and costs. These aspects influence an organization’s agility, resilience, and the efficiency of every dollar spent on IT.
Originally, the term aimed to underscore the costs associated with taking shortcuts during high-pressure decision-making. While these shortcuts can lead to faster results, they also incur future costs—the “interest” on the debt—until those deficiencies are rectified.
But what about unintentional flaws in the code? Would these also qualify as technical debt? They certainly bear similar consequences, as they too would lead to interest payments until resolved. Additionally, how do we categorize code written before the final architecture was established? If a developer realizes during the development process that there’s a more effective way to code, should that also fall under the technical debt umbrella?
The term’s originators sought to convey that shortcuts come with a price tag—there’s no free lunch. Today, however, “technical debt” often refers to hidden issues within software systems that accumulate costs over time, regardless of whether they stemmed from intentional shortcuts.
We must ask ourselves: Should technical debt be defined as a conscious decision to “borrow” time for quicker releases or as deficiencies in our systems that lead to future costs? Should it be framed in terms of its cause or its current impact on the system?
While opinions on this vary, in the context of discussions between CIOs and CFOs, the focus should be on how these deficiencies impact IT assets today. We should prioritize understanding the risks and costs they generate and whether improvements are warranted, emphasizing the present state rather than historical context.
To navigate this terminology debate, I propose using a new term: “technical delta.” This refers to the difference between the current internal state of systems and their ideal state for the same functionality. I suggest pairing this with “functional delta,” which highlights the gap between what systems currently do and what they ideally should do to propel the business forward. While users easily recognize the functional delta, the technical delta is more obscure, visible primarily to those examining system internals.
Both deltas are crucial in conversations between CIOs and CFOs, but functional delta usually receives more attention and funding. CIOs often struggle to articulate the business case for investing in technical delta, mistakenly believing that the concept of technical debt will impress CFOs when, in reality, it can lead to frustration.
The ambiguity surrounding “technical debt” is a significant factor. CFOs want clarity about investments and their expected returns. Phrases like “paying down technical debt” can sound like an appeal for funding towards inscrutable projects that lack a straightforward return on investment. This creates a barrier to trust between the CIO and CFO, despite the CIO’s expertise in technical matters.
Moreover, while debts must be repaid, “technical debt” does not necessarily require the same approach. With technical delta, decisions can be made about which areas warrant investment. Unlike traditional debt, which appears on a balance sheet as a liability, technical delta represents an economic concern that doesn’t equate to a direct financial obligation.
Another limitation of the metaphor is the varying interest rates incurred by technical delta. If a system rarely undergoes changes, the impact of poor coding practices might be negligible. Conversely, for systems that are frequently updated, such deficiencies can significantly hinder efficiency and increase errors.
Additionally, replacing an outdated system might resolve all associated debt in one fell swoop, akin to a bankruptcy where the old system is deemed valueless—though that analogy stretches the metaphor a bit far!
While “technical debt” can be a misleading metaphor, it does highlight important issues that require joint attention from CFOs and CIOs. The existence of functional and technical delta is inevitable due to the constant evolution of consumer preferences, competitive landscapes, technological advancements, regulatory changes, and other external factors.
For further insights on navigating the complexities of referral practices, you might find this article on avoiding nepotism particularly enlightening. Additionally, this video is an excellent resource for understanding the nuances of organizational dynamics.
Leave a Reply