Берем кусок проекта, покрываем его функциональными тестами, рефакторим.... Суть в итоге всеравно та же что и для проектов с ООП: изоляция изменений, разделение жирных функций на менее жирные (особенно актуально разделить функции выдающие шматок HTML на выходе, что бы потом можно было легко интерировать систему шаблонов).
Ну а так от проекта зависит. Если нужно писать новый функционал, я бы еще обернул все это в HttpKernel симфоневский, и новый функционал писал бы уже на Symfony (если бюджет клиента позволяет, и если в этом есть смысл).