Как потратить 4 года и мешок денег на рефакторинг и ничего не запуститьОрганизация разработки

Доклад принят в программу конференции
Максим Чистяков
Ultimate Guitar

Хотел стать рок-звездой, но кто-то наступил на ухо. Поэтому последние 6 лет помогаю другим в стремлении "play it fucking loud".
Перевёл половозрелый, 18-летний проект Ultimate-Guitar из legacy-PHP4-спагетти в слоистый SOLID-совместимый монолит на Yii2 (и потом немного распилил на микросервисы), написал и поддерживаю REST API для самых популярных гитарных iOS/Android-приложений, советую, как катать сервис между дата-центрами, помогаю делать музыкальный мир чуточку лучше.

Тезисы

Итак, вам повезло - у вас большой проект с многолетней историей. Проблема в том, что многолетняя история - это чаще всего значит много legacy кода, на который стыдно смотреть и тяжело делать всё остальное. И вот в один прекрасный момент все понимают, что так жить больше нельзя и нужно (всё) менять. Здесь самое опасное - начать всё переписывать заново. Почему это плохо и к чему это привело у нас, в Ultimate Guitar, и будет посвящён этот доклад.

В докладе будет:
- разбор типичных ошибок, которые допускаются при рефакторинге;
- как "выйти " из затянувшегося рефакторинга;
- нехитрые техники и приёмы, которые используются в Ultimate Guitar для улучшения кодовой базы;
- как сделать так, чтобы программистам не приходилось "продавать" рефакторинг;
- как и когда выкатывать рефакторинг, чтобы не было всем (по-крайней мере большинству) мучительно больно$
- jMeter, Graylog, Pinba, Zabbix и прочие демоны, или как рефакторить бэкенд без $$.

Серебряной пули, которая спасёт всех, не будет. Но, возможно, кто-то всё-таки сможет совершать рефакторинг с минимальными потерями.

Фреймворки
,
Миграции данных
,
API
,
Платёжные системы, обработка платежей
,
PHP
,
Рефакторинг
,
Методы и техника разработки ПО
,
Непрерывное развертывание и деплой
,
Большие проекты/команды
,
Продуктовая разработка

Другие доклады секции Организация разработки