Короткий ответ
Не начинаю с большого рефакторинга. Строю реестр долга, оцениваю риск и связь с бизнес-планом, немедленно выделяю end-of-life и риски данных, а остальное разбиваю на независимые шаги, которые можно поставлять рядом с фичами.
Как это работает подробнее
Устаревший Kubernetes без security-патчей и дублирование Terraform-кода имеют разный профиль риска. Приоритизация по вероятность × влияние не позволяет простым косметическим задачам вытеснить сложные, но критичные обновления.
- Отдельный проект. Мажорное обновление платформы требует staging, критериев готовности, окна, коммуникации и отката.
- Постепенная работа. Ручные ресурсы импортируют и общий модуль вводят по одному сервису, ограничивая blast radius.
- Компенсирующие меры. До полного исправления применяют дополнительные backup, мониторинг, ограничения доступа или заморозку опасных изменений.
Что использовать на практике
- Портфель. Для каждого элемента указать владельца, риск, зависимые цели, effort, deadline и следующий проверяемый шаг.
- Дорожная карта. Согласовать milestones, при которых риск уже снижается, даже если вся программа ещё не завершена.
- Аргументация. Сравнивать плановую стоимость с вероятным простоем, аварийным обновлением и задержкой будущих фич.
Подводные камни
- Остановка фич. Многомесячный «спринт техдолга» трудно защитить и сложно безопасно откатить.
- Лёгкие победы. Закрытие простых задач улучшает счётчик backlog, но может не уменьшить главный риск платформы.
- Нет измерения. Без метрик инцидентов, change failure rate и времени поставки нельзя доказать эффект через квартал.