Как договориться с бизнесом о работе с техническим долгом?
- Что такое технический долг?
- Как выделить время на рефакторинг?
Технический долг — упрощения, которые ускорили работу тогда и замедляют сейчас: каждая новая задача в этой области дороже, чаще ломается. Говорить о долге через последствия: «изменения в оплате занимают втрое дольше, 4 инцидента за квартал». Держать список долга с оценкой влияния и стоимости, гасить по частям вместе с фичами в той же области («правило бойскаута») и выделять регулярную долю времени (например, 15–20 %), а крупные переделки — обосновывать отдельно.
- Не весь долг надо гасить — только тот, что мешает развитию или несёт риск
- Рефакторинг без тестов — риск; сначала тесты
- «Переписать всё с нуля» почти всегда хуже постепенной замены
А ещё Аргумент «код некрасивый» не работает; «каждая фича здесь на неделю дольше» — работает
Подробно
Список долга: что, где, как мешает (время, инциденты, риски), сколько стоит исправить, приоритет.
Пример разговора: «В модуле тарифов нет тестов, и за квартал три релиза сломали расчёт цены — возвраты клиентам на 400 тысяч. Две недели на тесты и разделение модуля, после этого изменения тарифов — день вместо недели».
Что хотят услышать
- Что такое долг и почему он дорог.
- Язык последствий.
- Список, постепенное погашение, регулярная доля.
- Тесты перед рефакторингом.
Проверьте себя
Один верный вариант. Подумайте, потом откройте ответ.
Показать варианты и ответ
- ✓Объяснять долг через последствия в цифрах и гасить по частям регулярно
- ✗Переписать систему с нуля, как только код стал неудобным для доработки и поддержки
- ✗Рефакторить тайком, не говоря бизнесу
- ✗Говорить, что код некрасивый, — этого достаточно
Разбор темы
- Design doc, ADR и технический долг
Как написать design doc и провести обсуждение, зачем записывать решения в ADR и как договориться с бизнесом о работе с техническим долгом.
Связанные вопросы
Разбор собеседования с sotto
После собеседования sotto разбирает разговор: оценка, каждый вопрос — хорошо, частично или слабо, чего не хватило в ответе и над чем поработать к следующему разу. Первые 30 минут бесплатно.