SofiaTho836
New member
Я долго считал технический долг чем-то вроде рабочей рутины: что-то написал криво, потом аккуратно починил, когда будет время. Но практика показала, что этот долг ведёт себя как кредит — пока ты его не замечаешь, всё спокойно, а потом приходят проценты в виде деградации команды и скорости разработки.
Нажать чтобы Перейти на сайт
Однажды у меня был проект, где логика была размазана по десяткам мест, и каждая новая фича занимала втрое дольше, чем должна была. Я потратил пару недель на рефакторинг без единой новой функции — и в итоге сдалось всё, что откладывал последние месяцы.
При этом я сталкивался и с противоположной ошибкой. Команда увлеклась чисткой кода до начала работы над главной задачей продукта: месяцы ушли на улучшения, которые никто не просил. Пользователи не заметили разницы, а поставку сдвинули. С тех пор я разделяю долг на два вида: тот, что мешает зарабатывать, и тот, который просто не эстетичен.
Для меня появились простые ориентиры. Рефакторинг действительно нужен, когда на один и тот же баг приходится возвращаться снова и снова, когда на незнакомую задачу новичок уходит в неделю вместо дня, а релиз перестаёт быть событием, а начинает быть риском. Если код не мешает — сначала деньги, потом красота.
Узнать подробнее →
Ещё один вывод: рефакторинг без границ превращается в бесконечный процесс. Поэтому я выделяю на него небольшой постоянный процент времени — буквально десять процентов спринта, — чтобы долг не рос экспоненциально, но и не съедал продукт.
Расскажите: вы сталкивались с моментом, когда долг был явным, но рефакторинг всё равно откладывали? Или, наоборот, чистка кода так затянула вас, что пострадал сам продукт? Что сработало у вас — правила, тайминг или что-то другое?
По теме советую почитать: Личный бренд ИТ-специалиста: как я привлекаю клиентов
Однажды у меня был проект, где логика была размазана по десяткам мест, и каждая новая фича занимала втрое дольше, чем должна была. Я потратил пару недель на рефакторинг без единой новой функции — и в итоге сдалось всё, что откладывал последние месяцы.
При этом я сталкивался и с противоположной ошибкой. Команда увлеклась чисткой кода до начала работы над главной задачей продукта: месяцы ушли на улучшения, которые никто не просил. Пользователи не заметили разницы, а поставку сдвинули. С тех пор я разделяю долг на два вида: тот, что мешает зарабатывать, и тот, который просто не эстетичен.
Для меня появились простые ориентиры. Рефакторинг действительно нужен, когда на один и тот же баг приходится возвращаться снова и снова, когда на незнакомую задачу новичок уходит в неделю вместо дня, а релиз перестаёт быть событием, а начинает быть риском. Если код не мешает — сначала деньги, потом красота.
Ещё один вывод: рефакторинг без границ превращается в бесконечный процесс. Поэтому я выделяю на него небольшой постоянный процент времени — буквально десять процентов спринта, — чтобы долг не рос экспоненциально, но и не съедал продукт.
Расскажите: вы сталкивались с моментом, когда долг был явным, но рефакторинг всё равно откладывали? Или, наоборот, чистка кода так затянула вас, что пострадал сам продукт? Что сработало у вас — правила, тайминг или что-то другое?