From October 25 to November 28, 2021 I ran a survey exploring issues around technical debt which received 166 responses. Of the respondents, 28% were non-management, 37% were project managers, and 35% were senior managers. In the survey we used the following definition:
Technical debt refers to the concept of an imperfect technical implication, typically the result of a trade-off made between the benefit of short-term delivery and long-term value by a software development project team. Some people like to think of technical debt as the work you must do tomorrow because you took a shortcut to deliver today. Like financial debt, technical debt is accrued over time, reduces your ability to act, and may need to be paid down in the future.
Here are my thoughts based on the survey results:
- Addressing technical debt isn't an organizational priority
- People personally belief that addressing technical debt is important
- Technical debt measurement needs to become more robust
- It is more common to take on technical debt accidentally than intentionally
- Technical debt is a management problem
Addressing Technical Debt Isn't an Organizational Priority
The survey included a question where people were asked to rank in order how they believed the importance of four issues are to their organization: Addressing technical debt, delivering on time/schedule, delivering on or under budget, and adding new functionality. Figure 1 summarizes which factor people believed was most important and which was least important and addressing technical debt faired poorly. Figure 2 explores differences in opinion between three groups - senior managers, project managers, and non-managers - about what is most important. Similarly, Figure 3 explores differences in opinion about what is least important.
Figure 1. Addressing technical debt is your organizations least important priority.
Figure 2. What is the most important priority for your organization's leadership?
Figure 3. What is the least important priority of your organization's leadership?
People Personally Believe Addressing Technical Debt is Important
The survey also included three questions that explored how people personally felt about how to prioritize addressing technical debt in comparison with other important management considerations. Figure 4 compares the way that people prioritize being on schedule versus addressing technical debt. Figure 5 compares the way that people prioritize being on budget versus addressing technical debt. Figure 6 compares the way that people prioritize delivering new functionality versus addressing technical debt.
Figure 4. Being on schedule vs. addressing technical debt.
Figure 5. Being on budget vs. addressing technical debt.
Figure 6. Adding new functionality vs. addressing technical debt.
Technical Debt Measurement Needs to Become More Robust
Figure 7 summarizes what forms of technical debt that organizations are measuring. Measuring technical debt in code is incredibly common because of the prevalence of tools and the fact that technical debt is often seen as a code issue. But as you see in Figure 7 there are many more opportunities to measure quality levels of various artifacts, but unfortunately not everyone is taking those opportunities. In Disciplined Agile (DA) we have two measurement-oriented process blades, Measure Outcomes and Organize Metrics that provide great insights for how to organize your metrics strategy.
Figure 7. Measuring technical debt.
Is Technical Debt Taken on Intentionally or Accidentally?
As Martin Fowler clearly points out with his Technical Debt Quadrant advice, you really want to take on technical debt intentionally. Intentional means that you take technical debt on in a prudent and deliberate manner where you understand the implications of doing so. Unfortunately, as you see in Figure 8, few organizations take on technical debt intentionally. This concerns me because it's a leading indicator that technical debt is getting out of control within organizations that aren't considering it intentionally.
Figure 8. Few organizations take on technical debt intentionally.
Technical Debt is a Management Problem
We asked several questions about how well people agreed with certain statements. First the good news:
- IT leadership generally understands technical debt. On average there was a positive view around the statement "Our IT leadership understands the implications of technical debt." While this doesn't surprise me, I was concerned that the results weren't more positively skewed for this statement.
- Many people believe they are empowered to act. On average there was a positive view around the statement "I am empowered to act appropriately regarding technical debt". While there is also a lot of room for improvement here, this is still good news.
- Project managers are neither helping nor harming, on average. There was neutral opinion around the statement "Our project managers understand the implications of technical debt." I choose to take this as a positive.
Now the bad news:
- Many organizations are struggling to address technical debt. There was slight disagreement around the statement "I believe that most technical debt in my organization is taken on intentionally with a realistic plan to address it later."
- Technical debt is negatively impacting many organizations. There was agreement around the statement "I believe technical debt reduces my organization’s ability to act."
- Few organizations have a strategy to deal with technical debt. There was disagreement around the statement "I believe my organization has an effective strategy in place to address technical debt."
- Business leadership often doesn't understand technical debt. There was disagreement around the statement "Our non-IT leadership understands the implications of technical debt."
I believe that if we are ever to address technical debt effectively then management understanding about technical debt, and management behavior around it, needs to shift. My recommendation is to choose to deal with technical debt while you still have the opportunity to do so.
Technical Debt Resources
- 11 Strategies for Dealing With Technical Debt
- Crushed By Technical Debt?
- Crushed by Technical Debt? (1 hour video, earn a PDU)
- The Spilled Juice Analogy for Technical Debt
- Technical Debt Quadrant (Martin Fowler)