Технический долг
↑ 9.1 Team Lead и soft skills · ← Предыдущая · → Следующая
Зачем это на собесе
Лид должен уметь убеждать бизнес и управлять долгом: измерять, приоритизировать, встраивать в процесс.
Что это
Накопленные компромиссы, которые замедляют будущую разработку: быстрые решения, устаревшие библиотеки, отсутствие тестов, дублирование.
Виды (по Фаулеру)
| Осознанный | Неосознанный | |
|---|---|---|
| Осторожный | «Сдадим MVP и вернёмся» | «Теперь знаем, как надо было» |
| Безрассудный | «Нет времени на дизайн» | «Что такое слои?» |
Также: архитектурный, кодовый, тестовый, документационный, инфраструктурный (устаревшие зависимости, CI).
Как выявлять и измерять
- частые баги и hotspots в git (файлы с большим числом изменений и авторов);
- время на изменение в модуле, lead time;
- метрики: сложность, покрытие, размер файлов, дубли (SonarQube);
- опрос команды («где больнее всего»);
- устаревшие зависимости и CVE.
Как приоритизировать
Цена долга (время на обход в месяц, риск инцидентов, блок фич) против стоимости погашения. Матрица: влияние × усилия. Начинать с областей, в которых команда работает чаще всего.
Как гасить
- правило бойскаута: оставляй код чище;
- выделенный бюджет: 10–20% времени в спринте;
- рефакторинг вместе с фичей: трогаем модуль → приводим в порядок;
- strangler: постепенная замена по частям, а не «большой переписыв»;
- тесты перед рефакторингом (характеризационные);
- автоматизация: линтеры, codemod, Renovate.
Как говорить с бизнесом
Не «код плохой», а «каждая фича в модуле X стоит на 40% дороже; исправление за 3 недели вернёт эту разницу через 2 месяца». Язык денег, рисков и скорости поставки.
Чего избегать
- полный переписывание с нуля (риск, потеря знаний);
- долги без учёта (реестр с владельцами и сроками);
- «долг на потом» без плана.
Вопросы с ответами
Как убедить продакт-менеджера выделить время на техдолг?
Показать влияние в метриках и деньгах: скорость поставки, число инцидентов, время онбординга; предложить постоянную квоту и измеримые цели.
Когда допустим осознанный техдолг?
При жёстком дедлайне или проверке гипотезы, если он записан, с планом и сроком погашения и понятной ценой.