Sessions
GOTO Chicago 2020

Monday Apr 27
11:00 –
11:40
Room 3
Tuesday Apr 28
11:00 –
11:40
Room 3
Wednesday Apr 29
11:00 –
11:40
Room 1
Wednesday Apr 29
14:30 –
15:10
Room 1

Prioritizing Technical Debt as if Time and Money Matters

Many codebases contain code that is overly complicated, hard to understand and hence expensive to change and evolve. Prioritizing technical debt is a hard problem as modern systems might have millions of lines of code and multiple development teams — no-one has a holistic overview. In addition, there's always a trade-off between improving existing code versus adding new features so we need to use our time wisely. So what if we could mine the collective intelligence of all contributing programmers and start to make decisions based on information from how the organization actually works with the code?

In this presentation you'll see how easily obtained version-control data let you uncover the behavior and patterns of the development organization. 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.

What will the audience learn from this talk?

  • Prioritize technical debt in large-scale systems.
  • Balance the trade-off between improving existing code versus adding new features.
  • Learn to measure long time trends in technical debt.

Does it feature code examples and/or live coding? The talk features some code examples, but no live coding.

Prerequisite attendee experience level: Level 300

programming
teams
backend
frontend
Organized by