Мартовский Код

Технический долг

Технический долг (tech debt) — это цена, которую бизнес платит за быстрые, но компромиссные технические решения. Как финансовый долг: взяли «кредит», чтобы выпустить продукт быстрее, теперь платите «проценты» — замедление разработки, баги, сложность изменений.

Техдолг накапливается по-разному. Осознанный: «Сделаем хардкод сейчас, чтобы запустить MVP за неделю, потом перепишем». Неосознанный: разработчик не знал лучшего решения. Битовый: требования изменились, а архитектура осталась старой. Все три вида нормальны — вопрос в том, управляете ли вы долгом.

Признаки критического техдолга: новые функции занимают в 3-5 раз больше времени, чем раньше. Баги появляются в неожиданных местах после простых изменений. Новые разработчики неделями разбираются в коде. Деплой превращается в стресс для всей команды.

Нулевой техдолг — утопия и ненужная цель. Бизнесу важно выпускать продукты быстро. Но запущенный долг блокирует развитие. Золотое правило: выделять 20% времени разработки на рефакторинг и уменьшение долга.

Главное

  • Цена за быстрые технические компромиссы
  • Замедляет разработку новых функций со временем
  • Бывает осознанным (MVP) и неосознанным (ошибки)
  • 20% времени на уменьшение долга — золотое правило
  • Нулевой долг не нужен — нужно управление долгом

Примеры

Стартап на MVP: захардкодили конфиг, скопировали код вместо абстракции — это нормально. Через год: добавить новый платёжный провайдер занимает месяц вместо дня, потому что логика оплаты размазана по 20 файлам. Легаси-система банка: новую функцию нельзя добавить без риска сломать старые — это критический техдолг.

Когда это нужно

Работать с техдолгом нужно, когда: скорость разработки упала в 2+ раза, каждое изменение порождает новые баги, команда боится трогать старый код, невозможно нанять разработчиков — все отказываются работать с легаси, бизнес хочет масштабироваться, а технологии не позволяют.

Связанные термины

Частые вопросы

Как измерить технический долг?

Прямых метрик нет, но есть косвенные: время на добавление новых фич (растёт?), количество багов после релиза (растёт?), время онбординга новых разработчиков. Инструменты статического анализа (SonarQube) показывают код-сигналы: дублирование, сложность, покрытие тестами.

Когда нужно переписывать систему с нуля?

Почти никогда. Полная переписка — это годы работы с непредсказуемым результатом. Лучше постепенный рефакторинг: заменяете модуль за модулем, не останавливая развитие продукта. Переписывать с нуля стоит, только если текущий стек принципиально не поддерживается (например, Flash).

Как объяснить техдолг заказчику?

Аналогия с ремонтом: вы можете клеить обои на кривые стены — быстро, но каждый следующий ремонт будет дороже. Или выровнять стены один раз — дольше сейчас, но проще потом. Покажите конкретику: «Эта задача занимает неделю вместо дня из-за техдолга».

Где это применяется

IT-консалтинг и цифровая стратегия

IT-консалтинг и аудит: карта IT-ландшафта с ценой каждой проблемы, выбор технологий и подрядчика, технический Due Diligence. Второе мнение по смете подрядчика — бесплатно за 48 часов, экспресс-аудит — от 260 000 ₽.

Как мы это делаем

Свяжитесь с нами напрямую

Напишите или позвоните — ответим в течение рабочего дня и поможем разобраться с задачей.

Обращаясь к нам через мессенджер, почту или по телефону, вы по собственной инициативе передаёте контактные данные для подготовки ответа на ваше обращение (п. 5 ч. 1 ст. 6 152-ФЗ). Подробнее — в Политике конфиденциальности.

Продолжите изучение

Читайте также

ПоддержкаУслуга

от 130 000 ₽ · 3–5 дней

Поддержка

Техническая поддержка сайта и ПО на подписке: дежурство по SLA, реакция на инциденты, багфиксы, обновления зависимостей и закрытые CVE, 10–40 часов доработок в месяц. Берём и чужой код — после аудита, даже если подрядчик пропал и документации нет. Standard — от 130 000 ₽/мес, типичный тариф работающего продукта — 325 000 ₽/мес с 20 часами. Аудит состояния проекта — бесплатно за 3–5 дней, до договора.

Подробнее
MVPГлоссарий

MVP

MVP — минимально жизнеспособный продукт для проверки гипотезы на реальных пользователях. Этапы создания, сроки, стоимость, примеры успешных стартапов.

Подробнее
CI/CDГлоссарий

CI/CD

CI/CD — непрерывная интеграция и доставка: автоматизация сборки, тестов, деплоя. Сокращает время релиза с дней до минут. GitLab CI, GitHub Actions, Jenkins.

Подробнее
Глоссарий

Рефакторинг

Рефакторинг — улучшение структуры кода без изменения поведения: упрощает поддержку, ускоряет фичи, снижает баги. Виды, паттерны, когда оправдан, метрики.

Подробнее