Four steps for tackling technical debt
Technical debt is often misunderstood, but it can impact almost every aspect of a tech stack.
Technical debt comes in all shapes and sizes, from large monolithic systems to infrastructure with no automation to fragile applications with high code toxicity to duplicated capabilities and data throughout the enterprise architecture. If left unchecked, the debt will pile up, slowing down companies and costing them greatly. Zhamak Dehghani, principal consultant at ThoughtWorks, provides a four-step strategy for eliminating this costly debt within your organization.
Highlights from Dehghani’s presentation include:
One common avenue to creating technical debt is through the lense of optimizing locally. Many engineering teams decide to optimize for the feature they are currently building without regard for the future. Instead, they should balance the desire to optimize locally with the need to optimize globally to avoid future technical debt that is hard to fix. (02:32)
There are four pragmatic techniques that can be used to solve for technical debt, regardless of how it manifests itself within an organization. These techniques fall under the buckets of metrics, process, technology, and leadership. Most importantly, though, teams can’t tackle technical debt without empathy for both developers and customers. (07:13)
Technology is advancing so quickly that something built just two years ago could be considered “legacy.” Companies would be wise to begin to re-imagine their products as a digital API platform, wherein the APIs connect the data to the capabilities. This would allow them to hide the complexity so developers can then clean house and chip away at the technical debt. This is called a domain-driven design approach. (13:52)
You can see Dehghani’s complete presentation in the video above.