Вы имеете дело с техническим долгом здесь. Короче говоря, технический долг подразумевает проценты, которые вы должны платить со временем, и в какой-то момент вы должны вернуть их.
Время Develloper стоит денег, поэтому технический долг может рассматриваться как реальный долг и стоит реальных денег.
У вас есть два основных решения и множество промежуточных решений. Вы можете решить, что не хотите сейчас возвращать этот долг и продолжать платить проценты. Очевидно, что в долгосрочной перспективе это будет стоить дороже, но вы сможете получить результат прямо сейчас. Вы также можете выбрать возврат этого долга, так что вы больше не будете продвигаться вперед, пока не возместите его, но, в конце концов, вы свободны от процентов.
Обычно у вас есть крайние сроки доставки, и если вы пропустите крайний срок, это вызовет недоверие к вашему клиенту, и в конечном итоге вы потеряете его. Это может быть уважительной причиной для заискивания технического долга: вы считаете, что то, что вы получаете с клиентом, стоит за счет технического долга.
Вы знаете, что в конце концов, вам придется принять новую методологию, в противном случае вы будете получать все больше и больше долгов, и в конечном итоге вы обанкротитесь (теперь, когда люди решают начать все заново, или когда проект потерпел неудачу).
Вы должны спланировать, как вы будете изменять существующую кодовую базу и переходить к новой практике с течением времени, и распределять изменения по частям ежедневно. В какой-то момент, когда рефакторинг приведет к другим потерям, подумайте, какая потеря хуже, и выберите лучшую.
Стоимость не рефакторинга со временем будет расти (это интересы технокального долга). Так что это в конечном итоге станет самым дорогим выбором.
Будьте уверены, что ваш начальник понимает понятие технического долга. Даже с осторожностью вы будете создавать технические долги. В какой-то момент деньги так же будут использованы для его возврата. Когда вы целенаправленно создаете технический долг, вы ДОЛЖНЫ иметь вескую причину для этого и рассматривать долг как инвестицию (точно так же, как реальный долг). В любых других случаях, просто не делайте технический долг нарочно.
Вы можете быть заинтересованы в методологиях для развития БД и развертывания этих эволюций: http://richarddingwall.name/2011/02/09/the-road-to-automated-database-deployment
Кстати, это сложная задача, так что удачи. Это того стоит !