Писать хорошо структурированный, модульный, loose coupling / high cohesion код с комментариями, а не спагетти-месиво нагромождения.
Тогда Вы сможете за несколько секунд понять, что идет куда.
Если проект рельсо-ориентированный, то есть такая штука как mountable engine - очень сильно помогает.
Разбейте проект на такие монтируемые движки - не поверите, насколько сильно это упрощает жизнь, я без них вообще не представляю, как можно работать со сколько угодно крупными проектами, не прибегая к микросервисам.
Еще можно разбивать бизнес-логику на сервисы (Service Object pattern) - тоже помогает.