Living With Technical Debt: Acknowledge It, Specify It, Reduce It: Tim Gilboy

Опубликовано: 16 Октябрь 2024
на канале: PyCon UK
204
4

Technical debt is the elephant in the room: complex engineering problems meet awkward organizational issues. To make it more tangible, we'll divide it into 3 categories and discuss engineering and business strategies for each:

Gather info about vague issues.
Express antipatterns as code.
Automatically fix straightforward issues.

Summary

In this talk, we make tech debt more tangible by dividing it into 3 categories and showing strategies for each:

vague issues
antipatterns
fixable problems

In each category, we'll discuss not just the technical complexities, but also the business impact and the organizational challenges. We'll introduce several tools to mitigate the consequences and to eliminate parts of the tech debt.
Vague Issues: Acknowledge Them

Make it visible when working with the code.
Make it visible when taking business decisions.
Acknowledge the business impact: longer development time, higher probability of bugs.
Encourage open and constructive discussion.
Gather info about this specific issue and recognize general patterns.

Identify Antipatterns And Express Them As Code

General vs specific to your codebase: Not an either - or, but rather a continuum.
Express antipatterns as code.
Find similar issues across the whole code base.
Avoid adding even more debt of the same kind.

Automatically fix straightforward issues

If the antipattern can be codified, perhaps the fix can be codified as well.
Roll out fixes with large-scale changes.
Risks of large-scale changes.
Avoid re-adding the same kind of debt.


Is your proposal suitable for beginners? – yes


Tim Gilboy

Cofounder and COO of Sourcery. Helping to build tools to automatically improve code quality, cut down on tech debt, and help make everyone's code more Pythonic.


Reka
2021-2022: senior software engineer at Sourcery AI working on code quality tools
2015-2021: senior software engineer positions at fintech companies
2005 - now: various software engineer jobs