How Many CTOs?

How can businesses measure the impact of addressing technical debt?

Short answer

Businesses can measure the impact of addressing technical debt by tracking metrics such as project speed improvements and cycle time reduction. These metrics help demonstrate the tangible benefits of technical debt reduction to stakeholders.

Businesses can measure the impact of addressing technical debt by tracking metrics such as project speed improvements and cycle time reduction. These metrics help demonstrate the tangible benefits of technical debt reduction to stakeholders. By focusing on these measurable outcomes, companies can justify the investment in technical debt remediation to business partners and stakeholders.

Understanding the Complexity of Technical Debt

Technical debt is a pervasive issue in many organizations, often resulting from years of accumulated poor design choices and quick fixes. Scott described a scenario where a decade-old monolith system had become resistant to change due to tightly coupled components and poorly specified business requirements. This resistance to change can significantly slow down development processes, making even simple feature additions a lengthy endeavor. Scott shared an example from his time at Rover, where changing a constant in the system required navigating through 21 different dependencies, turning what seemed like a simple task into a two-month project ▶ 9:07.

The challenge lies in finding effective strategies to reduce technical debt without falling into the trap of a complete system rewrite, which is often impractical due to the extensive requirements embedded in legacy systems. Brad pointed out that the second system effect - the temptation to rewrite a system from scratch - can be highly risky and time-consuming. Instead, he suggested a more incremental approach, where teams rewrite individual components one at a time, allowing for more manageable and less disruptive changes ▶ 16:44.

Measuring the Impact of Technical Debt Reduction

To convince business stakeholders of the value of addressing technical debt, it's crucial to have clear metrics that demonstrate improvements. Scott emphasized the importance of having a metric that shows projects touching the refactored areas now go faster. This could be as simple as measuring the reduction in cycle time from idea to production or tracking the number of projects completed in a given timeframe ▶ 20:14.

Brad and Scott discussed the potential of using established metrics like Google's Dora metrics, which include cycle time and lead time for changes, to quantify the benefits of technical debt reduction. These metrics provide a framework for assessing how quickly code moves from commit to production, offering a tangible measure of development speed improvements. However, they acknowledged the difficulty in controlling for scope and ensuring that all teams are using consistent processes and metrics ▶ 20:41.

Overcoming Organizational Challenges

One of the significant challenges in addressing technical debt is securing the necessary buy-in from business stakeholders. Brad highlighted the need for a financial argument to support ongoing investment in technical debt reduction. By framing the maintenance of code as akin to maintaining physical infrastructure, such as a factory, businesses can better understand the necessity of regular investment in their software systems. This approach can help justify allocating a portion of engineering resources to technical debt remediation as a standard practice, rather than an exceptional expense ▶ 34:19.

Scott shared an anecdote about a developer whose goal was to have more deleted lines of code than added lines, emphasizing the value of removing unnecessary code to reduce maintenance overhead. This mindset can be instrumental in managing technical debt by continuously pruning and refining the codebase to eliminate obsolete or redundant components ▶ 33:21.

The Long-Term Perspective

Addressing technical debt is not a quick fix but a long-term commitment that requires patience and discipline. Brad and Scott discussed the importance of setting realistic expectations with business stakeholders about the time and effort required to see tangible results. They acknowledged that while it might be challenging to justify the investment initially, demonstrating improvements in project speed and efficiency over time can help build trust and support for ongoing technical debt reduction efforts ▶ 40:37.

Ultimately, the key to successfully managing technical debt lies in adopting a strategic approach that balances immediate business needs with long-term system health. By focusing on measurable outcomes and maintaining open communication with stakeholders, businesses can effectively address technical debt and improve their overall software development processes.

In their words

Brad put it this way: "that's Scott Porat, and this is the How Many CTOs Does It Take podcast." ▶ 0:35. Brad put it this way: "but can i i guess i want to double check something or challenge something like i've i've been in that same play where it wasn't a monolith but it was" ▶ 6:41.