Как вариант можно начать или с оптимизации и разгребания самых тормозных кусков, бывает, особенно в самописных решениях, что 90% всей нагрузки/времени выполнения приходится на 1-2 кривые функции вызывающихся на всех страницах. Я как-то рефакторил один самописный магазин, там самый ад был в построении меню из разделов каталога, где на каждый пункт перебиралась вся база в четырех вложенных циклах.
Еще можно начать с просто подробного комментирования кода, с пояснениями почему этот странный кусок реализован именно так, что передается, какие данные должны быть на выходе итп. В этом случае другим разработчикам будет проще подключиться к рефакторингу.