Scrum Agile Project Management

Prioritizing Technical Debt

This presentation explains how easily obtained version-control data lets you uncover the behavior and patterns of the development organization and manage technical debt. This language-neutral approach lets you prioritize the parts of your system that benefit the most from improvements so that you can balance short- and long-term goals guided by data.

The specific examples are from real-world codebases like Android, the Linux Kernel, .Net Core Runtime and more. This new perspective on software development will change how you view code. Prioritizing technical debt is a difficult issue as modern systems have millions of lines of code and multiple development teams — no one has a holistic overview. In addition, there is always a trade-off between improving existing code versus adding new features, so we need to use our time wisely. What if we could mine the collective intelligence of all contributing programmers and start making decisions based on information from how the organization actually works with the code?

Video producer: