В таких ситуациях, как ваша, 9 из 10 раз люди предлагают переписать, и они ошибаются.
Если вы не обладаете большими знаниями на уровне приложений о том, что делает система, вы не сможете переписать ее успешно, быстро.
Если система работает сегодня, но во многих отношениях она дрянная, и у вас есть заинтересованность руководства (они владеют программным обеспечением) для «исправления ошибок», то я полагаю, что поэтапный подход часто будет лучше, чем полный при перезаписи.
Я подозреваю, что база данных доставляет вам больше всего головной боли, так что это может быть лучшим местом для начала. Начните с понимания проблемы, которую она решает в настоящее время, и запишите ее. Если между программным обеспечением и базой данных нет слоя (кроме jdbc и т. П.), Добавьте слой. Когда есть слой, отделяющий БД от приложения, вам будет проще изменить БД (и слой), минимизируя влияние на приложение.
В какой-то момент вы будете счастливы с первым, что вы изменили. На этом этапе исправим какую-то другую часть. Повторяйте, пока система не станет «лучше».
Относительно риска: рисковать - это не плохо, но быть небрежным - ужасно. Понимать риски и планировать их снижение.